راهنمای اتصال به API

Rerank API؛ مرتب‌سازی اسناد بر اساس ارتباط با پرسش برای RAG

در RAG و جستجوی داخلی، جستجوی برداری سریع است ولی همیشه بهترین متن را اول نمی‌آورد. مدل rerank پرسش را کنار هر متن می‌خواند و امتیاز ارتباط دقیق‌تری می‌دهد. مسیر POST /v1/rerank در وان ای آی (1ai) پرسش را در query و متن‌ها را در documents می‌گیرد و فهرستی مرتب با index و relevance_score برمی‌گرداند. معمولاً ده‌ها نتیجه‌ی اول جستجوی برداری را rerank می‌کنید و چند متن برتر را به مدل چت می‌دهید؛ پاسخ دقیق‌تر می‌شود و توکن کمتری مصرف می‌کنید. همه‌ی rerankerها، چه به ازای هر درخواست حساب شوند و چه به ازای توکن، یک قالب پاسخ دارند.

چرا با 1ai

دقیق‌تر از جستجوی برداری

مدل پرسش و متن را با هم می‌خواند؛ برای مرحله‌ی دوم جستجو بعد از embeddings ساخته شده است.

یک قالب برای همه

Cohere و Qwen قالب‌های متفاوتی دارند؛ 1ai همه را به results با index و relevance_score یکسان می‌کند.

هزینه‌ی روشن

مدل‌های Cohere به ازای هر واحد جستجو (تا ۱۰۰ سند) و Qwen3 به ازای توکن حساب می‌شوند؛ مصرف در usage می‌آید.

top_n و بدون تکرار متن

فقط چند نتیجه‌ی برتر را بگیرید و با return_documents: false حجم پاسخ را کم کنید.

در چند قدم

  1. ۱

    کلید API بسازید

    از بخش توسعه‌دهندگان ← کلیدها یک کلید sk-1ai-… بسازید و در ONEAI_API_KEY نگه دارید.

  2. ۲

    نامزدها را جمع کنید

    ده‌ها نتیجه‌ی اول جستجوی برداری یا کلیدواژه‌ای را بردارید؛ rerank برای مرتب کردن نامزدهاست، نه جستجو در کل پایگاه.

  3. ۳

    rerank کنید

    پرسش و متن‌ها را به https://1ai.ir/v1/rerank بفرستید و top_n را روی تعداد متنی که به مدل می‌دهید بگذارید.

  4. ۴

    متن‌ها را با index بردارید

    index به جایگاه متن در آرایه‌ی ورودی اشاره می‌کند؛ با آن شناسه و متادیتای خودتان را پیدا کنید.

مدل‌های Rerank در API

همه‌ی مدل‌ها

Rerank 4 Fast

کوهیر
رتبه‌بندی مجدد

رتبه‌بندی مجدد سریع و چندزبانه برای RAG

۰٫۳ اعتبار / هر درخواست رتبه‌بندی
API

Rerank 4 Pro

کوهیر
رتبه‌بندی مجدد

دقیق‌ترین رتبه‌بندی مجدد Cohere

۰٫۳۷۵ اعتبار / هر درخواست رتبه‌بندی
API

Qwen3 Rerank

کوئن
رتبه‌بندی مجدد

رتبه‌بندی مجدد چندزبانه با هزینه‌ی توکنی

۰٫۰۱۵ اعتبار / ۱۰۰۰ توکن ورودی
API

نمونه درخواست با curl

bash
curl https://1ai.ir/v1/rerank \
  -H "Authorization: Bearer $ONEAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cohere/rerank-v4.0-fast",
    "query": "چطور رمز عبورم را عوض کنم؟",
    "documents": [
      "برای تغییر رمز به تنظیمات، بخش امنیت بروید.",
      "ساعت کاری پشتیبانی ۹ تا ۱۷ است.",
      "اگر رمز را فراموش کرده‌اید از گزینه‌ی بازیابی استفاده کنید."
    ],
    "top_n": 2
  }'

RAG با Python و JavaScript

python
# pip install requests
import os, requests

def rerank(query, docs, top_n=5):
    res = requests.post(
        "https://1ai.ir/v1/rerank",
        headers={"Authorization": f"Bearer {os.environ['ONEAI_API_KEY']}"},
        json={"model": "qwen/qwen3-rerank", "query": query, "documents": docs, "top_n": top_n, "return_documents": False},
        timeout=60,
    )
    res.raise_for_status()
    return [docs[r["index"]] for r in res.json()["results"]]

# Vector search first (fast, approximate), rerank the candidates (slow, precise).
candidates = ["...", "...", "..."]  # top 50 hits from your vector store
context = rerank("How do I reset my password?", candidates)
javascript
const res = await fetch("https://1ai.ir/v1/rerank", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.ONEAI_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ model: "cohere/rerank-v4.0-fast", query, documents: hits.map((h) => h.text), top_n: 5 }),
});
const { results } = await res.json();
const best = results.map((r) => hits[r.index]);

قالب پاسخ

نتیجه‌ها از بیشترین امتیاز به کمترین مرتب‌اند. usage.search_units تعداد واحد جستجوی حساب‌شده است و برای مدل‌های توکنی total_tokens هم می‌آید.

json
{
  "id": "rerank-…",
  "object": "list",
  "model": "cohere/rerank-v4.0-fast",
  "results": [
    { "index": 0, "relevance_score": 0.91, "document": { "text": "برای تغییر رمز به تنظیمات، بخش امنیت بروید." } },
    { "index": 2, "relevance_score": 0.64, "document": { "text": "اگر رمز را فراموش کرده‌اید از گزینه‌ی بازیابی استفاده کنید." } }
  ],
  "usage": { "search_units": 1 }
}

فیلدهای درخواست

فیلدنوعتوضیح
modelرشتهشناسه‌ی مدل rerank
queryرشتهپرسش کاربر
documentsآرایه (۱ تا ۱۰۰۰)رشته یا { "text": "…" }
top_nعدد، اختیاریتعداد نتیجه‌ی برگشتی؛ پیش‌فرض همه
return_documentsبولین، اختیاریمتن هر سند در پاسخ؛ پیش‌فرض true

نکته‌ها

  • در مدل‌های Cohere هر ۱۰۰ سند یک واحد جستجوست؛ ۱۵۰ سند دو واحد حساب می‌شود. نامزدها را محدود نگه دارید.
  • پنجره‌ی متن هر مدل متفاوت است؛ سندهای بلند را پیش از rerank به تکه‌های کوچک‌تر بشکنید.
  • این مسیر استریم ندارد و کتابخانه‌ی openai متدی برای آن ندارد؛ با requests یا fetch بفرستید.

سوالات متداول

rerank چه فرقی با embeddings دارد؟

embeddings هر متن را جداگانه به بردار تبدیل می‌کند و برای جستجوی سریع در میلیون‌ها متن مناسب است. rerank پرسش و هر متن را با هم می‌خواند و دقیق‌تر است ولی کندتر، پس روی چند ده نامزدِ جستجوی برداری اجرا می‌شود.

متن فارسی پشتیبانی می‌شود؟

بله، Cohere Rerank 4 و Qwen3 Rerank چندزبانه‌اند. برای داده‌ی خودتان چند پرسش واقعی را با هر دو مدل امتحان کنید و ترتیب نتیجه‌ها را مقایسه کنید.

هزینه‌ی هر درخواست چطور حساب می‌شود؟

مدل‌های Cohere و رتبه‌بندهای Google به ازای هر واحد جستجو (تا ۱۰۰ سند) و Qwen3 Rerank به ازای توکن خوانده‌شده. قیمت هر مدل در صفحه‌ی همان مدل و اعتبار کسرشده در سرآیند x-1ai-credits است.

relevance_score را چطور تفسیر کنم؟

امتیازها برای مقایسه‌ی متن‌های همان درخواست ساخته شده‌اند و مقیاسشان بین مدل‌ها یکی نیست. اگر آستانه می‌گذارید، آن را برای هر مدل جداگانه روی داده‌ی خودتان تنظیم کنید.

مطالب مرتبط

استفاده از API سازگار با OpenAI در 1ai: راهنمای عملی با Python، Node.js و cURL
توسعه‌دهندگان

استفاده از API سازگار با OpenAI در 1ai: راهنمای عملی با Python، Node.js و cURL

چطور پروژه‌ای را که با کتابخانه‌ی OpenAI نوشته شده، فقط با تغییر آدرس پایه و کلید به 1ai وصل کنید؛ با نمونه کد Python، Node.js و cURL، استریم، فهرست مدل‌ها و مدیریت خطا.

۴ دقیقه مطالعه
کلید API در 1ai: امنیت، محدودیت‌ها و کنترل هزینه
توسعه‌دهندگان

کلید API در 1ai: امنیت، محدودیت‌ها و کنترل هزینه

چطور کلیدهای API را امن نگه دارید و هزینه را مهار کنید: مدل‌های مجاز، سقف اعتبار ماهانه، محدودیت نرخ، تاریخ انقضا، کلیدهای تیمی و گزارش مصرف.

۴ دقیقه مطالعه
همه‌ی امکانات

OpenAI SDK

کتابخانه‌ی رسمی openai را در Python و Node.js با تغییر آدرس پایه به 1ai وصل کنید و چت، فراخوانی ابزار، بردار متن، تصویر و صدا را از یک کلید بگیرید.

Decisions API

به جای تجزیه‌ی متن آزاد مدل، پرسش‌هایتان را تعریف کنید و برای هر کدام پاسخی تایپ‌دار بگیرید: احتمال درستی یک گزاره، گزینه‌ی انتخاب‌شده یا امتیاز روی یک مقیاس.

اتصال n8n

در n8n یک اعتبارنامه‌ی OpenAI با آدرس 1ai بسازید و در گردش‌کارهای خودکار، از AI Agent تا ربات تلگرام، با GPT، Claude، Gemini و DeepSeek کار کنید.

Rerank API؛ مرتب‌سازی اسناد بر اساس ارتباط با پرسش برای RAG

یک پرسش و فهرستی از متن‌ها بفرستید و همان متن‌ها را مرتب‌شده بر اساس ارتباط با پرسش، همراه با امتیاز هر کدام، پس بگیرید.

ساخت کلید API