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.
Modeller
Section titled “Modeller”| Model | Bağlam | Fiyat ($/1M token) |
|---|---|---|
qwen/qwen3-reranker-8b | 32.768 | 0,05 |
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:
curl -s "$LLMTR_BASE_URL/v1/models" \ | jq -r '.data[] | select(.supported_operations[] == "RERANK").id'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.
Faturalandırma
Section titled “Faturalandırma”Ü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.
Limitler
Section titled “Limitler”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.
RAG akışında kullanım
Section titled “RAG akışında kullanım”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 adaylarcandidates = vector_search(query, limit=50) # kendi arama katmaniniz
# 2. Alaka duzeyine gore yeniden siralares = 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 gondercontext = [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.
Model seçimi
Section titled “Model seçimi”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; voyageai/rerank-2.5-lite katalogdaki en düşük birim maliyetli rerank seçeneğidir. Üç model arasında geçiş yapmak için yalnızca model alanını değiştirmeniz yeterlidir.
Hatalar
Section titled “Hatalar”| 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.