当前位置: 首页 > news >正文

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()
http://www.jsqmd.com/news/88338/

相关文章:

  • 图的基础概念操作与遍历
  • 52、系统性能调优指南
  • Unity学习笔记(十七)GUI控件(一)
  • 台达DVPEH3系列PLC与欧姆龙E5CC温控器通讯及控制实现
  • 192KHz 双声道输入 24 位 AD 转换器国产品牌DP8340兼容CS5340
  • Origin科研绘图——手把手教你“分段拟合”
  • XPM与IP模式下FIFO的比较
  • 53、Linux 系统优化与命令行操作指南
  • Cameralink采集卡软件EspeedGrab使用讲解:3 保存采集参数
  • C#+VisionMaster 学习笔记(目录)-目录
  • 54、Linux命令行与软件管理全攻略
  • MySQL数据处理(增删改)
  • 电科毕设 stm32 wifi远程可视化与农业灌溉系统(源码+硬件+论文)
  • 55、Ubuntu 系统软件管理全攻略
  • 34、Bash脚本中的循环控制与故障排查
  • 2025年年终无人机吊运公司推荐:不同预算与项目规模下的性价比分析与5家服务商对比 - 品牌推荐
  • vue基于Spring Boot框架的在线音乐推荐排行榜网站_q46lgu0x
  • 摄影的光线运用
  • 56、Linux内核与模块管理全解析
  • 英语_阅读_CIMON 2_待读
  • 35、脚本开发中的故障排除、流程控制与参数处理
  • 一文搞懂CNN - LSTM - Attention回归预测:新手友好实战
  • 如何选择靠谱的无人机吊运服务商?2025年年终最新市场深度解析及5家实力公司推荐! - 品牌推荐
  • vue基于Spring Boot框架的学生干部选举管理系统的设计与实现_4q46dzc1
  • 26、GNOME开发中的实用组件与功能详解
  • Kubernetes Node 管理完全指南:从入门到生产实践
  • 27、GNOME开发:Druids、会话管理及Glade使用指南
  • Cameralink采集卡软件EspeedGrab使用讲解:4图像处理
  • Kubernetes RBAC 权限控制实战指南:从零开始掌握每个细节
  • 36、脚本编程中的参数、循环与数据处理