当前位置: 首页 > news >正文

东莞附近的网络推手公司对于网站链接优化有哪些建议

东莞附近的网络推手公司,对于网站链接优化有哪些建议,wordpress固定链接 中文,wordpress 存储视频对于大模型,比如某些场景,需要数学计算,或者需要从某些网站获取参考资料,就必须使用专门的代理来完成任务。这里我们使用langchain提供的数学工具来实现一个最简单的例子,下一篇我们会讲如何自己实现代理。 首先创建一…

对于大模型,比如某些场景,需要数学计算,或者需要从某些网站获取参考资料,就必须使用专门的代理来完成任务。这里我们使用langchain提供的数学工具来实现一个最简单的例子,下一篇我们会讲如何自己实现代理。

首先创建一个对话模型,记得自己设置环境变量QIANFAN_AKQIANFAN_SK

from langchain_community.chat_models import QianfanChatEndpointchatModel = QianfanChatEndpoint(model='ERNIE-Bot',endpoint='completions'
)

组装代理

我们使用lc库提供的数学包LLMMathChain组装数学代理,负责数学相关的计算工作。这里简单解释一下代理的工作原理,不完全正确,但大概原理是没跑的:大模型在收到问题后,和工具的描述匹配一下,决定使用哪些工具。然后把问题理解后生成合适的参数调用工具并返回结果。这里面是个大黑盒,怎么理解和拆分问题并匹配工具都是由大模型自己决定的,你只能通过提示词给出参考。对于百度的千帆,测试中发现对于数学问题用英文提问比较好,如果是中文理解就问有问题,没法正确调用工具。

from langchain import LLMMathChain
from langchain.agents import AgentType, initialize_agent
from langchain.tools import BaseTool, Tool
from pydantic import BaseModel, Fieldtools = []class CalculatorInput(BaseModel):question: str = Field()llm_math_chain = LLMMathChain(llm=chatModel, verbose=True)tools.append(Tool.from_function(func=llm_math_chain.run,name='牛逼的计算器',description='用于回答数学问题',args_schema=CalculatorInput)
)# ZERO_SHOT_REACT_DESCRIPTION代表根据工具的描述进行选择
agent = initialize_agent(tools, chatModel, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)

 这里args_schema参数用于构造输入参数,CalculatorInut的写法参考pydantic的文档:pydantic · PyPI

提问

# 使用英文便于大模型理解
agent.run('What is the result of 5.85 raised to the 2.16 power?'
)"""输出
> Entering new AgentExecutor chain...This is a mathematical question that requires raising a number to a specific power.Action: 牛逼的计算器
Action Input: Calculate 5.85 raised to the power of 2.16> Entering new LLMMathChain chain...
Calculate 5.85 raised to the power of 2.16```text
5.85**2.16
```
...numexpr.evaluate("5.85**2.16")...Answer: 45.400085499141575
> Finished chain.Observation: Answer: 45.400085499141575
Thought:I now know the result of 5.85 raised to the 2.16 power.Final Answer: 5.85 raised to the 2.16 power is equal to 45.400085499141575.> Finished chain.
"""

代理是如何执行的?

前面我们在构造tool时,func参数设置为llm_math_chain.run。那么这个函数支持哪些参数,被调用时传进来的参数又是什么样的呢?一种方法是找源码,那个比较费事,我们可以inspect库提供的方法查看信息,然后自己在run函数外面包一层,就能看到想要看的信息了。

使用inspect函数查看信息,我们可以看到run有哪些参数和参数的默认值。

import inspectsig = inspect.signature(llm_math_chain.run)for name, para in sig.parameters.items():print(name, para.default)'''输出
args <class 'inspect._empty'>
callbacks None
tags None
metadata None
kwargs <class 'inspect._empty'>
'''

我们在这里只关心第一个参数args,我们自己定义一个函数打印传了什么参数进来。

from langchain import LLMMathChain
from langchain.tools import BaseTool, Tool
from pydantic import BaseModel, Fieldtools = []class CalculatorInput(BaseModel):question: str = Field()llm_math_chain = LLMMathChain(llm=chatModel, verbose=True)def my_math_func(*args):print('输入参数', args)return llm_math_chain.run(*args)tools.append(Tool.from_function(func=my_math_func,name='牛逼的计算器',description='用于回答数学问题',args_schema=CalculatorInput)
)'''
我们可以看到以下输出:Action: 牛逼的计算器Action Input: Calculate 5.85 raised to the 2.16 power.
输入参数 ('Calculate 5.85 raised to the 2.16 power.\n',)
'''

http://www.yayakq.cn/news/673639/

相关文章:

  • 网站页面优化方法百度指数使用方法
  • 公司建设网站需要什么电信网站备案查询系统
  • 什么网站做外贸最多的e语言可以做网站吗
  • 设计网站包含的功能模块静态网站提交表单怎么做
  • 基于微信公众平台的微网站开发南沙网站建设公司哪家好
  • 网站建设导向免费注册域名流程
  • 佳木斯建设工程交易中心网站php网站后台搭建
  • 网站建设和网站优化哪个更重要哪个网站可以查询即将到期的域名
  • 陕西省城乡和住房建设厅网站网上购物商城有哪些
  • 如何让做的网站自动适应浏览器惠州市网站建设企业
  • 打码网站如何建设cn域名网站
  • 网站建设推广代理公司域名查询平台
  • 怎么做网站推广多少钱淮北做网站公司
  • 如何把网站做的更好石家庄做网站和宣传的
  • 全能网站建设pdf临海市城市建设规划局网站
  • 百度刷自己网站的关键词谷歌sem服务商
  • 网站建设zvge青海西宁网页网站制作
  • 苏州建网站最简单的做网站工具
  • wordpress网站图片网站开发是干什么的
  • 做网站信科网站建设怎样让百度收取我的网站
  • 网站建设属营改增范围吗寻找锦州网站建设
  • 苏州网站建设完整微信商城怎么开通教程
  • 广西省建设注册管理网站wordpress 附件丢失
  • 交换机做网站四川省建设厅门户网站
  • 网络网站销售ip库网站源码
  • 响应式网站样式图怎么做网站建设设计公司 知乎
  • 高港做网站看男科花了一万多了
  • 网站建设策划书结束语北京商会网站建设
  • 哈尔滨专业建设网站设计荥阳市建设局网站
  • 工商做年报网站自己做个网站多少钱