LlamaIndex DashScopeEmbedding api介绍

介绍

在 DashScope 中,DashScopeEmbedding 是用于生成文本向量嵌入的模型组件

官网:
https://developers.llamaindex.ai/python/framework-api-reference/embeddings/dashscope/

但官网介绍的参数太少了

参数解释

model_name

指定嵌入模型名称,例如:

  • text-embedding-v1(通用文本嵌入模型)
  • text-embedding-v2(升级版,支持更长文本)

不同模型的最大输入长度(Token 限制)不同。

api_key

阿里云账号的 DashScope API 密钥,用于身份验证。

dimensions(可选)

自定义输出向量的维度(部分模型支持,如 text-embedding-v2 可指定 768/1024 等维度)。

input_type(可选)

输入文本类型,主要有两种常见取值:

  • "query":表示输入文本是“查询文本”(例如用户的问题、搜索关键词)。
  • "document":表示输入文本是“文档文本”(例如知识库中的段落、待检索的内容)。

作用原理

嵌入模型的核心是生成文本的向量表示,使得语义相似的文本在向量空间中距离更近。
通过指定 input_type,模型可以:

  1. 针对“查询”和“文档”的不同语义特点调整编码逻辑
  2. 让“查询向量”与“文档向量”在同一空间中更精准地匹配
  3. 提升后续检索(如 RAG 场景中“查询匹配文档”)的准确性

使用示例

from dashscope.text.embedding import Embedding

# 生成查询文本的嵌入(用户问题)
query_embedding = Embedding.call(
    model=Embedding.Models.text_embedding_v2,
    input="DashScope 如何计费?",
    input_type="query",  # 明确标记为查询
    api_key="你的API密钥"
)

# 生成文档文本的嵌入(知识库内容)
doc_embedding = Embedding.call(
    model=Embedding.Models.text_embedding_v2,
    input="DashScope 仅在模型推理成功时计费,按 token 或调用量计算。",
    input_type="document",  # 明确标记为文档
    api_key="你的API密钥"
)

注意事项

  • 若不指定 input_type,模型会默认按 document 处理。
  • 在检索场景(如 RAG)中,强烈建议区分设置:查询用 query,文档用 document,可显著提升匹配精度。
  • 部分模型可能仅支持特定的 input_type 取值,需参考官方文档确认。

简单说,input_type 就是告诉模型“这段文本是来提问的,还是来提供答案的”,帮助模型生成更贴合场景的向量。


原文出处:/show_1GW1uS5ZXLQx.html