news 2026/4/15 14:42:09

PythonREPL、Search API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PythonREPL、Search API

day30: 了解部分内置工具(PythonREPL、Search API)的作用

一、 Agent 一定要有「内置工具」的原因

一句话结论:

LLM ≠ 会做事,Tool 才是“手”

LLM 的天然短板:

能力问题
数学易算错
时间不知道现在
实时信息不知道
代码执行不能

👉 Tool 是在补 LLM 的“物理能力”


二、PythonREPL 工具(最重要的内置工具之一)

1. PythonREPL 是什么?

  • PythonREPL = Agent 可调用的 Python 运行环境

你可以把它理解为:

  • 一个受控的 exec()

  • 一个可以:

    • 计算
    • 处理数据
    • 跑简单脚本
    • 验证中间结果

2. PythonREPL 能解决什么问题?

❌ LLM 不擅长的事

27 * 43 / 19 的结果?

✅ Agent + PythonREPL

27 * 43 / 19

常见用途总结

用途示例
数学复杂计算
数据列表、dict 处理
验证推理中间结果
简单算法排序、统计

⚠️ 不适合:

  • 网络请求

  • 长时间任务

  • 高安全风险代码

3. 核心知识点(非常重要)

🔹 1. PythonREPL 是 Tool,不是 Notebook

LLM 用自然语言决定是否调用 Executor 真的执行 Python

🔹 2. LLM 写代码 ≠ 你写代码

LLM 写的 Python 往往是:

一次性 偏脚本 不优雅但能跑

👉 这是预期行为,不是 Bug

🔹 3. Tool 描述决定调用成功率

PythonREPL 的 description 会告诉 LLM:

“当你需要计算或执行 Python 时,用我”

4️⃣ 从 0 到 1 Demo:PythonREPL Agent
Step 0:安装依赖

langchain>=0.1.0
langchain-openai

fromlangchain_classic.agentsimportinitialize_agent,AgentTypefromlangchain_experimental.toolsimportPythonREPLToolfromlangchain_openaiimportChatOpenAI llm=ChatOpenAI(model="qwen-plus-latest",temperature=0,api_key="sk-Your-key",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",)python_tool=PythonREPLTool()tools=[python_tool]agent=initialize_agent(tools,llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True,handle_parsing_errors=True)defmain():res=agent.invoke({"计算 (127 * 39 - 58) / 13"})print(res["output"])if__name__=="__main__":main()# Observation: NameError("name 'py' is not defined")# Thought:The issue is that the tool expects only the raw Python expression, without any markdown code block syntax or "py" keyword. I'll input just the expression directly.## Action: Python_REPL# Action Input:# (127 * 39 - 58) / 13# Observation:# Thought:377.0# Final Answer: 377.0## > Finished chain.# 377.0

三、Search API(让 Agent 连接真实世界)

1. Search API 是什么?

  • Search API = Agent 可用的“外部信息获取工具”

解决的问题:

问题LLM
实时新闻
最新政策
实时价格
当前事件

2. LangChain 常见 Search Tool

Tool特点
TavilySearch官方推荐、简单
SerpAPI老牌、强
Bing / Google商用

👉 推荐学习阶段用 Tavily

3. Tavily Search 的核心认知

Tavily 是什么?

  • 专为 LLM 设计的搜索 API

返回的是:

精简摘要 可读文本 低噪声

Agent 使用方式

Thought: 我需要最新信息 Action: tavily_search Action Input: 查询内容 Observation: 搜索结果

4️⃣ 从 0 到 1 Demo:Search Agent

export TAVILY_API_KEY=your_key# 1. Tavily API Key 获取方法# 步骤:## 访问 Tavily 官网## 点击 "Get Started" 或 "Sign Up"## 注册账户(可能需要邮箱验证)## 登录后进入 Dashboard## 在 API Keys 部分生成新的 API Key## 通常有免费额度供试用
fromlangchain_classic.agentsimportinitialize_agent,AgentTypefromlangchain_openaiimportChatOpenAIfromlangchain_tavilyimportTavilySearch llm=ChatOpenAI(model="qwen-plus-latest",temperature=0,api_key="sk-YOURKEY",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",)search_tool=TavilySearch(k=3)tools=[search_tool]agent=initialize_agent(tools,llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True,handle_parsing_errors=True)defmain():res=agent.invoke({"2025 年诺贝尔和平奖是谁"})print(res["output"])if__name__=="__main__":main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 12:47:02

vue基于Spring Boot框架的药店药品线上购买管理系统_lo96r78o

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/4/7 18:16:22

vue基于Spring Boot框架的技术的网上购物商城系统开发商家_9ah8o18s

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/4/12 6:25:38

24、GNOME开发:声音、分数、窗口与界面组件详解

GNOME开发:声音、分数、窗口与界面组件详解 1. 声音处理 在GNOME应用程序中,有一个基础的API可用于将声音附加到事件上。在不支持声音的系统中,这些功能不会产生不良影响。但需要注意的是,虽然可以在应用中用声音装饰事件,但不要过度依赖声音来保证程序的可用性,因为有…

作者头像 李华
网站建设 2026/4/12 22:21:01

26、GNOME开发中的实用组件与功能详解

GNOME开发中的实用组件与功能详解 1. GnomeDateEdit组件 GnomeDateEdit 组件包含一个下拉日历和一个带有选项菜单的时间框。它有以下可用属性: - dateedit - flags :是以下选项的按位或操作。 - GNOME_DATE_EDIT_SHOW_TIME :除日期外还显示时间。在当前实现中,省略…

作者头像 李华
网站建设 2026/4/12 1:41:29

Octo论文详解

论文:Octo:An Open-Source Generalist Robot Policy 1. 引言 机器人领域构建“通用策略模型”面临多重挑战,包括处理不同的机器人结构、传感器设置、动作空间、任务规格和环境条件等,考虑设计和开发一个具备广泛适应性的机器人策略…

作者头像 李华