Shortcuts

Calculator

class agentlego.tools.Calculator(timeout=2, toolmeta=None)[source]

A calculator based on Python expression.

Parameters:
  • timeout (int) – The timeout value to interrupt calculation. Defaults to 2.

  • toolmeta (None | dict | ToolMeta) – The additional info of the tool. Defaults to None.

Default Tool Meta

  • name: Calculator

  • description: A calculator tool. The input must be a single Python expression and you cannot import packages. You can use functions in the math package without import.

  • inputs:

    • expression (str)

  • outputs:

    • str

Examples

Use the tool directly (without agent)

from agentlego.apis import load_tool

# load tool
tool = load_tool('Calculator')

# apply tool
tool('e ** cos(pi)')

With Lagent

from agentlego.apis import load_tool
from lagent import ReAct, GPTAPI, ActionExecutor

# load tools and build agent
# please set `OPENAI_API_KEY` in your environment variable.
tool = load_tool('Calculator').to_lagent()
agent = ReAct(GPTAPI(temperature=0.), action_executor=ActionExecutor([tool]))

# agent running with the tool.
ret = agent.chat(f'pi and 3.2, which is greater?')
for step in ret.inner_steps[1:]:
    print('------')
    print(step['content'])