文心一言 Embedding-V1 API文档
2023-07-19 14:35 更新
Embedding-V1是基于百度文心大模型技术的文本表示模型,将文本转化为用数值表示的向量形式,用于文本检索、信息推荐、知识挖掘等场景。本文介绍了Embedding-V1相关API。
Embeddings
根据输入内容生成对应的向量表示。
请求说明
基本信息
请求地址:https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/embeddings/embedding-v1
请求方式:POST
Header参数
名称 | 值 |
---|---|
Content-Type | application/json |
Query参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | string | 是 | 通过API Key和Secret Key获取的access_token,参考Access Token获取 |
Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
input | List(string) | 是 | 输入文本以获取embeddings。说明: (1)文本数量不超过16 (2)每个文本长度不超过 384个token |
user_id | string | 否 | 表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用 |
响应说明
名称 | 类型 | 描述 |
---|---|---|
id | string | 本轮对话的id |
object | string | 回包类型,固定值“embedding_list” |
created | int | 时间戳 |
data | List(embedding_data) | embedding信息,data成员数和文本数量保持一致 |
usage | usage | token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑) |
embedding_data说明
名称 | 类型 | 描述 |
---|---|---|
object | string | 固定值"embedding" |
embedding | List(float64) | embedding 内容 |
index | int | 序号 |
usage说明
名称 | 类型 | 描述 |
---|---|---|
prompt_tokens | int | 问题tokens数(包含历史QA) |
total_tokens | int | tokens总数 |
示例
请求示例
# 步骤一,获取access_token,替换下列示例中的API Key与Secret Key
curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]'
# 步骤二,调用本文API,使用步骤一获取的access_token,替换下列示例中的”调用接口获取的access_token“
curl -XPOST https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/embeddings/embedding-v1?access_token=[步骤一调用接口获取的access_token] -d '{
"input": ["推荐一些美食","给我讲个故事"]
}'
响应示例
HTTP/1.1 200 OK
Date: Thu, 23 Mar 2023 03:12:03 GMT
Content-Type: application/json;charset=utf-8
Statement: AI-generated
{
"id": "as-gjs275mj6s",
"object": "embedding_list",
"created": 1687155816,
"data": [
{
"object": "embedding",
"embedding": [
0.018314670771360397,
0.00942440889775753,
...(共384个float64)
-0.36294862627983093
],
"index": 0
},
{
"object": "embedding",
"embedding": [
0.12250778824090958,
0.07934671640396118,
...(共384个float64)
0
],
"index": 1
}
],
"usage": {
"prompt_tokens": 12,
"total_tokens": 12
}
}
错误码
如果请求错误,服务器返回的JSON文本包含以下参数。
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如Access Token失效返回:
{
"error_code": 110,
"error_msg": "Access token invalid or no longer valid"
}
需要重新获取新的Access Token再次请求。
错误码 | 错误信息 | 描述 |
---|---|---|
1 | Unknown error | 服务器内部错误,请再次请求, 如果持续出现此类错误,请在百度云控制台内提交工单反馈 |
2 | Service temporarily unavailable | 服务暂不可用,请再次请求, 如果持续出现此类错误,请在百度云控制台内提交工单反馈 |
3 | Unsupported openapi method | 调用的API不存在,请检查后重新尝试 |
4 | Open api request limit reached | 集群超限额 |
6 | No permission to access data | 无权限访问该用户数据 |
13 | Get service token failed | 获取token失败 |
14 | IAM Certification failed | IAM鉴权失败 |
15 | app not exists or create failed | 应用不存在或者创建失败 |
17 | Open api daily request limit reached | 每天请求量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈 |
18 | Open api qps request limit reached | QPS超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈 |
19 | Open api total request limit reached | 请求总量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈 |
100 | Invalid parameter | 无效的access_token参数,请检查后重新尝试 |
110 | Access token invalid or no longer valid | access_token无效 |
111 | Access token expired | access token过期 |
336000 | Internal error | 服务内部错误 |
336001 | Invalid Argument | 入参格式有误,比如缺少必要参数 |
336002 | Invalid JSON | 入参body不是标准的JSON格式 |
336003 | {参数校验不合法的具体原因}说明:参数不同,返回错误信息不同 | 参数校验不合法,error_msg中会给出具体原因 |
336004 | {权限控制出错的具体原因} | 权限控制出错 |
336005 | API name not exist | 定制化模型服务apiname不存在 |
336100 | 人工智能是一项革命性的技术。与我互动的人过多,请您稍后重新向我提问。 | 人工智能是一项革命性的技术。与我互动的人过多,请您稍后重新向我提问 |
336101 | Invalid HTTP Method | 非法的HTTP Method, 当前仅支持POST请求 |
336200 | Embeddings internal error | Embeddings服务内部错误 |