向量嵌入
向量嵌入接口将文本转换为数值向量,常用于语义检索、相似度计算、RAG(检索增强生成)等场景。接口兼容 OpenAI 的 POST /v1/embeddings 规范。
请求
POST https://confluia.com/v1/embeddings
Authorization: Bearer sk-你的密钥
Content-Type: application/json单条文本:
json
{
"model": "text-embedding-3-small",
"input": "今天天气不错"
}input 也可以传字符串数组,一次请求处理多条文本:
json
{
"model": "text-embedding-3-small",
"input": ["第一条文本", "第二条文本", "第三条文本"]
}响应
json
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0023, -0.0118, 0.0056]
}
],
"model": "text-embedding-3-small",
"usage": { "prompt_tokens": 5, "total_tokens": 5 }
}data数组长度与input条目数一一对应,index为输入下标(从 0 开始)。embedding为浮点数数组,维度由模型决定。- 计费按输入 token 数(
usage.prompt_tokens)折算,详见计费与额度。
主要参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | ✓ | 嵌入模型 ID,见 GET /v1/models 或控制台模型列表 |
input | string / string[] | ✓ | 待嵌入文本,单次批量条数上限以模型为准 |
encoding_format | string | — | 返回格式:float(默认)或 base64 |
dimensions | int | — | 输出维度;仅在模型支持时生效 |
参数为透传语义:网关原样转发给上游,具体取值范围与默认值以所用模型的官方文档为准;模型不支持的参数会被上游忽略或提示。
使用建议
- 模型选择:仅可选用模型类型为
embedding的模型(在控制台「价格 / 模型列表」页或GET /v1/models中确认)。 - 批量请求:批量传入文本可减少请求次数;单次批量上限以模型限制为准,超出上游会返回 400。
- 检索前归一化:计算余弦相似度前建议对向量做 L2 归一化(部分模型输出已归一化,可直接点积)。
- 检索排序:若需要更贴合业务的相关性排序,可在向量召回后接重排序接口。
常见问题
- 返回 400 / 参数不被支持:某些嵌入模型不支持
dimensions或encoding_format,按错误message去掉对应参数即可。 - 结果维度与预期不同:维度由模型(或
dimensions参数)决定,不是所有模型都支持自定义维度。