Embeddings
تبدیل متن به بردار عددی برای جستوجوی معنایی، RAG، خوشهبندی و طبقهبندی.
اندپوینت
POSThttps://api.darvareh.ir/v1/embeddings
پارامترها
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| model | string | بله | مثل text-embedding-3-small یا text-embedding-3-large. |
| input | string | string[] | بله | متن یا فهرست متون. برای بچ توصیهشده حداکثر ۲۰۴۸ آیتم. |
| encoding_format | string | — | float یا base64. پیشفرض float. |
| dimensions | integer | — | کاهش ابعاد بردار (فقط مدلهای v3). |
| user | string | — | شناسۀ کاربر نهایی برای لاگ. |
نمونۀ درخواست
curl -X POST https://api.darvareh.ir/v1/embeddings \
-H "Authorization: Bearer YOUR_DARVAREH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": ["درواره درگاه دسترسی به مدلهای هوش مصنوعی است.", "امبدینگ برای جستوجوی معنایی بهکار میرود."]
}'نمونۀ پاسخ
{
"object": "list",
"model": "text-embedding-3-small",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0123, -0.045, ...] },
{ "object": "embedding", "index": 1, "embedding": [0.0871, 0.011, ...] }
],
"usage": { "prompt_tokens": 26, "total_tokens": 26 }
}نمونۀ Python
from openai import OpenAI
client = OpenAI(api_key="…", base_url="https://api.darvareh.ir/v1")
resp = client.embeddings.create(
model="text-embedding-3-small",
input=["متن اول", "متن دوم"],
)
vec1 = resp.data[0].embedding
vec2 = resp.data[1].embeddingپیشنهاد استفاده
- برای RAG، متون منبع را چانک کنید (مثلاً ۵۰۰ تا ۱۰۰۰ توکن) و امبدینگ هر چانک را در یک پایگاهداده برداری ذخیره کنید.
- در زمان کوئری، امبدینگ سؤال کاربر را با شباهت کسینوسی با چانکها مقایسه کنید و چند مورد برتر را به Chat Completions بدهید.