创建文本向量化
创建文本向量化API用于将文本数据转换为数值向量,以便于在机器学习和自然语言处理任务中使用。这些向量可以捕捉文本的语义信息,使得机器学习模型能够理解和处理文本数据。
前提条件
已在“在线推理 > 预置服务”页面开通BGE-M3模型的商用服务,或者为BGE-M3模型创建了自定义接入点。具体操作,请参见在ModelArts Studio(MaaS)预置服务中开通商用服务和在ModelArts Studio(MaaS)预置服务中创建自定义接入点。
接口信息
名称 |
说明 |
取值 |
---|---|---|
API地址 |
调用图片生成的API地址。 |
https://api.modelarts-maas.com/v1/embeddings |
model参数 |
model参数调用名称。 |
您可以通过任选以下方式获取model参数值。
|
请求参数说明
参数 |
是否必填 |
默认值 |
参数类型 |
描述 |
---|---|---|---|---|
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" }'
- 使用Python调用示例。
- 使用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 } }