LlamaIndex DashScopeEmbedding api介绍 作者:马育民 • 2025-09-22 21:06 • 阅读:10008 # 介绍 在 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 场景中“查询匹配文档”)的准确性 ### 使用示例 ```python 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` 就是告诉模型“这段文本是来提问的,还是来提供答案的”,帮助模型生成更贴合场景的向量。 原文出处:http://malaoshi.top/show_1GW1uS5ZXLQx.html