模块用法#
目前,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 定义为另一个查询管道中的模块。这使你可以轻松地将复杂的流程串联起来。
自定义组件#
请参阅我们的自定义组件指南了解更多详情。