创建文本向量化-j9九游会登录
创建文本向量化api用于将文本数据转换为数值向量,以便于在机器学习和自然语言处理任务中使用。这些向量可以捕捉文本的语义信息,使得机器学习模型能够理解和处理文本数据。
前提条件
- 预置服务:已在页签开通bge-m3模型的预置服务。具体操作,请参见maas开通预置服务。
- 自定义接入点:已在页签为bge-m3或qwen3-embedding-8b模型创建了自定义接入点。具体操作,请参见创建自定义接入点。
约束限制
该功能仅支持“西南-贵阳一”区域。
接口信息
|
名称 |
说明 |
取值 |
|---|---|---|
|
api地址 |
调用图片生成的api地址。 |
https://api.modelarts-maas.com/v1/embeddings |
|
model参数 |
model参数调用名称。 |
您可以任选以下方式获取model参数值。
|
支持模型列表
|
模型 |
支持地域 |
model参数值 |
应用场景 |
|---|---|---|---|
|
bge-m3 |
西南-贵阳一 |
bge-m3 |
文本向量化 |
请求参数说明
|
参数 |
是否必填 |
默认值 |
参数类型 |
描述 |
|---|---|---|---|---|
|
model |
是 |
无 |
string |
模型名称,具体请参见表2的“model参数值”列。 |
|
input |
是 |
无 |
string |
支持字符串或字符串列表。 |
|
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 |
对象类型。 |
|
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使用情况详情。 |
请求示例
此处以使用bge-m3模型将文本字符串 ["这是一只小猫", "这是一只小狗"]转换为数值向量为例,展示向量模型的基础用法。
- 使用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) - 使用java调用示例。
在pom.xml中添加依赖配置:
com.openai openai-java 4.8.0 package com.openai.example.embedding; import com.openai.client.openaiclient; import com.openai.client.okhttp.openaiokhttpclient; import com.openai.models.embeddings.embeddingcreateparams; import javax.net.ssl.sslcontext; import javax.net.ssl.trustmanager; import javax.net.ssl.x509trustmanager; import java.security.keymanagementexception; import java.security.nosuchalgorithmexception; import java.security.securerandom; import java.security.cert.certificateexception; import java.security.cert.x509certificate; import java.util.list; public final class embeddingsexample { public static void main(string[] args) { // 把maas_api_key替换成已获取的api key,${model_name}替换为model参数 string apikey = "maas_api_key"; string url = "https://api.modelarts-maas.com/v1"; string model = "${model_name}"; initsslparam(); openaiclient client = openaiokhttpclient.builder() .apikey(apikey) // 绕过ssl校验,无需绕过请注释或删除以下两行操作 .sslsocketfactory(ssl_context.getsocketfactory()) .trustmanager(trust_manager) .base .build(); listtext = list.of("这是一只小猫", "这是一只小狗"); embeddingcreateparams createparams = embeddingcreateparams.builder() .inputofarrayofstrings(text) .model(model) .encodingformat(embeddingcreateparams.encodingformat.float) .build(); system.out.println(client.embeddings().create(createparams)); } private static x509trustmanager trust_manager; private static sslcontext ssl_context; /** * 初始化自定义ssl参数,绕过ssl证书校验 */ public static void initsslparam() { try { // 创建信任所有证书的trustmanager trust_manager = new x509trustmanager() { @override public void checkclienttrusted(x509certificate[] chain, string authtype) throws certificateexception { } @override public void checkservertrusted(x509certificate[] chain, string authtype) throws certificateexception { } @override public x509certificate[] getacceptedissuers() { return new x509certificate[]{}; } }; // 安装信任所有证书的 sslcontext ssl_context = sslcontext.getinstance("ssl"); ssl_context.init(null, new trustmanager[]{trust_manager}, new securerandom()); } catch (nosuchalgorithmexception | keymanagementexception e) { e.printstacktrace(); throw new runtimeexception(e); } } }
响应示例
{
"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
}
}
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨
