入门指南
工具是代理程序用来与世界互动的函数。这些工具可以是通用工具(例如搜索)、其他链或甚至其他代理程序。
目前,可以使用以下代码片段加载工具:
from langchain.agents import load_tools
tool_names = [...]
tools = load_tools(tool_names)
某些工具(例如链、代理程序)可能需要一个基本的LLM来初始化它们。在这种情况下,你也可以传入一个LLM:
from langchain.agents import load_tools
tool_names = [...]
llm = ...
tools = load_tools(tool_names, llm=llm)
下面是所有支持的工具及相关信息的列表:
- 工具名称:LLM使用的工具名称。
- 工具描述:传递给LLM的工具描述。
- 备注:关于工具的备注,不传递给LLM。
- 需要LLM:此工具是否需要LLM进行初始化。
- (可选)额外参数:初始化此工具所需的额外参数。
工具列表
python_repl
- 工具名称:Python REPL
- 工具描述:Python的交互式解释器。用于执行Python命令。输入应为有效的Python命令。如果期望输出,则应打印出来。
- 备注:保持状态。
- 需要LLM:否
serpapi
- 工具名称:搜索
- 工具描述:一个搜索引擎。当你需要回答有关当前事件的问题时很有用。输入应为搜索查询。
- 备注:调用Serp API,然后解析结果。
- 需要LLM:否
wolfram-alpha
- 工具名称:Wolfram Alpha
- 工具描述:一个Wolfram Alpha搜索引擎。当你需要回答有关数学、科学、技术、文化、社会和日常生活的问题时很有用。输入应为搜索查询。
- 备注:调用Wolfram Alpha API,然后解析结果。
- 需要LLM:否
- 额外参数:
wolfram_alpha_appid
:Wolfram Alpha应用程序ID。
requests
- 工具名称:Requests
- 工具描述:访问互联网的门户。当你需要从网站获取特定内容时使用。输入应为特定的URL,输出将是该页面上的所有文本。
- 备注:使用Python的requests模块。
- 需要LLM:否
terminal
- 工具名称:Terminal
- 工具描述:在终端中执行命令。输入应为有效的命令,输出将是运行该命令时的任何输出。
- 备注:使用子进程执行命令。
- 需要LLM:否
pal-math
- 工具名称:PAL-MATH
- 工具描述:一个出色解决复杂文字数学问题的语言模型。输入
应为一个完整的复杂文字数学问题。
- 备注:基于这篇论文。
- 需要LLM:是
pal-colored-objects
- 工具名称:PAL-COLOR-OBJ
- 工具描述:一个出色的语言模型,可以推理对象的位置和颜色属性。输入应为一个完整的复杂推理问题,确保包含有关对象和您想要回答的最终问题的所有信息。
- 备注:基于这篇论文。
- 需要LLM:是
llm-math
- 工具名称:计算器
- 工具描述:用于回答有关数学的问题。
- 备注:
LLMMath
链的实例。 - 需要LLM:是
open-meteo-api
- 工具名称:Open Meteo API
- 工具描述:用于从OpenMeteo API获取天气信息。输入应为该API可回答的自然语言问题。
- 备注:与Open Meteo API(
https://api.open-meteo.com/
)的自然语言连接,特别是/v1/forecast
端点。 - 需要LLM:是
news-api
- 工具名称:News API
- 工具描述:当您想获取有关当前新闻头条的信息时,请使用此工具。输入应为该API可回答的自然语言问题。
- 备注:与News API(
https://newsapi.org
)的自然语言连接,特别是/v2/top-headlines
端点。 - 需要LLM:是
- 额外参数:
news_api_key
(用于访问此端点的API密钥)
tmdb-api
- 工具名称:TMDB API
- 工具描述:当您想从The Movie Database获取信息时,请使用此工具。输入应为该API可回答的自然语言问题。
- 备注:与TMDB API(
https://api.themoviedb.org/3
)的自然语言连接,特别是/search/movie
端点。 - 需要LLM:是
- 额外参数:
tmdb_bearer_token
(用于访问此端点的Bearer令牌-注意,这与API密钥不同)
google-search
- 工具名称:搜索
- 工具描述:Google搜索的封装。当你需要回答有关当前事件的问题时很有用。输入应为搜索查询。
- 备注:使用Google Custom Search API。
- 需要LLM:否
- 额外参数:
google_api_key
、google_cse_id
- 有关更多信息,请参阅此页面
searx-search
- 工具名称:搜索
- 工具描述:SearxNG元搜索引擎的封装。输入应
为搜索查询。
- 备注:SearxNG易于部署为自托管。它是一个对隐私友好的良好替代品Google搜索。使用SearxNG API。
- 需要LLM:否
- 额外参数:
searx_host
google-serper
- 工具名称:搜索
- 工具描述:低成本的Google搜索API。当你需要回答有关当前事件的问题时很有用。输入应为搜索查询。
- 备注:调用serper.dev的Google搜索API,然后解析结果。
- 需要LLM:否
- 额外参数:
serper_api_key
- 有关更多信息,请参阅此页面
wikipedia
- 工具名称:Wikipedia
- 工具描述:Wikipedia的封装。当你需要回答有关人物、地点、公司、历史事件或其他主题的一般问题时很有用。输入应为搜索查询。
- 备注:使用wikipedia Python包调用MediaWiki API,然后解析结果。
- 需要LLM:否
- 额外参数:
top_k_results
podcast-api
- 工具名称:Podcast API
- 工具描述:使用Listen Notes Podcast API搜索所有播客或剧集。输入应为该API可回答的自然语言问题。
- 备注:与Listen Notes Podcast API(
https://www.PodcastAPI.com
)的自然语言连接,特别是/search/
端点。 - 需要LLM:是
- 额外参数:
listen_api_key
(用于访问此端点的API密钥)
openweathermap-api
- 工具名称:OpenWeatherMap
- 工具描述:OpenWeatherMap API的封装。用于获取指定位置的当前天气信息。输入应为位置字符串(例如London,GB)。
- 备注:与OpenWeatherMap API(https://api.openweathermap.org)的连接,特别是
/data/2.5/weather
端点。 - 需要LLM:否
- 额外参数:
openweathermap_api_key
(用于访问此端点的API密钥)
sleep
- 工具名称:Sleep
- 工具描述:使代理程序休眠一段时间。
- 需要LLM:否