本节将指导您配置运行 FirstAgentTest.py 所需的完整环境。该代码实现了一个智能旅行助手展示了基于工具调用的 Agent 实现模式。一、环境要求1.1 Python 版本要求Python 3.10推荐使用 Python 3.10 或更高版本支持的操作系统Windows、macOS、Linux1.2 目标代码说明我们的目标是成功运行项目code\chapter1\FirstAgentTest.py该代码实现了智能旅行助手功能天气查询工具基于 wttr.in API景点推荐工具基于 Tavily Search APIOpenAI 兼容的 LLM 调用ReAct 模式的 Agent 执行流程二、API 配置2.1 大语言模型 API 配置选项一AIHubmix API推荐AIHubmix 是一个位于美国特拉华州的 AI 模型聚合平台整合了市面上主流的大语言模型新发布的模型通常在一周内即可使用。该平台直接对接各大云服务商的原生 API如 OpenAI 通过 Azure、Anthropic 通过 AWS、Google 通过官方接口等采用美国 Google Cloud 的集群架构部署具备多节点负载均衡能力在稳定性和响应速度方面表现优异。平台提供的免费额度能够满足我们的学习需求。进入 AIHubmix 官网使用浏览器访问 AIHubmix 官方网站完成账户注册首次使用需要注册账户。点击右上角的注册按钮支持邮箱或手机号两种方式完成注册流程。浏览可用模型注册成功后访问模型中心查看所有可用模型。在筛选条件中选择免费标签即可查看平台提供的免费模型列表。建议选择coding-glm-4.7-freecoding-glm-4.7-free或其他兼容 OpenAI 格式的免费模型。获取 API 凭证前往API 密钥管理页面系统默认会生成一个可用的密钥。您也可以通过点击创建 Key按钮自定义密钥名称并生成新的密钥。请妥善保存以下配置信息API Key:your_api_keyBase URL:https://aihubmix.com/v1推荐模型:coding-glm-4.7-free选项二ModelScopeModelScope 是国内领先的大模型服务商提供高性价比的 API 服务。这里我们以Qwen为例您可以从ModelScope获取它提供Qwen系列的免费OpenAI兼容格式的API每天免费2000次调用。请确保您拥有一个正常注册且可使用的ModelScope账户。要生成您的私有 API KEY可以参考我们的图示。图中的SDK令牌就是我们的API KEY。请注意需要在模型服务先绑定阿里巴巴云账号 不然api会显示无法使用可选模型范围在ModelScope中的模型库中选择推理 API-Inference 里面的模型都可以选择我们可以体验到最新的使用DeepSeek-R1数据蒸馏出的Llama-70B模型。最终所需格式与AIHubmix的配置信息相同(KeyURL模型名称)2.2 Tavily Search API 配置Tavily 是一个专为 AI 应用设计的搜索 API用于景点推荐功能。访问 Tavily 平台打开浏览器访问 Tavily注册并获取 API 密钥注册账号在控制台获取 API Key记录 API Key:your_tavily_key三、Python 环境配置3.1 安装 Python如果未安装Windows 用户访问 Python 官网下载 Python 3.10 版本安装时勾选 Add Python to PATHmacOS 用户# 使用 Homebrew 安装 brew install python3.10Linux 用户# Ubuntu/Debian sudo apt update sudo apt install python3.10 python3.10-pip python3.10-venv # CentOS/RHEL sudo yum install python3.10 python3.10-pip3.2 验证 Python 安装python --version # 或 python3 --version确保显示 Python 3.10 或更高版本。四、项目环境配置4.1 创建虚拟环境推荐# 进入项目目录 cd hello-agents # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activate4.2 安装依赖包# 安装核心依赖 pip install requests2.31.0 pip install tavily-python0.3.0 pip install openai1.0.0 # 可选安装其他常用包 pip install python-dotenv1.0.04.3 环境变量配置方法一使用 .env 文件推荐在项目根目录创建.env文件# 在项目根目录创建 .env 文件 touch .env # Linux/macOS # 或在 Windows 中手动创建编辑.env文件添加以下内容# Tavily API 配置 TAVILY_API_KEYyour_tavily_api_key # 大语言模型 API 配置选择其中一种 # 选项一AIHubmix OPENAI_API_KEYyour_aihubmix_api_key OPENAI_BASE_URLhttps://aihubmix.com/v1 MODEL_NAMExxxx # 选项二Modelscope # OPENAI_API_KEYyour_modelscope_api_key # OPENAI_BASE_URLhttps://api-inference.modelscope.cn/v1/ # MODEL_NAMExxxx方法二系统环境变量以下为长期环境变量方案也可以在终端短期加载。Windows右键此电脑 → 属性 → 高级系统设置点击环境变量在用户变量中添加TAVILY_API_KEY:your_tavily_api_keymacOS/Linux# 编辑 ~/.bashrc 或 ~/.zshrc export TAVILY_API_KEYyour_tavily_api_key # 使配置生效 source ~/.bashrc五、代码配置5.1 修改 FirstAgentTest.py 配置打开code/chapter1/FirstAgentTest.py文件找到第 143-148 行的配置部分# --- 1. 配置LLM客户端 --- # 请根据您使用的服务将这里替换成对应的凭证和地址 API_KEY YOUR_API_KEY BASE_URL YOUR_BASE_URL MODEL_ID YOUR_MODEL_ID os.environ[TAVILY_API_KEY] YOUR_TAVILY_API_KEY替换为您的实际配置使用 AIHubmix 的配置示例API_KEY your_aihubmix_api_key BASE_URL https://aihubmix.com/v1 MODEL_ID coding-glm-4.7-free os.environ[TAVILY_API_KEY] your_tavily_api_key六、运行验证6.1 测试网络连接首先测试各个 API 的连通性# 测试天气 API import requests response requests.get(https://wttr.in/Beijing?formatj1) print(天气API状态:, response.status_code) # 测试 Tavily API from tavily import TavilyClient tavily TavilyClient(api_keyyour_tavily_key) try: result tavily.search(test, search_depthbasic) print(Tavily API 连接成功) except Exception as e: print(Tavily API 错误:, e)6.2 运行完整程序# 确保在正确目录 cd hello-agents\code\chapter1 # 运行程序 python FirstAgentTest.py6.3 预期输出程序成功运行时您应该看到类似以下的输出(SelfDemo)../chapter1 % python3 FirstAgentTest.py 用户输入: 你好请帮我查询一下今天北京的天气然后根据天气推荐一个合适的旅游景点。 --- 循环 1 --- 正在调用大语言模型... 大语言模型响应成功。 模型输出: Thought: 用户想要查询北京的天气并根据天气推荐景点。首先我需要调用 get_weather 工具来获取北京的实时天气情况。 Action: get_weather(city北京) Observation: 北京当前天气Sunny气温11摄氏度 --- 循环 2 --- 正在调用大语言模型... 大语言模型响应成功。 模型输出: Thought: 既然我已经获取了北京的天气是Sunny下一步是利用这些信息调用 get_attraction 工具来获取推荐景点。 Action: get_attraction(city北京, weatherSunny) Observation: 在北京阳光明媚的天气下故宫和长城是最值得一游的景点。这些地方历史悠久景色优美。 --- 循环 3 --- 正在调用大语言模型... 大语言模型响应成功。 模型输出: Thought: 我已经获得了北京的天气信息Sunny11摄氏度以及相应的景点推荐故宫和长城。现在我可以将这些信息整合起来回答用户的问题。 Action: Finish[北京今天的天气是晴朗气温11摄氏度。在这样的好天气下我推荐您去故宫或者长城游玩这两个地方历史悠久景色优美非常适合观光。] 任务完成最终答案: 北京今天的天气是晴朗气温11摄氏度。在这样的好天气下我推荐您去故宫或者长城游玩这两个地方历史悠久景色优美非常适合观光。七、常见问题排查7.1 依赖安装问题问题pip 安装速度慢解决方案使用国内镜像源# 临时使用清华镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests tavily-python openai # 永久配置镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple问题ModuleNotFoundError解决方案# 确认虚拟环境已激活 # 重新安装缺失的包 pip install requests tavily-python openai python-dotenv7.2 API 调用问题问题Tavily API 返回错误可能原因API Key 未正确设置API 额度用尽网络连接问题解决方案# 检查环境变量 import os print(TAVILY_API_KEY:, os.environ.get(TAVILY_API_KEY)) # 测试 API 连接 from tavily import TavilyClient client TavilyClient(api_keyyour_key) result client.search(test)十、总结完成环境配置后建议理解 FirstAgentTest.py 的代码结构尝试修改 System Prompt 观察效果添加新的工具函数实现更复杂的 Agent 逻辑按照本文档的步骤操作您应该能够成功运行智能旅行助手代码并理解基于工具调用的 Agent 实现原理。启动虚拟环境source /Users/xuzhicheng/hello_agent/SelfDemo/.venv/bin/activate解决问题实录1. brew install python3.10 终端卡住这是一个很常见的 Homebrew 问题。brew install默认会先运行brew update更新自身由于网络原因这一步经常会卡住或非常慢导致终端看起来像死机了一样。解决方法终止当前命令请在卡住的终端窗口中按Ctrl C组合键来强制停止当前的更新进程。跳过更新直接安装终止后使用以下命令来安装 Python 3.10添加HOMEBREW_NO_AUTO_UPDATE1环境变量可以跳过自动更新速度会快很多HOMEBREW_NO_AUTO_UPDATE1 brew install python3.10如果Ctrl C无法响应您也可以直接关闭该终端标签页然后新建一个终端运行上面的命令。