Querying
概念解释
Querying(查询):在加载数据、构建索引并存储索引之后,查询是LLM应用中最重要的一部分。简单来说,查询就是向LLM发送一个提示(prompt),可以是提问并获得答案,请求摘要,或更复杂的指令。
QueryEngine(查询引擎):查询引擎是执行查询的基础。它负责从索引中检索相关文档,对检索到的节点进行后处理,并将查询、相关数据和提示组合发送给LLM以返回响应。
查询的基本步骤
查询过程包括三个主要阶段:
- Retrieval(检索):从索引中找到并返回与查询最相关的文档。最常见的检索类型是“top-k 语义检索”,但还有许多其他检索策略。
- Postprocessing(后处理):对检索到的节点进行可选的重新排序、转换或过滤。例如,要求节点具有特定的元数据(如关键词)。
- Response synthesis(响应合成):将查询、最相关的数据和提示组合并发送给LLM,以返回最终的响应。
获取查询引擎
最简单的方法是让索引为你创建一个查询引擎:
query_engine = index.as_query_engine()
response = query_engine.query(
"Write an email to the user given their background information."
)
print(response)
自定义查询阶段
LlamaIndex 提供了一个低层次的组合API,让你可以对查询过程进行细粒度控制。
示例代码:
from llama_index.core

最低0.47元/天 解锁文章
1343

被折叠的 条评论
为什么被折叠?



