RAG ve veri · 2026-10-06
400 Bad Request: embeddinggemma does not support chat hatası
EmbeddingGemma neden chat hatası verir? Ollama ve LLMTR için doğru embedding uç noktalarını, 768 boyutlu yanıtı ve OpenAI uyumlu isteği öğrenin.
Kısa yanıt: Embedding isteğini doğru uç noktaya gönderin
LLMTR (llmtr.com), Türkiye'de ve global sağlayıcılarda barındırılan dil modellerine tek, OpenAI uyumlu API'den erişim veren bir gateway'dir. Bu yüzden "embeddinggemma" does not support chat hatası, modelin sohbet üretmediğini gösterir: metni sayısal vektöre dönüştürür. LLMTR üzerinde llmtr/embeddinggemma-300m modelini kullanmak için base_url değerini https://llmtr.com/v1 yapın ve isteği /v1/embeddings adresine gönderin; Ollama tarafında karşılık /api/embed'dir. Model 100+ dili destekler, metin başına 2.048 token bağlam kullanır ve 1M giriş tokeni başına 0,10 $ ücretlidir.
OpenAI uyumlu bir SDK kullanıyorsanız base_url değerini https://llmtr.com/v1 yapın ve embeddings.create çağrısında model olarak llmtr/embeddinggemma-300m ile input dizisini verin. Aynı modeli chat.completions.create içinde kullanmak 400 unsupported_operation hatasına yol açar. LLMTR'de bu model yalnızca POST https://llmtr.com/v1/embeddings ucunda sunulur; uç nokta seçimi bu ayrımı yapar. SDK işlemi de kullanılacak çıktı türüyle eşleşmelidir.
400 Bad Request: "embeddinggemma" does not support chat hatası ne demek?
Bu hata, bir embedding modelinin sohbet uç noktasına gönderildiğini gösterir. EmbeddingGemma metni LLMTR'de 768 boyutlu sayısal vektörlere dönüştürür; metin yanıtı üretmediği için /v1/chat/completions isteğini karşılayamaz, bu istek HTTP 400 hatasıyla sonuçlanır ve /v1/embeddings adresine taşınmalıdır.
LLMTR, modelin desteklemediği bir uç noktaya gönderilen istekleri HTTP 400 ve unsupported_operation hata tipiyle döndürür. Gövde, modeli ve kullanılması gereken uç noktayı belirtir; supported_endpoints ve suggested_endpoint alanları da yanıtta yer alır. Bu nedenle yönlendirmeyi izleyerek sohbet isteğini embedding isteğine dönüştürün. Düzeltme, Ollama'daki hata cümlesinin birebir doğrulanmasına bağlı değildir; model türü ve kullanılan uç nokta yeterlidir.
Çağrıyı doğru uç noktaya eşleme: Ollama ve LLMTR
Uç nokta seçimi, modelin ürettiği çıktı türüne göre yapılır. Metinden sayısal vektör elde etmek için embedding ucu; metin yanıtı almak için chat ucu kullanılır. Aşağıdaki eşleme, Ollama ile LLMTR'de aynı iş için kullanılan yolları ve model adlarını ayrı ayrı gösterir. Ollama'da /api/embed embedding üretimi içindir; /api/chat ve /api/generate ayrı metin üretim uçlarıdır.
| Görev | Ollama | LLMTR |
|---|---|---|
| Embedding oluşturma | POST /api/embed | POST https://llmtr.com/v1/embeddings |
| Bir metin modeliyle sohbet etme | POST /api/chat | POST https://llmtr.com/v1/chat/completions |
| Model adı | embeddinggemma | llmtr/embeddinggemma-300m |
| Girdi başına bağlam | 2K jeton | 2.048 jeton |
| Vektör boyutu | — | 768 (512, 256, 128 değerlerine MRL ile kırpılabilir) |
LLMTR üzerinde çalışan istek: curl ve yanıt
Aşağıdaki curl isteği, model olarak llmtr/embeddinggemma-300m kullanır ve iki metni input dizisi içinde gönderir. Bu biçim batch input desteğini gösterir; istemcinin her metin için ayrı bir vektör almasını sağlar. Gönderilecek uç nokta sohbet ucu değil, bu modelin sunulduğu POST https://llmtr.com/v1/embeddings adresidir. İki metin tek HTTP isteğinde taşınır.
Yanıtın data[] alanında input dizisindeki her metne karşılık gelen tek bir embedding bulunur. Her embedding 768 sayıdan oluşur; iki metinli örnekte data[] iki öğe içerir. Model Türkçe dahil 100'den fazla dili destekler ve her metin için 2.048 token bağlam kullanılabilir. Vektör boyutu MRL ile 512, 256 veya 128 olarak kırpılabilir.
curl örneği, iki metni batch input olarak /v1/embeddings ucuna ve yetkilendirme başlığıyla gönderir.
# Wrong: an embedding model on the chat endpoint returns 400 unsupported_operation.
# Right: send it to /v1/embeddings.
curl https://llmtr.com/v1/embeddings \
-H "Authorization: Bearer $LLMTR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llmtr/embeddinggemma-300m",
"input": ["İade süresi kaç gün?", "Kargo ücreti ne kadar?"]
}'
# Each item in data[] carries an embedding of 768 numbers.
Yaygın nedenler ve düzeltmeler
Bir RAG çatısında embeddinggemma adı genellikle LLM/chat modeli alanına yanlış yerleştirilir. Çatıda sohbet yanıtı üretecek bir modeli chat alanında, vektör üretecek modeli embedding alanında tutun. llmtr/embeddinggemma-300m bir embedding modelidir; bu adı chat/LLM ayarına taşımak, metin üretmek yerine vektör bekleyen iş akışını yanlış uç noktaya götürür.
OpenAI uyumlu istemcide client.chat.completions.create çağrısıyla aynı embedding modelini göndermek HTTP 400 unsupported_operation hatası üretir. client.embeddings.create çağrısında model olarak llmtr/embeddinggemma-300m kullanın ve base_url değerini https://llmtr.com/v1 yapın. Bu model LLMTR'de yalnızca /v1/embeddings ucunda sunulur. Bu ayrım, beklenen çıktı türü ile modelin işlevini aynı hizada tutar.
Bir vektör indeksinde farklı embedding modellerinden gelen vektörleri birlikte kullanmayın. Farklı modellerden üretilen vektörler karşılaştırılabilir değildir. Hem indeksleme hem sorgulama aşamasında aynı modeli seçin; llmtr/embeddinggemma-300m kullanılıyorsa her iki aşama da bu modelle yapılmalıdır. Varsayılan çıktı, metin başına 768 boyutlu vektördür.
LLMTR ile başlamak: hesap, kredi, anahtar ve ilk istek
Adım 1: llmtr.com'da hesap oluşturun ve e-posta adresinizi doğrulayın. Adım 2: Dashboard üzerinden güvenli ödeme ekranından hesabınıza kredi ekleyin. Talep edilen yükleme tutarının üzerine bir kez yüzde 8 platform marjı eklenir; örneğin 10,00 $ kredi için 10,80 $ tahsil edilir. Platform marjı model fiyatlarına eklenmez; her API çağrısının bedeli, modelin katalog fiyatı kadar krediden düşülür. Adım 3: Dashboard > API Keys bölümünden API anahtarı oluşturun. Ham anahtar yalnızca bir kez gösterilir; LLMTR_API_KEY gibi bir ortam değişkeninde saklayın.
Adım 4: İlk isteğinizi https://llmtr.com/v1 tabanında gönderin. OpenAI uyumlu herhangi bir SDK'da yalnızca base_url ve api_key değerlerini değiştirin; bu yazıdaki embedding isteği için model llmtr/embeddinggemma-300m ve uç nokta /v1/embeddings olmalıdır. Dashboard kullanım sayfasında anahtar bazında kullanım ve harcama görünür. Aynı anahtar ve aynı kredi bakiyesi katalogdaki her model için çalışır; model değiştirmek yalnızca model dizesini değiştirmek demektir.
LLMTR API kurulumu ve ilk embedding isteği
Hesap ve API anahtarı oluşturup kredi ekleyerek llmtr/embeddinggemma-300m modeline ilk embedding isteğini gönderin.
- Hesap oluştur. llmtr.com'da hesap oluşturun ve e-posta adresinizi doğrulayın.
- Kredi yükle. Dashboard'daki güvenli ödeme ekranından kredi yükleyin. İstenen tutarın üzerine bir kez yüzde 8 platform marjı eklenir; model fiyatlarına marj eklenmez.
- API anahtarı oluştur. Dashboard > API Keys bölümünden anahtar oluşturun. Ham anahtar yalnızca bir kez gösterildiği için LLMTR_API_KEY ortam değişkeninde saklayın.
- İlk embedding isteğini gönder. OpenAI uyumlu SDK'da base_url değerini https://llmtr.com/v1 yapın, api_key değerini anahtarınızla tanımlayın ve llmtr/embeddinggemma-300m modeliyle ilk isteği POST https://llmtr.com/v1/embeddings adresine gönderin.
Sık sorulan sorular
embeddinggemma neden sohbeti desteklemiyor?
EmbeddingGemma bir embedding modelidir; metni sohbet yanıtı yerine sayısal vektörlere dönüştürür. LLMTR'de bunlar 768 boyutludur ve model metin üretmez.
embeddinggemma için hangi endpoint'i çağırmalıyım?
Ollama'da POST /api/embed, LLMTR'de ise POST https://llmtr.com/v1/embeddings kullanın. Bu modeli sohbet ucuna göndermeyin.
llmtr/embeddinggemma-300m kaç boyutlu vektör döndürür?
Varsayılan olarak 768 boyutlu vektör döndürür. MRL ile 512, 256 veya 128 boyuta kırpılabilir.