Files
SmartVoyage/_demo/function_call/agent.py

51 lines
1.0 KiB
Python
Raw Normal View History

2026-03-14 22:44:42 +08:00
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
from conf import settings
# todo: 第一步:定义工具函数
@tool
def add(a: int, b: int) -> int:
"""
将数字a与数字b相加
Args:
a: 第一个数字
b: 第二个数字
"""
return a + b
@tool
def multiply(a: int, b: int) -> int:
"""
将数字a与数字b相乘
Args:
a: 第一个数字
b: 第二个数字
"""
return a * b
# 加载工具
tools = [add, multiply]
# todo: 第二步:初始化模型
llm = ChatOpenAI(
base_url=settings.base_url,
api_key=settings.api_key,
model=settings.model_name,
temperature=0.1
)
# todo: 第三步创建Agent
agent = initialize_agent(
tools,
llm,
AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# todo: 第四步调用Agent
query = "2+1等于多少"
result = agent.invoke(query)
print(f'result: {result["output"]}')