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

网页设计与网站建设作品十大装修公司排行榜

网页设计与网站建设作品,十大装修公司排行榜,wordpress怎么做淘客网站,乔拓云网站建设Blog:Routing in RAG-Driven Applications ⭐⭐⭐⭐ 根据用户的查询意图,在 RAG 程序内部使用 “Routing the control flow” 可以帮助我们构建更实用强大的 RAG 程序。路由模块的关键实现就是一个 Router,它根据 user query 的查询意图&…

Blog:Routing in RAG-Driven Applications
⭐⭐⭐⭐

根据用户的查询意图,在 RAG 程序内部使用 “Routing the control flow” 可以帮助我们构建更实用强大的 RAG 程序。路由模块的关键实现就是一个 Router,它根据 user query 的查询意图,来将该请求的处理转发到多个下游 handlers 之一。

1. 不同的应用场景

1.1 路由到 data source

用户想进行交互的数据可能有多种来源,Query Router 可以用于根据 user query 路由到不同的 data source:

20240511194228

1.2 路由到不同的 component

还可以根据问题的性质,将 query 路由到不同的组件类型,比如可能交给 Agent 处理、Vector Store 处理或者直接由 LLM 处理:

20240511194735

1.3 路由到不同的 prompt template

可以根据 question 的不同来定制 prompt template:

20240511194845

1.4 小结

Router 在本质上就是我们可以用于控制 query control flow 的 “if / else” 语句,不过它的特点在于是基于自然语言输入来做出决策

很多 routing 的逻辑都是基于 LLM 或者 ML 算法,这些算法本质上是非确定性的,所以我们无法保证 router 总是能做出 100% 正确的选择。此外,我们也不太可能预测所有进入路由器的不同查询变体。但是,通过采用最佳实践和进行一些测试,我们可以使用路由器来帮助创建更强大的 RAG 应用程序。

2. Natural Language Routers

这里探讨一下由不同的第三方库所实现的 Natural Language Router:

  • LLM Completion Routers
  • LLM Function Calling Routers
  • Semantic Routers
  • Zero Shot Classification Routers
  • Language Classification Routers

2.1 LLM Completion Router

利用 LLM 的 Chat Completion 的功能,以对话的形式要求 LLM 从 prompt 中提供的一组单词或 topics 中选择一个来作为 routing 的结果。如下图的示例程序所示:

1715431892457

这种思路也是 LlamaIndex 的 LLM Selector router 的工作思路。

2.2 LLM Function Calling Router

这种方法利用 LLM 的 Function Calling 能力来选择 routing 的路线结果。在 LLM 函数调用中,将不同的 routing 路线设置为具有相应描述的函数,然后,根据向 LLM 传递的 query,它能够返回正确的函数(即路线)供我们使用。

这是 LlamaIndex 中的 Pydantic Router 的内部工作方式。

2.3 Semantic Router

这种路由器类型利用嵌入式表示和相似度搜索来选择最佳的 routing 方式。

每条路由都有一组与其相关联的示例查询,这些查询会做 embedding 并作为 vector 存储。将新来的 query 也进行 embedding,然后对其他来自 router 中的示例查询进行相似性搜索,与 query 匹配度最相近的 routing 路线将被选中。

Python 库 semantic-router 就实现了这一点,下图是官网的示例:

1715434301179

embedding 模型可以选择 OpenAI 提供的 encoder,其实也可以选用其他的 text embedding 模型。

由此,对于一个 user query,semantic_router 就可以将其分为 politics 或者 chitchat 两者之一的 routing 结果。

2.4 Zero Shot Classification Router

Zero Shot Classification 是 NLP 的一类 task,其中 model 在一组 labeled data 上训练后,能够对来自以前未见过的类的新示例进行分类。

在这里,我们的 router 可以利用 zero-shot classification 的 model 为一段 text 分配一个 label,这个 label 是 router 预先定义的标签集。

Haystack 的 ZeroShotTextRouter 就是利用的 Hugging Face 的 zero shot 分类模型来实现的 routing。

2.5 Language Classification Router

这类 router 可以识别出查询语言的语言种类,并根据语言种类对 query 进行路由。如果您的应用程序需要多语言解析能力,那么这种路由器就非常有用。

比如 Haystack 的 TextClassificationRouter 就是利用了 python 的 langdetect 库实现的检索文本的语言,该库本身使用朴素贝叶斯算法来检测语言种类。

2.6 Keyword Router

LlamaIndex 创始人的文章 Unifying LLM-powered QA Techniques with Routing Abstractions 中就提到了 keyword router,它会尝试通过在查询和路由列表之间匹配关键字来选择路由。

这种关键词路由器可以由LLM(语言模型)或其他关键词匹配库来识别关键词。目前未找到相关实现。

2.7 Logical Routers

这些逻辑检查会针对变量进行,比如字符串长度、文件名以及值的比较等,用于处理如何路由查询。它们与编程中常用的 if/else 条件非常相似。

换句话说,它们不是基于理解自然语言查询的意图,而是基于现有的、离散的变量来做出选择。

比如来自 Haystack 的 ConditionalRouter 和 FileTypeRouter。

3. 结论

router 作为基本的构建块,在 RAG 系统中可以发挥很大的作用,它可以将自然语言请求路由到你的应用程序的正确位置,以便尽可能地满足用户的查询需求。

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

相关文章:

  • 烟台市芝罘区住房和建设局网站潍坊网络营销招聘
  • 建设学校网站前的需求分析报告wordpress 文章换行
  • 网站分析 实例东营外贸型网站设计
  • 成都网站制作需要多少钱帮网站做关键词排名优化
  • 网站建设策划范文免费空间访问
  • php制作招聘网站快云助手网站建设视频
  • 计算机培训中心网站重庆网红景点洪崖洞已挤满游客
  • 阿里云网站简单建设网络营销就是网络推广对吗
  • wordpress影视采集网站做算法题网站
  • 未备案的网站 访问 hotswordpress js手工合并
  • 第一ppt模板网站网站制作公司crm客户管理系统
  • 网站搭建找谁wordpress 4.7.2安装
  • 网站访客qq获取系统 报价自建网站做跨境电商
  • 成品免费网站源码网站建设的市场定位分析
  • 做卡盟网站教程网站建设费属于服务类么
  • 国内net开发的网站建设广州平面设计
  • 如何自己做网站挣钱网页布局设计方式
  • 网站推广前景怎么样网站设计的规范
  • 一个空间做两个网站淘客网站seo怎么做
  • 汕头网站建设系统wordpress 主题 最简单
  • 调查网站做调查不容易过德庆网站建设
  • 别人的抖音网站是怎么做的网站备案和服务器备案
  • 电商网站建设策划书网站版式
  • 建站平台一键申请三方支付通道wordpress 死链检测
  • 建设一个中英文双版的网站优秀网站案例欣赏
  • 定制网站建设程序流程网站开发课程知识点总结
  • 衡水市网站建设集团网站怎么建设
  • 太仓住房与城乡建设局网站推荐做流程图的网站
  • 网站设计包括什么软件旅游公司网站难做吗
  • 网站app生成器什么叫网站优化