text-embedding-3-small · Gửi yêu cầu
Mô hình embedding của OpenAI có 1536 chiều mặc định, phù hợp cho tìm kiếm ngữ nghĩa và lập chỉ mục kiến thức. APIMaster cũng đã kiểm thử đầu ra 512 chiều qua dimensions.
Mô hình embedding của OpenAI có 1536 chiều mặc định, phù hợp cho tìm kiếm ngữ nghĩa và lập chỉ mục kiến thức. APIMaster cũng đã kiểm thử đầu ra 512 chiều qua dimensions.
Đã xác minh ngày 2026-10-02: tuyến hoạt động từ $0.02 mỗi triệu tokens đầu vào. Đây là giá tuyến APIMaster, không phải giá chính thức chung của nhà cung cấp; thẻ mô hình hiện tại được ưu tiên. Thẻ mô hình hiện tại
Gửi yêu cầu
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);
Tham số và giới hạn
input nhận chuỗi không rỗng hoặc mảng chuỗi không rỗng. encoding_format: float trả mảng số. Không gửi messages, max_tokens hoặc stream. Giới hạn tham chiếu là 8192 tokens mỗi văn bản; chia tài liệu dài và giữ lô nhỏ. Giới hạn và cách tách token có thể khác theo tuyến.
dimensions tại đây chỉ áp dụng cho text-embedding-3-small: mặc định 1536 hoặc 512 trong ví dụ đã thử. Tài liệu và truy vấn phải dùng cùng số chiều.
Giảm số chiều
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
Đọc phản hồi
Đọc data[i].embedding và ghép vectơ với đầu vào bằng data[i].index. usage.prompt_tokens và usage.total_tokens thể hiện mức dùng đầu vào. Vectơ không bị tính phí như tokens văn bản đầu ra. base64 cũng đã kiểm thử, nhưng float dễ kiểm tra hơn.
Đã kiểm thử trực tiếp văn bản đơn, lô tiếng Trung/Anh, độ dài vectơ và tính nhất quán của đầu vào lặp lại. Kiểm thử xác minh API, không bảo đảm chất lượng truy xuất trên mọi dữ liệu.
Tìm kiếm ngữ nghĩa và RAG
Chia tài liệu thành đoạn, tạo và lưu vectơ. Tạo vectơ truy vấn bằng cùng mô hình và số chiều, xếp hạng theo độ tương đồng cosine rồi đưa văn bản tìm được cho mô hình chat riêng. Không trộn mô hình hoặc số chiều trong một chỉ mục; tạo lại chỉ mục khi đổi mô hình.
Khắc phục lỗi
Với 401, kiểm tra khóa API. Với 400, kiểm tra ID mô hình, input không rỗng và tham số. Với 429 hoặc quá thời gian phía nhà cung cấp, giảm đồng thời và thử lại với thời gian chờ tăng dần. Xem marketplace để biết tình trạng tuyến và giá hiện tại.
