仅需15行代码,即可使⽤⼤模型进⾏问答并进⾏⾕歌联⽹搜索!
让我们的OpenAI api 联网搜索,以便于获取更加准确和实时性的答案,这可能是我们经常会遇到的⼀个需求。
为了实现这⼀⽬标,我们需要借助Serpapi提供的Google搜索API接⼝。
准备
1:OpenAI apikey
2:Serpapi(需要去Serpapi官网进行申请)
⾸先,我们需要在Serpapi官网上注册⼀个账户,并获取apikey。
然后像设置OpenAIAPIkey⼀样,将SerpapiAPIkey设置到环境变量⾥。
代码
import os
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.llms import OpenAI
from langchain.agents import AgentType
os.environ["OPENAI_API_KEY"] = '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'
os.environ["SERPAPI_API_KEY"] = 'd329aa9848c97a69d8ad344dddf28af5dd8ab50e7ea1aa6271cb8c1ee94f4417'
# 加载 OpenAI 模型
llm = OpenAI(temperature=0,max_tokens=2048)
# 加载 serpapi ⼯具
tools = load_tools(["serpapi"])
# ⼯具加载后都需要初始化,verbose 参数为 True,会打印全部的执⾏详情
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
# 运⾏ agent
agent.run("What's the date today? What great events have taken place today in history?")
运行以上代码,我们可以看到,他正确的返回了日期(有时差),并且返回了历史上的今天。
直接把上面的两个API的KEY换成我们提前准备好的即可。
(前提是你的电脑需要有python环境,并且安装了相应的依赖)
值得注意的是,chain和agent对象上都有⼀个⾮常有⽤的参数,那就是verbose参数。开启他后我们可以看到完整的chain执行过程,他将我们的问题拆分成了几个步骤,然后⼀步⼀步得到最终的答案。
总结
使用AI技术能极⼤地提⾼我们的工作效率,无论是处理⼤量的信息,还是解决复杂的问题,AI都能为我们提供很大的帮助。
但是同时,我们也需要注意,AI技术并不是万能的,它依然需要我们不断地学习和掌握,才能真正地发挥其价值。
LangChain提供的功能还有很多,比如你还可以根据需求进行自定义配置等等,更多的强⼤功能等待你去探索。