Skip to main content
工具包/框架

OpenAI Embedding接口兼容

阿里云百炼的Embedding模型兼容OpenAI接口规范。将原有 OpenAI 应用迁移至阿里云百炼只需调整三个参数:

  • base_url:替换为https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1,请将{WorkspaceId}替换为实际的业务空间ID
    其他地域请替换base_url:
  • api_key:替换为阿里云百炼 API Key
  • model:替换为以下模型列表中的模型名称
阿里云百炼为华北2(北京)、新加坡、中国香港地域推出了业务空间专属域名,能够为推理请求提供卓越的性能和更高的稳定性,建议迁移至新域名:
  • 华北2(北京)地域:从 https://dashscope.aliyuncs.com 迁移至 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • 新加坡地域:从 https://dashscope-intl.aliyuncs.com 迁移至 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
  • 中国香港地域:从 https://cn-hongkong.dashscope.aliyuncs.com 迁移至 https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com
其中 {WorkspaceId} 为您的业务空间 ID,可在阿里云百炼控制台的业务空间详情页面查看。现有域名仍可正常使用。

支持的模型

模型名称

向量维度

最大行数

单行最大Token

单价(每千输入Token)

支持语种

免费额度(注)

qwen3.7-text-embedding

2560、2,048、1,536、1,024(默认)、768、512、256

20

128,000

0.0005元

中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语等201种主流语种与方言

各100万Token

有效期:百炼开通后90天内

text-embedding-v3

1,024(默认)、768、512、256、128或64

10

8,192

0.0005元

Batch调用:0.00025元

中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语等50+主流语种

text-embedding-v2

1,536

25

2,048

0.0007元

Batch调用:0.00035元

中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语

各50万Token

有效期:百炼开通后90天内

text-embedding-v1

中文、英语、西班牙语、法语、葡萄牙语、印尼语

  • 新加坡
  • 华北2(北京)
  • 中国香港
模型名称向量维度批次大小单批次最大处理Token数(单价(每百万输入Token)支持语种免费额度(注)
text-embedding-v4
属于Qwen3-Embedding系列
2,048、1,536、1,024(默认)、768、512、256、128、64108,192$0.07中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语等100+主流语种100万Token有效期:百炼开通后90天内
text-embedding-v31,024(默认)、768、512中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语等50+主流语种50万Token有效期:百炼开通后90天内
多模态Embedding模型(例如qwen3-vl-embedding、tongyi-embedding-vision系列)不支持OpenAI兼容接口。请参见多模态向量

模型调用

调用示例

本章节提供Python(OpenAI SDK)和cURL(HTTP接口)的字符串输入调用示例,更多编程语言或输入方式示例请参考:文本与多模态向量化
  • 使用OpenAI SDK调用
  • 使用HTTP接口调用
使用OpenAI SDK调用服务,您还需安装OpenAI SDK
import os
from openai import OpenAI

def get_response():
    client = OpenAI(
        # 各地域的API Key不同。获取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换
        # 以下为新加坡地域base_url,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域URL不同。
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )
    completion = client.embeddings.create(
        model="text-embedding-v3", # 如果在华北2(北京)地域使用,需要将模型名称替换为:text-embedding-v4
        input='衣服的质量杠杠的,很漂亮,不枉我等了这么久啊,喜欢,以后还来这里买',
        encoding_format="float"
        )
    print(completion.model_dump_json())

if __name__ == '__main__':
    get_response()
运行代码可以获得以下结果:
{
  "data": [
    {
      "embedding": [
        0.0023064255,
        -0.009327292,
        ....
        -0.0028842222
      ],
      "index": 0,
      "object": "embedding"
    }
  ],
  "model":"text-embedding-v3",
  "object":"list",
  "usage":{"prompt_tokens":23,"total_tokens":23},
  "id":"f62c2ae7-0906-9758-ab34-47c5764f07e2"
}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过codemessage指明出错原因。
{
    "error": {
        "message": "Incorrect API key provided. ",
        "type": "invalid_request_error",
        "param": null,
        "code": "invalid_api_key"
    }
}

API参考

通用文本向量接口API详情

错误码

如果模型调用失败并返回报错信息,请参见错误码进行解决。