66 LlamaIndex中的路由器:使用LLM进行决策的强大模块

LlamaIndex中的路由器:使用LLM进行决策的强大模块

在LlamaIndex中,路由器(Routers)是一组模块,它们接收用户查询和一组由元数据定义的“选择”,并返回一个或多个选定的选择。路由器可以单独使用(作为“选择器模块”),也可以作为查询引擎或检索器使用(例如,在其他查询引擎/检索器之上)。

概念

路由器是简单但强大的模块,使用LLM进行决策。它们可以用于以下用例以及更多:

  • 从多样化的数据源中选择正确的数据源
  • 决定是进行总结(例如使用总结索引查询引擎)还是语义搜索(例如使用向量索引查询引擎)
  • 决定是否“尝试”一堆选择并组合结果(使用多路由功能)

核心路由器模块以以下形式存在:

  • LLM选择器:将选择作为文本转储放入提示中,并使用LLM文本完成端点进行决策
  • Pydantic选择器:将选择作为Pydantic模式传递给函数调用端点,并返回Pydantic对象

使用模式

作为查询引擎使用

以下是一个将路由器模块作为查询引擎一部分的简单示例:

from llama_index.core.query_engine import RouterQueryEngine
from llama_index.core.selectors import PydanticSingleSelector
from llama_index.core.tools import QueryEngineTool

list_tool = QueryEngineTool.from_defaults(
    query_engine=list_query_engine,
    description="Useful for summarization questions related to the data source",
)
vector_tool = QueryEngineTool.from_defaults(
    query_engine=vector_query_engine,
    description="Useful for retrieving specific context related to the data source",
)

query_engine = RouterQueryEngine(
    selector=PydanticSingleSelector.from_defaults(),
    query_engine_tools=[
        list_tool,
        vector_tool,
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值