模块用法#
目前,QueryPipeline 中支持以下 LlamaIndex 模块。记住,你可以定义自己的模块!
LLM(完成和聊天)#
- 基类:
LLM
- 模块指南
- 如果是聊天模型
- 输入:
messages
。接受任何List[ChatMessage]
或任何可字符串化的输入。 - 输出:
output
。输出ChatResponse
(可字符串化) - 如果是完成模型
- 输入:
prompt
。接受任何可字符串化的输入。 - 输出:
output
。输出CompletionResponse
(可字符串化)
提示词#
- 基类:
PromptTemplate
- 模块指南
- 输入: 提示词模板变量。每个变量都可以是可字符串化的输入。
- 输出:
output
。输出格式化的提示词字符串 (可字符串化)
查询引擎#
- 基类:
BaseQueryEngine
- 模块指南
- 输入:
input
。接受任何可字符串化的输入。 - 输出:
output
。输出Response
(可字符串化)
查询转换器#
- 基类:
BaseQueryTransform
- 模块指南
- 输入:
query_str
,metadata
(可选)。query_str
是任何可字符串化的输入。 - 输出:
query_str
。输出字符串。
检索器#
- 基类:
BaseRetriever
- 模块指南
- 输入:
input
。接受任何可字符串化的输入。 - 输出:
output
。输出节点列表List[BaseNode]
。
输出解析器#
- 基类:
BaseOutputParser
- 模块指南
- 输入:
input
。接受任何可字符串化的输入。 - 输出:
output
。输出输出解析器应解析出的任何类型。
后处理器/重排序器#
- 基类:
BaseNodePostprocessor
- 模块指南
- 输入:
nodes
,query_str
(可选)。nodes
是List[BaseNode]
,query_str
是任何可字符串化的输入。 - 输出:
nodes
。输出节点列表List[BaseNode]
。
响应合成器#
- 基类:
BaseSynthesizer
- 模块指南
- 输入:
nodes
,query_str
。nodes
是List[BaseNode]
,query_str
是任何可字符串化的输入。 - 输出:
output
。输出Response
对象 (可字符串化)。
其他 QueryPipeline 对象#
你可以将 QueryPipeline
定义为另一个查询管道中的模块。这使你可以轻松地将复杂的流程串联起来。
自定义组件#
请参阅我们的自定义组件指南了解更多详情。