İçeriğe geç

Yeniden Sıralama (Rerank)

Yeniden sıralama (rerank), bir sorgu ile aday doküman listesini birlikte değerlendirip her doküman için alaka puanı üretir. Embedding araması hız için sorguyu ve dokümanı ayrı ayrı vektörleştirir; reranker ikisini aynı anda okuduğu için daha isabetli bir sıralama verir.

Tipik kullanım iki aşamalıdır: embedding ile ilk 50-100 adayı çekersiniz, bunları rerank edersiniz ve dil modeline yalnızca en alakalı birkaçını gönderirsiniz. Bu hem yanıt kalitesini artırır hem de üretim modelinin token maliyetini düşürür.

Model Bağlam Fiyat ($/1M token)
qwen/qwen3-reranker-8b 32.768 0,05
voyageai/rerank-3 32.000 0,05
voyageai/rerank-3-lite 32.000 0,02
voyageai/rerank-2.5 32.768 0,05
voyageai/rerank-2.5-lite 32.768 0,02

Katalogdaki tüm rerank modellerini listelemek için:

Terminal window
curl -s "$LLMTR_BASE_URL/v1/models" \
| jq -r '.data[] | select(.supported_operations[] == "RERANK").id'
Terminal window
curl "$LLMTR_BASE_URL/v1/rerank" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-reranker-8b",
"query": "Fatura ne zaman kesilir?",
"documents": [
"Faturalar her ayın ilk iş günü kesilir.",
"Kargo teslimatı 2-3 iş günü sürer.",
"İade süresi 14 gündür."
],
"top_k": 2
}'
Alan Zorunlu Açıklama
model Evet Rerank modelinin kimliği.
query Evet Dokümanların karşısında puanlanacak sorgu.
documents Evet Aday doküman listesi. En az 1, en fazla 1000 öğe.
top_k Hayır Yalnızca en yüksek puanlı ilk N sonucu döndürür.
top_n Hayır top_k ile aynı; Cohere yazımını kullanan istemciler için kabul edilir.
return_documents Hayır true olduğunda her sonuç kendi doküman metnini de taşır. Varsayılan false.
truncation Hayır Yalnızca Voyage modellerinde. Aşağıdaki nota bakın.
{
"object": "list",
"data": [
{ "index": 0, "relevance_score": 0.9977 },
{ "index": 2, "relevance_score": 0.3738 }
],
"model": "qwen/qwen3-reranker-8b",
"usage": { "total_tokens": 262 }
}

data alanı alaka puanına göre azalan sırada döner. index, dokümanın gönderdiğiniz documents dizisindeki konumudur; sıralamayı orijinal kayıtlarınızla eşleştirmek için bunu kullanın. relevance_score 0 ile 1 arasındadır ve modeller arasında karşılaştırılabilir değildir — yalnızca aynı istek içindeki dokümanları birbirine göre sıralar.

Ücret işlenen toplam token üzerindendir ve yanıttaki usage.total_tokens alanı bu sayıyı taşır. Rerank tek geçişli bir işlemdir: çıktı tokeni yoktur, önbellek indirimi yoktur.

Toplam, doküman başına bir kez sorguyu da içerir. Yani 50 dokümanı tek istekte sıralarken sorgu 50 kez işlenir. Uzun bir sorgu ile çok sayıda kısa dokümanı sıralamak, kısa bir sorgu ile aynı dokümanları sıralamaktan belirgin biçimde pahalıdır.

Model fiyatlarına platform marjı eklenmez; marj yalnızca kredi yüklemede geçerlidir. Ayrıntı için Faturalandırma sayfasına bakın.

Tek istekte en fazla 1000 doküman değerlendirilir. Daha fazlası için listeyi parçalara bölün ve dönen puanları kendi tarafınızda birleştirin.

qwen/qwen3-reranker-8b için ek olarak, sorgu ile tek bir dokümanın toplamı 131.072 karakteri aşamaz. Aşan istek, hangi dokümanın fazla olduğunu söyleyen bir 400 ile reddedilir:

{
"error": {
"message": "documents[3] is too long: the query and one document may total at most 131072 characters, this pair is 140210.",
"type": "invalid_request"
}
}

Bu model uzun dokümanı kısaltmaz, reddeder. Bu yüzden truncation parametresini de kabul etmez: kısaltıldığını sanacağınız bir istekte aslında hata alırdınız. Dokümanları göndermeden önce kendiniz parçalayın. Voyage rerank modelleri truncation alanını destekler.

import os, requests
BASE_URL = os.environ["LLMTR_BASE_URL"]
HEADERS = {"Authorization": f"Bearer {os.environ['LLMTR_API_KEY']}"}
# 1. Vektör aramasindan gelen ilk adaylar
candidates = vector_search(query, limit=50) # kendi arama katmaniniz
# 2. Alaka duzeyine gore yeniden sirala
res = requests.post(
f"{BASE_URL}/v1/rerank",
headers=HEADERS,
json={
"model": "qwen/qwen3-reranker-8b",
"query": query,
"documents": [c["text"] for c in candidates],
"top_k": 5,
},
)
res.raise_for_status()
# 3. Yalnizca en alakali 5 parcayi dil modeline gonder
context = [candidates[item["index"]]["text"] for item in res.json()["data"]]

Rerank uç noktası OpenAI SDK'sında bulunmaz; düz HTTP ile çağrılır.

qwen/qwen3-reranker-8b 100'den fazla dili okur ve Türkçe sorgu-doküman çiftlerinde kullanılabilir. 8 milyar parametrelik bir modeldir; aynı fiyattaki alternatiflere göre daha büyük bir model çalıştırır, buna karşılık istek gecikmesi doküman sayısıyla birlikte artar.

Voyage rerank modelleri aynı uç noktayı ve aynı istek biçimini kullanır. Voyage, voyageai/rerank-3 modelini ailesinin en isabetli üyesi olarak, voyageai/rerank-3-lite modelini ise gecikmeye duyarlı işler için hızlı ve ekonomik seçenek olarak sunuyor. Voyage modellerinde sorgu en fazla 8.000 token olabilir ve tek istekte işlenen toplam token (sorgu tokenı x doküman sayısı + dokümanların toplamı) 600.000'i aşamaz; aşan istek reddedilir, dokümanları birkaç isteğe bölün. voyageai/rerank-3-lite ve voyageai/rerank-2.5-lite katalogdaki en düşük birim maliyetli rerank seçenekleridir. Modeller arasında geçiş yapmak için yalnızca model alanını değiştirmeniz yeterlidir.

Durum Anlamı
400 invalid_request Doküman sayısı, uzunluk sınırı veya top_k değeri geçersiz.
404 model_not_found Model kimliği katalogda yok.
400 unsupported_operation Model rerank desteklemiyor. Sohbet modeline rerank isteği göndermiş olabilirsiniz.
429 rate_limit_error API anahtarının istek limiti aşıldı.
502 provider_error Sağlayıcı isteği tamamlayamadı.

Hata biçimi için Hatalar sayfasına bakın.