更新时间:2025-09-16 GMT+08:00
分享

创建文本向量化

创建文本向量化API用于将文本数据转换为数值向量,以便于在机器学习和自然语言处理任务中使用。这些向量可以捕捉文本的语义信息,使得机器学习模型能够理解和处理文本数据。

前提条件

已在“在线推理 > 预置服务”页面开通BGE-M3模型的商用服务,或者为BGE-M3模型创建了自定义接入点。具体操作,请参见在ModelArts Studio(MaaS)预置服务中开通商用服务在ModelArts Studio(MaaS)预置服务中创建自定义接入点

接口信息

表1 接口信息

名称

说明

取值

API地址

调用图片生成的API地址。

https://api.modelarts-maas.com/v1/embeddings

model参数

model参数调用名称。

您可以通过任选以下方式获取model参数值。

支持模型列表

表2 支持模型列表

模型

模型版本

支持地域

model参数值

应用场景

BGE-M3

bge-m3

西南-贵阳一

bge-m3

文本向量化

请求参数说明

表3 请求body参数

参数

是否必填

默认值

参数类型

描述

model

string

模型名称,具体请参见表2的“model参数值”列。

input

string

支持字符串或字符串列表总输入长度不超过8K。

encoding_format

float

string

指定文本向量化结果的输出格式。取值为float或base64。

响应参数说明

状态码:200

参数

参数类型

说明

id

string

请求ID。

object

string

对象类型,始终为 "list"。

created

integer

时间戳。

model

string

模型名称。

data

object[]

模型生成结果数据集。

data.index

integer

序号。

data.object

enum<string>

对象类型。

data.embedding

number[]

模型生成的嵌入向量列表。

usage

object

请求的使用信息。

usage.prompt_tokens

integer

提示词Token计数。

usage.total_tokens

integer

请求使用的Token总数。

usage.completion_tokens

integer

推理Token计数。

usage.prompt_tokens_details

object

输入Prompt使用情况详情

请求示例

  • Rest API的示例代码如下。
    • 使用Python调用示例。
      import requests
      import json
      
      if __name__ == '__main__':
          url = "https://api.modelarts-maas.com/v1/embeddings"  # API地址
          api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
      
          # Send request.
          headers = {
              'Content-Type': 'application/json',
              'Authorization': f'Bearer {api_key}'
          }
          texts = ["这是一只小猫", "这是一只小狗"]
          data = {
              "model": "bge-m3",  # 模型名称
              "input": texts,  # input类型可为string or string[]
              "encoding_format": "float"  # 取值范围:"float","base64"
          }
          response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
      
          # Print result.
          print(response.status_code)
          print(response.text)
    • 使用cURL调用示例。
      curl -X POST "https://api.modelarts-maas.com/v1/embeddings" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $MAAS_API_KEY" \
        -d '{
          "model": "bge-m3",
          "input": [
            "这是一只小猫",
            "这是一只小狗"
          ],
          "encoding_format": "float"
        }'
  • 使用OpenAI SDK调用示例。
    from openai import OpenAI
    
    base_url = "https://api.modelarts-maas.com/v1"  # API地址
    api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
    texts = ["这是一只小猫", "这是一只小狗"]
    
    client = OpenAI(api_key=api_key, base_url=base_url)
    
    response = client.embeddings.create(
        model="bge-m3",  # model参数
        input=texts,  # input类型可为string or string[]
        encoding_format="float"  # 取值范围:"float","base64"
    )
    
    # Print result.
    print(response.data)

响应示例

{
	"id": "embd-d848df392a67d662f5a76eaa9e33974f",
	"object": "list",
	"created": 1758023320,
	"model": "bge-m3",
	"data": [{
		"index": 0,
		"object": "embedding",
		"embedding": [-0.021697998046875, 0.0322265625, ...]
	}],
	"usage": {
		"prompt_tokens": 7,
		"total_tokens": 7,
		"completion_tokens": 0,
		"prompt_tokens_details": null
	}
}

相关文档