【hello-agent】环境配置
本节将指导您配置运行 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无法响应您也可以直接关闭该终端标签页然后新建一个终端运行上面的命令。

相关新闻

【ACM出版、郑州大学主办】第二届生物信息学与计算生物学国际学术会议(ISBCB 2026)

【ACM出版、郑州大学主办】第二届生物信息学与计算生物学国际学术会议(ISBCB 2026)

第二届生物信息学与计算生物学国际学术会议(ISBCB 2026)将于2026年4月17-19日在中国郑州召开。 生物信息学与计算生物学作为现代生命科学中不可或缺的重要组成部分,通过整合计算机科学、数学、统计学等多学科知识,推动了生物学领…

2026/7/4 20:50:59 阅读更多 →
CDN安全防护体系的完整构建指南

CDN安全防护体系的完整构建指南

# CDN安全防护体系的完整构建指南## 前言在数字化转型的浪潮中,CDN(内容分发网络)已成为现代网站架构中不可或缺的基础设施。它通过将内容分发到全球边缘节点,极大地提升了用户访问体验。然而,CDN 在带来性能优势的同时…

2026/5/17 1:02:56 阅读更多 →
并网逆变器VSG虚拟同步控制Matlab/Simulink仿真模型及其完全正确结果

并网逆变器VSG虚拟同步控制Matlab/Simulink仿真模型及其完全正确结果

并网逆变器VSG虚拟同步控制Matlab/simulink仿真模型 仿真结果完全正确 文件包涵: 1、仿真模型 2、模型说明word文档(仿真报告) 3、汇报答辩ppt最近在调一个并网逆变器VSG(虚拟同步发电机)的仿真模型,这东西…

2026/5/17 10:23:56 阅读更多 →

最新新闻

AI辅助工具如何提升毕业论文答辩效率

AI辅助工具如何提升毕业论文答辩效率

1. 毕业论文答辩AI辅助工具全景解析作为一名经历过三次学术答辩的老兵,我深知准备过程中的痛点:文献梳理耗时、问题预测不准、表达不够学术化。传统方式下,仅整理答辩问题就需要2-3周时间。而现在,AI工具已经能将这个流程压缩到3天…

2026/7/4 23:23:10 阅读更多 →
SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作 【免费下载链接】SysML-v2-Release The latest incremental release of SysML v2. Start here. 项目地址: https://gitcode.com/gh_mirrors/sy/SysML-v2-Release 当您面对复杂的系统工程时…

2026/7/4 23:23:10 阅读更多 →
如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…

2026/7/4 23:21:09 阅读更多 →
从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

1. 为什么需要转换TT100K数据集格式第一次接触TT100K数据集时,我完全被它复杂的目录结构和标注格式搞懵了。这个由清华大学和腾讯联合发布的交通标志数据集,包含了10万张图片和3万多个标注实例,但它的JSON标注格式和YOLO完全不兼容。当时为了…

2026/7/4 23:19:08 阅读更多 →
数据科学转行实战路径:问题驱动的认知构建法

数据科学转行实战路径:问题驱动的认知构建法

1. 这不是一张“通关地图”,而是一份我带过37个转行学员后画出的实战路标 数据科学学习路径——这个词听起来像一份标准化的课程表,但实际操作中,它更接近于在浓雾里徒步时手绘的地形草图:有标记、有涂改、有折痕,甚至…

2026/7/4 23:19:08 阅读更多 →
2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

1. 这不是科幻预告片,是普通人下周就该打开手机查的“技术天气预报”2026年4月这个时间点,听起来像科幻小说里随手写的年份,但如果你最近刷过几条国产大模型发布会的短视频,或者留意过身边朋友突然开始用“文心一言新版本”写周报…

2026/7/4 23:17:06 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻