BGE-M3 · Kirim permintaan
Model BAAI multibahasa dengan 1024 dimensi untuk pencarian dokumen. API ini mengembalikan vektor padat, tanpa bobot jarang atau vektor ColBERT. Kueri tidak memerlukan awalan instruksi khusus.
Model BAAI multibahasa dengan 1024 dimensi untuk pencarian dokumen. API ini mengembalikan vektor padat, tanpa bobot jarang atau vektor ColBERT. Kueri tidak memerlukan awalan instruksi khusus.
Diverifikasi 2026-10-02: rute aktif mulai $0.01 per juta token input. Ini harga rute APIMaster, bukan harga resmi universal penyedia; kartu model terbaru menjadi acuan. Kartu model terkini
Kirim permintaan
POST /v1/embeddings · model: bge-m3
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": "bge-m3", "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="bge-m3",
input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format="float",
)
for item in result.data:
print(item.index, len(item.embedding)) # 1024
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: "bge-m3",
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);
Parameter dan batas
input harus berupa string tidak kosong atau array string tidak kosong. encoding_format: float menghasilkan array angka. Jangan kirim messages, max_tokens, atau stream. Batas referensi model adalah 8192 token per teks; pecah dokumen panjang dan gunakan batch kecil. Batas dan tokenisasi dapat berbeda menurut rute.
Untuk bge-m3, gunakan vektor padat penuh 1024 dimensi dan hilangkan dimensions. Gunakan ID bge-m3 dalam permintaan; response.model dapat berisi alias penyedia.
Baca respons
Baca data[i].embedding dan cocokkan vektor dengan input melalui data[i].index. usage.prompt_tokens dan usage.total_tokens menunjukkan penggunaan input. Vektor tidak ditagih sebagai token teks keluaran. base64 juga telah diuji, tetapi float lebih mudah diperiksa.
Teks tunggal, batch bahasa Mandarin/Inggris, panjang vektor, dan konsistensi input berulang lolos uji langsung. Ini memverifikasi perilaku API, bukan kualitas pencarian untuk semua data.
Pencarian semantik dan RAG
Pecah dokumen menjadi bagian, buat dan simpan vektornya. Buat vektor kueri dengan model dan dimensi yang sama, urutkan berdasarkan kemiripan kosinus, lalu kirim teks yang ditemukan ke model chat terpisah. Jangan mencampur model atau dimensi dalam satu indeks; bangun ulang indeks saat mengganti model.
Pemecahan masalah
Untuk 401, periksa kunci API. Untuk 400, periksa ID model, input tidak kosong, dan parameter. Untuk 429 atau batas waktu penyedia, kurangi konkurensi dan coba lagi dengan jeda bertahap. Lihat marketplace untuk ketersediaan dan harga terkini.
