虽然LLM本身就很强大,但当它们与其他知识或计算来源相连接时,就更强大了。本节强调了这些知识或计算的来源,并介绍了如何在LangChain中轻松使用它们。
有时,对于复杂的计算,与其让LLM直接生成答案,不如让LLM生成代码来计算答案,然后运行该代码来获得答案。为了轻松做到这一点,我们提供了一个简单的Python REPL来执行命令。这个接口只会返回被打印出来的东西--因此,如果你想用它来计算答案,一定要让它打印出答案。
让LLM生成bash命令,然后运行这些命令往往很有用。一个常见的用例是让LLM与你的本地文件系统互动。我们提供了一个简单的组件来执行bash命令。
网络包含了很多LLM无法访问的信息。为了让LLM轻松地与这些信息进行交互,我们提供了一个围绕Python Requests模块的封装器,它接收一个URL并从该URL中获取数据
这使用官方的谷歌搜索API来查询网络上的信息。
它使用Searx(SearxNG分叉)元搜索引擎API来查询网络上的信息。它支持139个搜索引擎,并易于自我托管,这使它成为有隐私意识的用户的一个好选择。
这使用SerpAPI,一个第三方搜索API引擎,与谷歌搜索互动
下面以google为例
import os
os.environ["GOOGLE_CSE_ID"] = ""
os.environ["GOOGLE_API_KEY"] = ""
from langchain.utilities import GoogleSearchAPIWrapper
search = GoogleSearchAPIWrapper()
search.run("Obama's first name?")