Embeddings

تبدیل متن به بردار عددی برای جست‌وجوی معنایی، RAG، خوشه‌بندی و طبقه‌بندی.

اندپوینت

POSThttps://api.darvareh.ir/v1/embeddings

پارامترها

پارامترنوعاجباریتوضیح
modelstringبلهمثل text-embedding-3-small یا text-embedding-3-large.
inputstring | string[]بلهمتن یا فهرست متون. برای بچ توصیه‌شده حداکثر ۲۰۴۸ آیتم.
encoding_formatstringfloat یا base64. پیش‌فرض float.
dimensionsintegerکاهش ابعاد بردار (فقط مدل‌های v3).
userstringشناسۀ کاربر نهایی برای لاگ.

نمونۀ درخواست

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 بدهید.