第二章:环境搭建
本节课手把手教你搭建开发环境,包括Python安装、DeepAgents及各模型SDK的配置,让你从零开始跑通第一个Agent。
2.1 安装 DeepAgents
1 | # 基础安装 |
支持的模型提供商:
| 提供商 | 模型字符串示例 | 安装命令 |
|---|---|---|
| OpenAI | "openai:gpt-4o" | pip install langchain-openai |
| Anthropic | "anthropic:claude-sonnet-4-6" | pip install langchain-anthropic |
"google_genai:gemini-2.5-flash" | pip install langchain-google-genai | |
| Azure OpenAI | "azure_openai:gpt-4o" | pip install langchain-openai |
| Ollama(本地) | "ollama:llama3" | pip install langchain-ollama |
| OpenRouter | "openrouter:anthropic/claude-sonnet-4-6" | pip install langchain-openrouter |
| 百炼(千问) | 见下方国内模型接入 | pip install langchain-openai |
2.2 API Key 配置
1 | # 选择你使用的模型厂商,设置对应的环境变量 |
在 Python 中设置(也可以):
1 | import os |
Windows 用户注意:用 PowerShell 设置环境变量:
1 | $env:OPENAI_API_KEY = "sk-..." |
2.3 第一个 Agent
1 | from deepagents import create_deep_agent |
发生了什么?
- 你传入了一个用户消息:”北京今天天气怎么样?”
- Agent 自动识别需要调用
get_weather工具 - 调用工具获得结果
- 基于工具结果生成自然语言回答
对比传统 Web 开发:这就像你写了一个 API,但不需要手动写路由、控制器、中间件 — 框架帮你把”理解请求 → 选择处理函数 → 执行 → 返回结果”的流程自动化了。
2.4 三种模型配置方式
DeepAgents 支持三种方式指定模型,灵活度递增:
方式一:简单字符串(推荐新手)
1 | agent = create_deep_agent(model="openai:gpt-4o") |
方式二:init_chat_model(需要自定义参数)
1 | from langchain.chat_models import init_chat_model |
方式三:直接模型类(最灵活)
1 | from langchain_openai import ChatOpenAI |
连接韧性:模型默认自动重试失败请求(指数退避),默认 6 次重试。对于不稳定网络,建议 max_retries=10-15。
2.5 国内模型接入(百炼/千问)
国内厂商(如阿里百炼、DeepSeek、智谱等)大多提供 OpenAI 兼容接口,因此可以用 ChatOpenAI + 自定义 base_url 或 init_chat_model 接入,无需额外安装。
百炼(千问)接入示例
1 | import os |
关键点:核心就是 ChatOpenAI + base_url 参数,把请求从 OpenAI 官方端点”转发”到百炼端点。模型名、API Key 都用百炼的即可。
用 init_chat_model 接入百炼
如果你偏好 init_chat_model 的写法,也可以,关键是指定 model_provider="openai"(因为百炼走的是 OpenAI 兼容协议),然后传入 base_url 和 api_key:
1 | import os |
为什么
model_provider="openai"? 因为百炼的接口兼容 OpenAI 协议,init_chat_model底层会实例化ChatOpenAI,所以base_url、api_key等参数都能正确传递。
其他国内模型速查
| 厂商 | base_url | 模型名示例 |
|---|---|---|
| 阿里百炼 | https://dashscope.aliyuncs.com/compatible-mode/v1 | qwen-plus, qwen-max, qwen-turbo |
| DeepSeek | https://api.deepseek.com/v1 | deepseek-chat, deepseek-reasoner |
| 智谱 AI | https://open.bigmodel.cn/api/paas/v4 | glm-4-plus, glm-4-flash |
| 月之暗面 | https://api.moonshot.cn/v1 | moonshot-v1-8k, moonshot-v1-32k |
| 硅基流动 | https://api.siliconflow.cn/v1 | 各种开源模型 |
规律:只要厂商提供 OpenAI 兼容接口,就能用
ChatOpenAI(base_url=..., api_key=..., model=...)一行搞定,接入方式完全一样。
2.6 可观测性(LangSmith)
强烈建议开启 LangSmith 追踪,帮你调试 Agent 行为:
1 | export LANGSMITH_TRACING=true |
开启后,你可以在 LangSmith 控制台看到:
- 每次工具调用的输入和输出
- Agent 的决策过程
- Token 消耗统计
- 执行时间分布