AI产品狙击手

专注于大语言模型LLM,文生图模型Stable Diffusion, 视频生成模型等免费AI工具的分享和应用,助你掌握最前沿的AI技术

0%

AI智能体实现原理!LangChain版本!

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 安装依赖:pip install -qU "langchain"
# DeepSeek API Key 环境变量:export DEEPSEEK_API_KEY="xxx"

from langchain.agents import create_agent

# 1. 工具定义
def get_weather(city: str) -> str:
"""获取给定城市的当前天气信息。"""
# 模拟工具的实现
return f"{city}的天气总是晴朗的!"

# 2. Agent 组装
agent = create_agent(
model="deepseek-chat",
tools=[get_weather],
system_prompt="你是一个乐于助人的助手,可以查询天气。",
)

# 3. 运行 Agent
result = agent.invoke(
{"messages": [{"role": "user", "content": "珠海的天气怎么样"}]}
)

# 4. 打印输出
print("\n--- Agent 完整结果字典 (result) ---")
print(result)

final_output = None

# --- 解析逻辑:从 messages 列表获取最终回复 ---
if 'messages' in result and result['messages']:
# 获取消息列表中的最后一个消息对象
last_message = result['messages'][-1]

# 尝试从 LangChain 消息对象中提取 content 属性
if hasattr(last_message, 'content'):
final_output = last_message.content

# 后备:检查顶层 'output' 键
elif result.get("output"):
final_output = result.get("output")

print("\n--- Agent 最终输出 (从 messages 列表中提取) ---")
print(final_output)