جسم الطلب
مهلة الطلبات المتزامنة: ينتظر هذا الـ endpoint غير الخاص بالمحادثة حتى ينتهي النموذج الذي تم التوجيه إليه. قد تتجاوز المدخلات الكبيرة أو الصوت الطويل أو الدُفعات الكبيرة القيمة الافتراضية الشائعة للعميل وهي 30s، لذا اضبط مهلة عميل HTTP على 120s على الأقل.
معرّف نموذج الـ embedding المراد استخدامه (على سبيل المثال: text-embedding-3-small).
النص المُدخل لتحويله إلى embedding. يمكن أن يكون سلسلة نصية أو مصفوفة من السلاسل النصية.
التنسيق الخاص بالـ embeddings: float أو base64.
عدد الأبعاد في المخرجات (يعتمد على النموذج).
معرّف فريد يمثّل المستخدم النهائي الخاص بك لمراقبة إساءة الاستخدام.
النماذج المتاحة
| النموذج | الأبعاد | الوصف |
|---|
text-embedding-3-large | 3072 | أفضل جودة |
text-embedding-3-small | 1536 | متوازن |
text-embedding-ada-002 | 1536 | قديم |
الاستجابة
مصفوفة من كائنات embedding.يحتوي كل كائن على:
object (string): embedding
index (integer): الفهرس في مصفوفة الإدخال
embedding (array): متجه الـ embedding
استخدام الـ token مع prompt_tokens و total_tokens.
curl -X POST "https://api.tokenlab.sh/v1/embeddings" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "The quick brown fox jumps over the lazy dog"
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh/v1"
)
response = client.embeddings.create(
model="text-embedding-3-small",
input="The quick brown fox jumps over the lazy dog"
)
embedding = response.data[0].embedding
print(f"Embedding dimension: {len(embedding)}")
print(f"First 5 values: {embedding[:5]}")
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.tokenlab.sh/v1'
});
const response = await client.embeddings.create({
model: 'text-embedding-3-small',
input: 'The quick brown fox jumps over the lazy dog'
});
console.log(response.data[0].embedding.slice(0, 5));
<?php
$ch = curl_init('https://api.tokenlab.sh/v1/embeddings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'text-embedding-3-small',
'input' => 'The quick brown fox jumps over the lazy dog'
])
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r(array_slice($data['data'][0]['embedding'], 0, 5));
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0023, -0.0194, 0.0081, ...]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 9,
"total_tokens": 9
}
}
Embeddings الدفعية
# Embed multiple texts at once
response = client.embeddings.create(
model="text-embedding-3-small",
input=[
"First document text",
"Second document text",
"Third document text"
]
)
for i, data in enumerate(response.data):
print(f"Document {i}: {len(data.embedding)} dimensions")