You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Llama Index自定义嵌入:_get_query_embedding与_get_text_embedding的区别

Llama Index中_get_query_embedding与_get_text_embedding的本质区别

这两个方法是Llama Index嵌入系统中职责明确分离的核心接口,虽然示例里实现逻辑一致,但本质定位和设计意图完全不同:

核心职责差异

  • _get_text_embedding:专门处理知识库中的文档文本,在构建向量数据库阶段,所有待检索的段落、文档都会通过这个方法转换成向量并存储。它的目标是生成能精准代表文档内容特征的向量,为后续检索匹配提供基础。
  • _get_query_embedding:专门处理用户的查询文本,在检索阶段,用户输入的问题会通过这个方法转换成向量,再与数据库中的文档向量做相似度计算,找出最相关的内容。它的目标是生成能准确对应用户检索意图的向量。

设计意图:为什么要分开实现?

  • 适配模型特性:部分嵌入模型(尤其是检索优化类模型)会对查询和文档采用不同的编码逻辑——比如给查询添加特定指令前缀,或是用模型的不同分支进行编码。分开两个方法可以灵活适配这类模型的特殊需求。
  • 预留扩展空间:后续如果需要针对查询或文档做特殊处理(比如给查询添加引导意图的Prompt,给文档做长文本截断、分段处理),可以单独修改其中一个方法,不会影响另一个方法的逻辑。

示例中实现一致的原因

示例使用的Instructor模型本身支持通过统一的指令格式([指令, 文本])处理不同类型的输入,无论是文档还是查询,用相同的编码逻辑就能得到符合要求的向量。这是一种简化写法,不代表两个方法的本质职责相同。

内容的提问来源于stack exchange,提问作者Eisen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:32:47