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

网站建设制作介绍河南陕西省住房城乡建设厅网站管理中心

网站建设制作介绍河南,陕西省住房城乡建设厅网站管理中心,设计软件网站制作网站建设,wordpress plugin 开发概述 ReAct 是一种基于Agent的聊天模式,构建在数据查询引擎之上。对于每次聊天交互,代理都会进入一个 ReAct 循环: 首先决定是否使用查询引擎工具并提出适当的输入 (可选)使用查询引擎工具并观察其输出 决定是否重复…

概述

ReAct 是一种基于Agent的聊天模式,构建在数据查询引擎之上。对于每次聊天交互,代理都会进入一个 ReAct 循环:

  • 首先决定是否使用查询引擎工具并提出适当的输入

  • (可选)使用查询引擎工具并观察其输出

  • 决定是否重复或给出最终答复

这种方法很灵活,因为它可以灵活地选择是否查询知识库,它是基于Agent来实现的。然而,表现也更依赖于LLM的质量。您可能需要进行更多强制,以确保它选择在正确的时间查询知识库,而不是产生幻觉答案。

实现逻辑

  1. 构建和使用本地大模型。这里使用的是gemma2这个模型,也可以配置其他的大模型。

  2. 从文档中构建索引

  3. 把索引转换成查询引擎:index.as_chat_engine,并设置chat_mode为react。

注意:我这里使用的是本地大模型gemm2,效果可能没有openai的好。

实现代码

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.ollama import Ollamalocal_model = "/opt/models/BAAI/bge-base-en-v1.5"# bge-base embedding model
Settings.embed_model = HuggingFaceEmbedding(model_name=local_model)
# ollama
Settings.llm = Ollama(model="gemma2", request_timeout=360.0)from llama_index.core import VectorStoreIndex, SimpleDirectoryReaderdata = SimpleDirectoryReader(input_dir="./data/paul_graham/").load_data()
index = VectorStoreIndex.from_documents(data)# 设置使用react模式
chat_engine = index.as_chat_engine(chat_mode="react", llm=Settings.llm, verbose=True)response = chat_engine.chat( "Use the tool to answer what did Paul Graham do in the summer of 1995?")

输出

从以下输出可以看到,不同大模型的输出不太相同。Agent通过查询引擎获取到了对应的索引和文本信息。

$ python chat_react.py 
> Running step 3e748b23-a1bb-4807-89f6-7bda3b418b86. Step input: Use the tool to answer what did Paul Graham do in the summer of 1995?
Thought: The current language of the user is: English. I need to use a tool to help me answer the question.
Action: query_engine_tool
Action Input: {'input': 'What did Paul Graham do in the summer of 1995?'}
Observation: He worked on his Lisp-based web server.  
​
> Running step 5f4592b6-f1d0-4fcf-8b03-a50d46641ef2. Step input: None
Thought: I can answer without using any more tools. I'll use the user's language to answer
Answer: In the summer of 1995, Paul Graham worked on his Lisp-based web server.

实现分析

从以下实现代码中可以看到,当聊天模式是REACT模式时,会创建一个AgentRunner,并把查询引擎作为工具放入Agent工具列表中。

  def as_chat_engine(self,chat_mode: ChatMode = ChatMode.BEST,llm: Optional[LLMType] = None,**kwargs: Any,) -> BaseChatEngine:    if chat_mode in [ChatMode.REACT, ChatMode.OPENAI, ChatMode.BEST]:# use an agent with query engine tool in these chat modes# NOTE: lazy importfrom llama_index.core.agent import AgentRunnerfrom llama_index.core.tools.query_engine import QueryEngineTool
​# convert query engine to toolquery_engine_tool = QueryEngineTool.from_defaults(query_engine=query_engine)
​return AgentRunner.from_llm(tools=[query_engine_tool],llm=llm,**kwargs,)

小结

通过REACT模式,会创建一个Agent,并把查询引擎作为工具放到该Agent中。然后,通过查询引擎的能力来查询想要的内容。

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

相关文章:

  • 做珠宝网站价格多少为什么要给大夫做网站
  • 手机网站设计的项目描述哈尔滨市工程建设网
  • 外贸网站建设推广方案网站网站如何做的充值
  • 传奇大气网站模板免费下载找谁做网站
  • 个人网站的建设参考文献网站建设怎么更换图片
  • 服装公司网站网页设计手机网站列表 教程
  • 怎么样用手机做网站关键词安康建设网站
  • 英语培训网站建设需求分析报告如何制作电子印章
  • 内蒙网站建设seo优化金站网.营销型网站
  • 网站建设费算广告费吗长沙有什么好玩的好吃的
  • php大型网站开发视频教程wordpress设置瀑布流
  • 阿里巴巴外贸网站登录商城网站支付端怎么做
  • 电子商务网站建设的核心是教育网站赏析
  • 网站域名分析誉铭摄影网站
  • 长沙做企业网站百度网站建设优化
  • 我是建造网站手机ftp传网站文件在哪里
  • 做的网站怎么让百度收录建设网站可选择的方案
  • 江西建设职业技术学院招生信息网站浙江搜索引擎优化
  • 私人做网站a免费的背景视频素材
  • 金华网站建设开发海外推广运营
  • 六安网站怎么做seo怎么在招聘网站做评估
  • js面向对象网站开发wordpress土豆
  • 邳州建设局网站泰州做房产的网站
  • 个人兼职网站制作传奇是网页游戏吗
  • 高德北斗导航seo网页优化工具
  • 网站建设邀标书预付网站制作费怎么做凭证
  • 网站搭建服务dede模板蓝色大气简洁企业网站模板
  • 网站建设及营销方案wordpress10万数据多大
  • pc端和移动端的网站wordpress主题logo
  • 北京手机建站模板做民宿哪家网站最好