API
Embeddings
将文本转换为向量,适用于检索、聚类、推荐和语义搜索。
概述
Embeddings 接口接收字符串或字符串数组,返回浮点向量或 base64 编码向量。它兼容 OpenAI Embeddings 请求结构,并会在控制台记录 token 用量。
请求
`POST https://api.example.com/v1/embeddings`
Headers
| Header | 必需 | 说明 |
|---|---|---|
| Authorization | ✓ | `Bearer $UOUODUO_API_KEY` |
| Content-Type | ✓ | `application/json` |
Body 参数
| 参数 | 类型 | 必需 | 默认 | 说明 |
|---|---|---|---|---|
| model | string | ✓ | - | embedding 模型 ID |
| input | string 或 array<string> | ✓ | - | 需要向量化的文本 |
| encoding_format | string | 否 | float | `float` 或 `base64` |
| dimensions | integer | 否 | - | 输出维度,需模型支持 |
| user | string | 否 | - | 终端用户标识 |
示例
curl https://api.example.com/v1/embeddings \
-H "Authorization: Bearer $UOUODUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": [
"UOUODUO Gateway 提供统一模型路由。",
"Embedding 可用于语义检索。"
],
"encoding_format": "float"
}'响应
| 字段 | 类型 | 说明 |
|---|---|---|
| object | string | `list` |
| data | array<object> | embedding 结果数组 |
| data[].object | string | `embedding` |
| data[].index | integer | 对应输入数组索引 |
| data[].embedding | array<number> 或 string | 向量内容 |
| model | string | 实际执行模型 |
| usage | object | prompt / total token 统计 |
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0123, -0.0456, 0.0789]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 18,
"total_tokens": 18
}
}错误
| HTTP | 说明 | 处理建议 |
|---|---|---|
| 400 | input 为空、超出上下文或 dimensions 不被支持 | 分批、截断或换模型 |
| 401 | API key 无效 | 重新创建 key |
| 429 | 请求或 token 限流 | 做批处理队列和指数退避 |
| 500 | 上游异常 | 记录 request id 后重试 |
注意事项
- 批量 embedding 会提高吞吐,但单次 input 数量和总 token 仍受模型限制。
- 如果向量库存储 float 数组,保持 `encoding_format=float`;如果走网络或日志链路,base64 可以降低体积。
- 建议把 ingestion job 和在线请求使用不同 API key,方便分别设置预算和排查。