入门指南

工具是代理程序用来与世界互动的函数。这些工具可以是通用工具(例如搜索)、其他链或甚至其他代理程序。

目前,可以使用以下代码片段加载工具:

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
  • 工具描述:一个出色解决复杂文字数学问题的语言模型。输入

应为一个完整的复杂文字数学问题。

pal-colored-objects

  • 工具名称:PAL-COLOR-OBJ
  • 工具描述:一个出色的语言模型,可以推理对象的位置和颜色属性。输入应为一个完整的复杂推理问题,确保包含有关对象和您想要回答的最终问题的所有信息。
  • 备注:基于这篇论文open in new window
  • 需要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_keygoogle_cse_id
  • 有关更多信息,请参阅此页面

searx-search

  • 工具名称:搜索
  • 工具描述:SearxNG元搜索引擎的封装。输入应

为搜索查询。

  • 备注:SearxNG易于部署为自托管。它是一个对隐私友好的良好替代品Google搜索。使用SearxNG API。
  • 需要LLM:否
  • 额外参数:searx_host

google-serper

  • 工具名称:搜索
  • 工具描述:低成本的Google搜索API。当你需要回答有关当前事件的问题时很有用。输入应为搜索查询。
  • 备注:调用serper.devopen in new window的Google搜索API,然后解析结果。
  • 需要LLM:否
  • 额外参数:serper_api_key
  • 有关更多信息,请参阅此页面

wikipedia

  • 工具名称:Wikipedia
  • 工具描述:Wikipedia的封装。当你需要回答有关人物、地点、公司、历史事件或其他主题的一般问题时很有用。输入应为搜索查询。
  • 备注:使用wikipediaopen in new window 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:否
Last Updated:
Contributors: 刘强