import json
from datetime import datetime
from langchain_ollama import ChatOllama
from langchain_core.tools import tool
from langchain.agents import create_agent
# ------ 1. 定义工具
OLLAMA_URL = "http://localhost:11434"
@tool
def add_numbers(a: float, b: float) -> str:
"""计算两个数字的和"""
return str(a + b)
@tool
def get_current_time() -> str:
"""获取当前日期和时间"""
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
tools = [add_numbers, get_current_time]
# ------ 2. 初始化模型
llm = ChatOllama(
model="qwen2.5:7b",
base_url=OLLAMA_URL,
temperature=0,
)
# ------ 3. 创建并运行 Agent
agent = create_agent(model=llm, tools=tools)
# 使用流式输出查看模型思考过程
#for step in agent.stream({"messages": [("user", "123+456=? 现在几点?")]}):
#print(step)
# 非流式输出
result = agent.invoke({"messages": [("user", "123+456=? 现在几点?")]})
print(result['messages'][-1].content)
运行测试