新版Embedding API文档
POST
http(s): //cn-huabei-1.xf-yun.com/v1/private/sa8a05c271. 服务描述
Embedding接口授权和星火大模型是独立的,如您有需要,可在售前窗口 或单独提交工单 申请。
开发者需要自行先在控制台创建应用,利用应用中提供的appid,APIKey, APISecret进行鉴权,生成用于握手的鉴权url。
本版本的Embedding 服务,有两个服务:Embeddingp 和Embeddingq需要搭配使用 ,分别用于文档、知识库向量化和用户问题向量化的环节
注:两个服务均支持2K token的输入,返回2560维的向量数组
#2. 接口说明
#2.1请求方法和url
服务名 | host地址 | 请求类型 |
---|---|---|
Embeddingp | http(s): //cn-huabei-1.xf-yun.com/v1/private/sa8a05c27 | POST |
Embeddingq | http(s): //cn-huabei-1.xf-yun.com/v1/private/s50d55a16 | POST |
#2.2接口要求
接口类型:非流式 [http(s)]
接口鉴权:使用签名机制进行鉴权,签名详情参照 通用URL鉴权文档
#3.请求
#3.1请求协议示例
header{
"header": {
"app_id": appid,
"uid": "39769795890",
"status": 3
},
"parameter": {
"emb": {
"feature": {
"encoding": "utf8"
}
}
},
"payload": {
"messages": {
"text": base64.b64encode(json.dumps(text).encode('utf-8')).decode()
}
}
}
注:text字段原文格式为:
{
"messages": [
{
"content": "文本块内容放在这里",
"role": "user"
}
]
}
#3.2参数说明
参数名称 | 含义 | 类型 | 是否必传 | 默认值 | 限制 |
---|---|---|---|---|---|
header.app_id | 在平台申请的app id信息 | string | 是 | 50 | |
header.uid | 请求用户服务返回的uid,用于应用端做用户区分 | string | 否 | 50 | |
header.status | 发送状态标识,3为一次性发完 | int | 是 | 3 | |
feature.encoding | 文本编码 | string | 否 | utf8 | utf8 |
messages.text | 文本数据,需要进行base64加密 | string | 是 | 2048 token |
#4.响应
#4.1响应协议示例
{
"header": {
"code": 0,
"message": "success",
"sid": "ase000eaa46@dx18bdc44c72e738d882"
},
"payload": {
"feature": {
"encoding": "utf8",
"seq": "0",
"status": "2",
"text": "AGAjvgDA8D0A4DM9AOBePgDAyz0AICY+AAC......A4AE9AKAhPg=="
}
}
}
#4.2响应参数说明
参数名 | 含义 | 类型 |
---|---|---|
header | 协议头部 | obj |
header.code | 返回码,0表示成功,其它表示异常 | int |
header.message | 错误描述 | string |
header.sid | 本次会话的id | string |
feature | 响应数据块 | obj |
feature.encoding | 文本编码 | string |
feature.compress | 文本压缩格式 | string |
feature.format | 文本格式 | string |
feature.text | 返回的向量值base64结果,这里是浮点型的数组,解析需要针对性处理 | string |
#注:feature.text字段需要针对性解析:
将一个经过base64编码的字符串解码为浮点数数组。具体步骤如下:
text_base = data["payload"]["feature"]["text"]
# 使用base64.b64decode()函数将text_base解码为字节串text_data
text_data = base64.b64decode(text_base)
# 创建一个np.float32类型的数据类型对象dt,表示32位浮点数。
dt = np.dtype(np.float32)
# 使用newbyteorder()方法将dt的字节序设置为小端("<")
dt = dt.newbyteorder("<")
# 使用np.frombuffer()函数将text_data转换为浮点数数组text,数据类型为dt。
text = np.frombuffer(text_data, dtype=dt)
#5.调用示例
请求参数
Body 参数application/json
header
object
必需
uid
string
可选
请求用户服务返回的uid,用于应用端做用户区分
status
integer
必需
发送状态标识,3为一次性发完
parameter
object
必需
emb
object
必需
payload
object
必需
messages
object
必需
示例
{
"header": {
"app_id": appid,
"uid": "39769795890",
"status": 3
},
"parameter": {
"emb": {
"feature": {
"encoding": "utf8"
}
}
},
"payload": {
"messages": {
"text": base64.b64encode(json.dumps(text).encode('utf-8')).decode()
}
}
}
示例代码
返回响应
成功(200)
HTTP 状态码: 200
内容格式: JSONapplication/json
数据结构
header
object
协议头部
code
integer
必需
返回码,0表示成功,其它表示异常
message
string
错误描述
sid
string
本次会话的id
payload
object
必需
feature
object
响应数据块
示例
{
"header": {
"code": 0,
"message": "success",
"sid": "ase000eaa46@dx18bdc44c72e738d882"
},
"payload": {
"feature": {
"encoding": "utf8",
"seq": "0",
"status": "2",
"text": "AGAjvgDA8D0A4DM9AOBePgDAyz0AICY+AAC......A4AE9AKAhPg=="
}
}
}
最后修改时间: 1 年前