text-embedding-3-small · 发起请求
OpenAI 文本向量模型,默认返回 1536 维向量,适合语义搜索和知识库索引。APIMaster 也已实测通过 dimensions 参数返回 512 维向量。
OpenAI 文本向量模型,默认返回 1536 维向量,适合语义搜索和知识库索引。APIMaster 也已实测通过 dimensions 参数返回 512 维向量。
2026-10-02 核查:在售渠道输入价格为每百万 tokens $0.02 起。这是 APIMaster 渠道价格,不是供应商统一官方价;以实时模型卡片为准。 实时模型卡片
发起请求
POST /v1/embeddings · model: text-embedding-3-small
cURL
export APIMASTER_API_KEY="YOUR_APIMASTER_API_KEY"
curl --fail-with-body "https://apimaster.ai/v1/embeddings" \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "text-embedding-3-small", "input": "Semantic search retrieves related documents.", "encoding_format": "float"}'
Python · OpenAI SDK
pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["APIMASTER_API_KEY"],
base_url="https://apimaster.ai/v1",
)
result = client.embeddings.create(
model="text-embedding-3-small",
input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format="float",
)
for item in result.data:
print(item.index, len(item.embedding)) # 1536
print(result.usage.prompt_tokens)
JavaScript · Node.js
const response = await fetch("https://apimaster.ai/v1/embeddings", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIMASTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "text-embedding-3-small",
input: ["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format: "float",
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
console.log(result.data.map((item) => [item.index, item.embedding.length]));
console.log(result.usage.prompt_tokens);
参数与限制
input 传入非空字符串或非空字符串数组。使用 encoding_format: float 获取数值数组,不要传 messages、max_tokens 或 stream。模型参考上限为每条文本 8192 tokens;长文档应分段,批量大小应保持适度。具体限制和分词方式可能因渠道而异。
此处仅为 text-embedding-3-small 提供 dimensions 用法:默认 1536 维,实测示例为 512 维。文档和查询必须使用相同维度。
缩小向量维度
compact = client.embeddings.create(
model="text-embedding-3-small",
input="Semantic search retrieves related documents.",
encoding_format="float",
dimensions=512,
)
print(len(compact.data[0].embedding)) # 512
读取返回结果
读取 data[i].embedding,并通过 data[i].index 对应输入文本。usage.prompt_tokens 和 usage.total_tokens 表示输入用量。向量不是生成文本,不作为输出 tokens 计费。base64 编码也已实测通过,但 float 更便于查看。
单条输入、中英文批量输入、向量长度和重复输入一致性均已通过线上实测。这些检查验证接口行为,不代表所有数据集上的检索效果。
语义搜索与 RAG
将文档分段,生成每段向量并存储;再使用相同模型和维度生成查询向量,按余弦相似度排序,把检索出的文本交给独立的聊天模型。不要在同一个索引中混用不同模型或维度的向量;切换模型时需重建索引。
常见问题
401 请检查 API Key;400 请检查模型 ID、非空 input 和可选参数;429 或上游超时请降低并发并退避重试。渠道可用性和实时价格以模型广场为准。
