通过langchain框架实现模型联网搜索

介绍

这几天快过年了,所以玩点其他东西放松一下。
langchain框架时目前比较流行的一个大模型框架,该框架提供了大量组件,这些组件可以实现不同的功能。其中有agent组件,通过该组件可以实现调用大模型接口联网搜索。

思路

langchain框架提供了agent组件,因此实现该功能只需要调用相关函数即可。
具体来说就是通过将实例化的api模型和搜索接口作为参数传入agent中,输入问题即可。
这里使用的是千帆接口,首先需要实例化大模型。首先需要做的是将接口的appkey和secretkey添加到环境变量中,接着实例化大模型

os.environ['QIANFAN_AK']='yourak'
os.environ['QIANFAN_SK']='yoursk'
# 实例化大模型
llm = QianfanChatEndpoint()

加载工具

这里的工具主要是联网搜索工具,为了便于使用。使用的是ddg搜索接口(主要是免费),其次还有一些相关的工具。例如在联网搜索时通常会有些需要计算的问题,因此同时加载一个计算工具。将这两个工具传入agent组件,同时将实例化的大模型也传入agent组件中,

tools = load_tools(["ddg-search", "llm-math"], llm=llm)
agent=initialize_agent(tools,llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True)

这里选择的类型是zeroshot,简单来说zeroshot就是无示例。oneshot就是对于一个问题会给出一个回答的例子。
参数verbose是展示大模型的思考过程

实现对话

最后需要做的就是通过agent组件进行对话

from langchain import PromptTemplate
prompt_template = "世界人口是多少"
prompt = PromptTemplate.from_template(prompt_template)
print('prompt-->', prompt)
#代理Agent工作
agent.run(prompt)

结果(结果不一定准确,准确程度由大模型智能程度和搜索接口信息实时性决定):在这里插入图片描述

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值