Cohere Embed 5 ve Rerank 5
Cohere'in arama modelleri LLMTR'de iki uç noktadan çağrılır. Embed 5 modelleri /v1/embeddings üzerinden metni, görseli ve ikisini birlikte taşıyan girdileri vektöre dönüştürür. Rerank 5 modelleri /v1/rerank üzerinden aday dokümanları bir sorguya göre sıralar ve istenirse her dokümanın içindeki en alakalı pasajları döndürür. İkisi de mevcut LLMTR API anahtarınızla çalışır.
| Model | Uç nokta | Bağlam | Girdiler | Fiyat ($/1M token) |
|---|---|---|---|---|
cohere/embed-v5.0-pro |
/v1/embeddings |
128.000 | Metin, görsel, ikisi birlikte | 0,12 |
cohere/embed-v5.0-fast |
/v1/embeddings |
128.000 | Metin, görsel, ikisi birlikte | 0,08 |
cohere/rerank-v5.0-pro |
/v1/rerank |
32.768 | Metin | 0,05 |
cohere/rerank-v5.0-fast |
/v1/rerank |
32.768 | Metin | 0,02 |
Fiyatlar
Bölüm başlığı “Fiyatlar”Fiyatlar 1 milyon token başına dolardır ve Cohere'in liste fiyatıyla aynıdır. Tablodaki Embed 5 fiyatı metin tokenı içindir. Görseller de token olarak sayılır ve iki modelde de 1 milyon görsel tokenı başına 0,40 $ faturalanır; görselin token sayısı çözünürlüğüyle artar. Yanıttaki usage.prompt_tokens alanı metin ve görsel tokenlarının toplamını taşır.
Rerank 5 modellerinde faturalanan token, sorgu tokenı x doküman sayısı ile dokümanların token toplamıdır. Yanıttaki usage.total_tokens bu sayıyı taşı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.
Embed 5: ilk istek
Bölüm başlığı “Embed 5: ilk istek”curl "$LLMTR_BASE_URL/v1/embeddings" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "cohere/embed-v5.0-pro", "input": ["Kira sözleşmesinin feshi için bildirim süresi otuz gündür."], "input_type": "document" }'Yanıt OpenAI biçimindedir; OpenAI SDK'sı base_url değiştirilerek kullanılabilir:
from openai import OpenAI
client = OpenAI(base_url="https://llmtr.com/v1", api_key="llmtr-your_key")
docs = client.embeddings.create( model="cohere/embed-v5.0-pro", input=["Kira sözleşmesinin feshi için bildirim süresi otuz gündür."], extra_body={"input_type": "document"},)print(len(docs.data[0].embedding)) # 2048input_type
Bölüm başlığı “input_type”Sorgu ile doküman farklı biçimde vektörleştirilir. Aramada dokümanları document, sorguları query ile gönderin; ikisini aynı türle göndermek isabeti düşürür.
input_type |
Ne zaman |
|---|---|
document veya search_document |
İndekse eklenen dokümanlar ve parçalar. Alan gönderilmezse bu kullanılır. |
query veya search_query |
Kullanıcının arama sorgusu. |
classification |
Bir sınıflandırıcıya girdi olacak metinler. |
clustering |
Kümelenecek metinler. |
Başka bir değer 400 invalid_request döner.
cohere/embed-v5.0-pro ve cohere/embed-v5.0-fast aynı vektör uzayını paylaşır. Koleksiyonu Pro ile indeksleyip sorguları Fast ile gönderebilirsiniz; aynı dimensions değerini kullandığınız sürece vektörler karşılaştırılabilir.
Görsel ve karma girdi
Bölüm başlığı “Görsel ve karma girdi”Görseller base64 data URI olarak gönderilir (data:image/png;base64,...). PNG, JPEG, WebP ve GIF kabul edilir. Görsel URL'si kabul edilmez ve 400 invalid_request döner; görseli kendi tarafınızda okuyup base64'e çevirin.
input iki biçimde gönderilebilir:
{ "content": [...] }nesnelerinden oluşan bir liste: her nesne ayrı bir vektör üretir.- Tek bir içerik parçası listesi (
[{ "type": "text", ... }, { "type": "image_url", ... }]): parçaların tamamı tek bir vektör üretir. Bir PDF sayfasının metnini ve görüntüsünü birlikte vektörleştirmek için bu biçimi kullanın.
import base64from openai import OpenAI
client = OpenAI(base_url="https://llmtr.com/v1", api_key="llmtr-your_key")
with open("urun.png", "rb") as f: image = "data:image/png;base64," + base64.b64encode(f.read()).decode()
# İki ayrı vektör: biri yalnızca görsel, biri yalnızca metin.separate = client.embeddings.create( model="cohere/embed-v5.0-fast", input=[ {"content": [{"type": "image_url", "image_url": {"url": image}}]}, {"content": [{"type": "text", "text": "Beyaz tişört ve mavi kot pantolon"}]}, ], extra_body={"input_type": "document"},)
# Tek vektör: metin ve görsel birlikte.fused = client.embeddings.create( model="cohere/embed-v5.0-fast", input=[ {"type": "text", "text": "Ürün kartı: beyaz tişört, mavi kot pantolon"}, {"type": "image_url", "image_url": {"url": image}}, ], extra_body={"input_type": "document"},)Görselleri indekslerken document, onları metinle ararken sorgu için query kullanın.
Çıktı boyutu ve türü
Bölüm başlığı “Çıktı boyutu ve türü”| Alan | Açıklama |
|---|---|
dimensions |
256, 512, 768, 1024, 1536 veya 2048. Gönderilmezse 2048. Başka bir değer 400 invalid_request ile kabul edilen değerleri listeler. output_dimension yazımı da kabul edilir. |
output_dtype |
float (varsayılan), int8, uint8, binary veya ubinary. binary ve ubinary vektörü bit olarak paketler; uzunluk boyutun sekizde biridir. Cohere yazımıyla tek değerli embedding_types dizisi de kabul edilir. |
encoding_format |
float (varsayılan) veya base64. base64 yalnızca float türüne uygulanır ve vektörün float32 baytlarını döndürür; diğer türlerde vektör tamsayı listesi olarak döner. OpenAI SDK'ları bu alanı kendiliğinden base64 gönderir ve iki biçimi de okur. |
truncation |
true (varsayılan) uzun girdiyi sondan kısaltır. false olduğunda 128.000 tokeni aşan girdi 400 ile reddedilir. |
Embed 5 limitleri
Bölüm başlığı “Embed 5 limitleri”- İstek başına en fazla 96 girdi. Daha fazlası
400 invalid_requestdöner; listeyi 96'lık parçalara bölün. - Girdi başına en fazla 128.000 token.
- İç içe dizi (
[["parça 1", "parça 2"]]) kabul edilmez.
Rerank 5: istek
Bölüm başlığı “Rerank 5: istek”curl "$LLMTR_BASE_URL/v1/rerank" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "cohere/rerank-v5.0-pro", "query": "Ayıplı ürünü kaç gün içinde iade edebilirim?", "documents": [ "Ürün iadesi teslim tarihinden itibaren 14 gün içinde yapılabilir.", "Mağazalarımız hafta içi 10:00-22:00 saatleri arasında açıktır.", "Kusurlu ürünlerde iade süresi 30 gündür ve kargo ücreti tarafımızca karşılanır." ], "top_n": 2, "relevant_spans": { "mode": "enabled", "max_spans": 2 } }'| Alan | Zorunlu | Açıklama |
|---|---|---|
query |
Evet | Dokümanların karşısında puanlanacak sorgu. |
documents |
Evet | Aday doküman listesi, en fazla 1000 öğe. Tablo veya JSON gibi kayıtları YAML metni olarak yazın. |
top_n |
Hayır | Yalnızca en yüksek puanlı ilk N sonucu döndürür. top_k yazımı da kabul edilir. |
return_documents |
Hayır | true olduğunda her sonuç kendi doküman metnini de taşır. |
max_tokens_per_doc |
Hayır | Bir dokümandan okunacak en fazla token. Gönderilmezse doküman model bağlamına kadar okunur; daha uzun kısmı kısaltılır. |
relevant_spans |
Hayır | Context Focus. mode zorunludur (enabled veya disabled). threshold 0 ile 1 arasındadır, varsayılan 0,1; yalnızca bu puanın üzerindeki pasajlar döner. max_spans doküman başına en fazla pasaj sayısıdır; -1 tüm pasajları döndürür. |
Rerank 5 uzun bir dokümanı kısaltır, reddetmez. Bu yüzden truncation: false kabul edilmez ve 400 invalid_request döner; sınırı max_tokens_per_doc ile belirleyin.
relevant_spans ve max_tokens_per_doc yalnızca bu iki modelde geçerlidir. Başka bir rerank modeline gönderildiğinde istek 400 invalid_request ile reddedilir.
Context Focus yanıtı
Bölüm başlığı “Context Focus yanıtı”{ "object": "list", "data": [ { "index": 2, "relevance_score": 0.3949, "relevant_spans": [{ "start": 0, "end": 79, "score": 0.9950 }] }, { "index": 0, "relevance_score": 0.3448, "relevant_spans": [{ "start": 0, "end": 65, "score": 0.9935 }] } ], "model": "cohere/rerank-v5.0-pro", "usage": { "total_tokens": 132 }}start ve end, dokümanın içindeki pasajın Unicode kod noktası (code point) cinsinden başlangıç ve bitiş konumudur; end dahil değildir. Python'da documents[i][start:end] doğrudan çalışır. JavaScript'te dizeler UTF-16 olduğu için önce Array.from(text) ile kod noktalarına ayırın:
const chars = Array.from(documents[item.index]);const passage = chars.slice(span.start, span.end).join("");Dil modeline dokümanların tamamı yerine bu pasajları göndermek bağlamı ve token harcamasını küçültür.
Puanlar ve eşik
Bölüm başlığı “Puanlar ve eşik”relevance_score 0 ile 1 arasındadır. Rerank 5 puanları sorgular ve alanlar arasında kalibredir: farklı sorgularda aynı eşik değerini kullanarak düşük puanlı sonuçları eleyebilirsiniz. Eşiği kendi verinizdeki birkaç örnek sorguyla belirleyin.
Model seçimi
Bölüm başlığı “Model seçimi”cohere/embed-v5.0-pro: en yüksek isabet; koleksiyonu indekslerken ve isabetin belirleyici olduğu aramalarda.cohere/embed-v5.0-fast: daha düşük gecikme ve fiyat; sorgu tarafında, ajan döngülerinde ve yüksek hacimli aramada.cohere/rerank-v5.0-pro: karmaşık sorgular ve uzun ya da alana özgü dokümanlar.cohere/rerank-v5.0-fast: her sorgunun yeniden sıralandığı yüksek hacimli uçlar.
Hatalar
Bölüm başlığı “Hatalar”| Durum | Anlamı |
|---|---|
400 invalid_request |
Geçersiz alan: 96'dan fazla girdi, görsel URL'si, desteklenmeyen dimensions, input_type veya output_dtype, truncation: false ile rerank, aralık dışı relevant_spans değeri. Mesaj hangi alanın hatalı olduğunu söyler. |
404 model_not_found |
Model kimliği katalogda yok. |
429 rate_limit_error |
API anahtarının istek limiti aşıldı. |
502 provider_error |
Sağlayıcı isteği tamamlayamadı. Bir süre sonra tekrar deneyin. |
503 model_unavailable |
Model geçici olarak kullanılamıyor. Bir süre sonra tekrar deneyin. |
Genel istek biçimleri için Metin Gömme ve Yeniden Sıralama sayfalarına bakın.