OpenAI标准 API
Embeddings 文本嵌入
OpenAI 格式的 Embeddings API 使用方法
Embeddings API 用于将文本转换为向量表示,适用于语义搜索、文本相似度计算、推荐系统等场景。
| 项目 | 内容 |
|---|
| 接口地址 | POST /v1/embeddings |
| 认证方式 | Bearer Token |
| 内容类型 | application/json |
Content-Type: application/json
Authorization: Bearer sk-your-api-key
{
"model": "text-embedding-3-small",
"input": "The food was delicious and the waiter...",
"encoding_format": "float",
"dimensions": 1536
}
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|
model | string | 是 | - | 使用的嵌入模型 |
input | string/array | 是 | - | 要嵌入的文本,可以是字符串或字符串数组 |
encoding_format | string | 否 | float | 编码格式:float 或 base64 |
dimensions | integer | 否 | 模型默认 | 输出向量的维度 |
| 模型 | 维度 | 说明 |
|---|
text-embedding-3-small | 1536 | 小型模型,性价比高 |
text-embedding-3-large | 3072 | 大型模型,效果更好 |
text-embedding-ada-002 | 1536 | 旧版模型 |
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0023064255,
-0.009327292,
-0.0028842222
],
"index": 0
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
| 字段 | 说明 |
|---|
data | 嵌入向量列表 |
data[].embedding | 向量数组 |
data[].index | 对应输入的索引 |
model | 使用的模型 |
usage.prompt_tokens | 输入 token 数 |
usage.total_tokens | 总 token 数 |
curl -X POST "{BASE_URL}/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "text-embedding-3-small",
"input": "Hello, world!"
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="{BASE_URL}/v1"
)
response = client.embeddings.create(
model="text-embedding-3-small",
input="Hello, world!"
)
print(response.data[0].embedding)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: '{BASE_URL}/v1',
});
async function main() {
const response = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: 'Hello, world!',
});
console.log(response.data[0].embedding);
}
main();