Letta agent'larını OpenAI uyumlu bir endpoint'te çalıştırın.
Updated 2026-07-29
Self-hosted Letta, OPENAI_API_BASE ve OPENAI_API_KEY'i ortamdan okur, bu yüzden iki değişken onun stateful agent'larını bir gateway'e yönlendirir. Upstream, proxy endpoint'lerini resmi olmayan olarak adlandırır ve bu sayfa bunu ciddiye alır: neyin çalıştığı, gereksinimlerin ne olduğu ve keskin kenarların nerede olduğu.
Hızlı yanıt: sunucuda iki ortam değişkeni.
Letta'nın OpenAI uyumlu endpoint'ler için belgelenmiş yolu, self-hosted sunucuda ortam yapılandırmasıdır: sunucuyu başlatırken OPENAI_API_BASE'i endpoint URL'sine ve OPENAI_API_KEY'i onun anahtarına ayarlayın, Letta o endpoint'in sunduğu modelleri kaydeder. APIsRouter için base https://api.apisrouter.com/v1'dir. UI'da agent başına bir base-URL alanı yoktur; endpoint sunucu düzeyinde bir karardır, bu yüzden önemli olan yüzey ortamdır. Bir gereksinim pazarlığa kapalıdır ve başka her şeyden önce okunmaya değer: Letta'nın belgeleri, OpenAI uyumlu endpoint'lerin function calling'i desteklemesi gerektiğini belirtir, çünkü agent döngüsü tool call'lar üzerine kuruludur. Yalnızca düz chat completions yapan bir endpoint bir Letta agent'ını hiç çalıştıramaz. APIsRouter'daki katalog modelleri, Letta'nın beklediği şekil olan /v1/chat/completions üzerinden standart tool calling konuşur.
docker run \
-v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
-p 8283:8283 \
-e OPENAI_API_KEY="$APISROUTER_API_KEY" \
-e OPENAI_API_BASE="https://api.apisrouter.com/v1" \
letta/letta:latestLetta neden modeline bir chat uygulamasından daha fazla yaslanır.
Letta (GitHub'da letta-ai, kabaca 24K yıldız), MemGPT araştırma projesinden büyüdü ve stateful agent'lar inşa eder: oturumlar arasında hayatta kalan kalıcı, kendi kendini düzenleyen belleğe sahip agent'lar. Bir chat istemcisi mesajınızı gönderip yanıtı yazdırırken, bir Letta agent'ı her etkileşimde iç bir döngü çalıştırır, bildiklerini akıl yürütür, kendi çekirdek belleğini ve arşiv depolamasını okumak ve yeniden yazmak için bellek araçlarını çağırır ve ancak o zaman bir yanıt üretir. Bu mimarinin endpoint yönlendirmesi için iki sonucu vardır. Birincisi, döngünün her adımı bir tool-calling isteğidir, bu yüzden function calling bir güzel-olsa-iyi-olur şey değil, katı bir gereksinimdir; tool şemalarını beceremeyen bir model burada zarifçe bozulmaz, agent'ın hatırlama yeteneğini kırar. İkincisi, etkileşim başına istek hacmi, konuşma dökümünün ima ettiğinden daha yüksektir, çünkü bellek yönetimi görünür yanıtla birlikte ateşlenir. Tüm bunlara hizmet eden model id'si endpoint için düz bir string'dir, bu yüzden OPENAI_API_BASE arkasında çok satıcılı bir gateway ile, bir Claude id'si agent döngüsünü çalıştırırken hızlı bir id aynı sunucudaki daha hafif agent'lara hizmet edebilir, her biri kendi handle'ıyla adreslenir.
Dürüst destek durumu, doğrudan upstream'den.
Letta'nın kendi belgeleri, OpenAI proxy endpoint'lerinin resmi olarak desteklenmediğini ve muhtemelen hatalarla karşılaşacağınızı söyler, bunun yerine doğrudan sağlayıcı bağlantılarını önerir. Bu uyarı, gömülmek yerine alıntılanmayı hak ediyor, çünkü bu konudaki çoğu sayfa bunun var olmadığını varsayıyormuş gibi davranıyor. Pratikte anlamı kulağa geldiğinden daha dardır: Letta, birinci taraf API'lere karşı test eder ve OpenAI semantiğinden sapan, özellikle tool calling etrafında, bir endpoint upstream'in önceliklendirmeyeceği başarısızlıklar üretir. Spesifikasyonu gerçekten uygulayan, tool call'lar dahil, bir endpoint sorunsuz çalışır ve bu, tam olarak bir gateway'in yaşayıp öldüğü uyumluluk çıtasıdır. Destek geçmişinde bilinmeye değer gerçek bir hata da vardı. 2026 başlarına kadar, OPENAI_API_BASE üzerinden kaydedilen modeller openai-proxy sağlayıcısı olarak otomatik önek alırken, agent oluşturma kabul edilen öneklerin daha kısa bir listesine karşı doğrulama yapıyordu, bu yüzden proxy modelleri kaydediliyor ama agent oluşturmak için kullanılamıyordu. Sorun, Ocak 2026'da bir düzeltmeyle kapatıldı; sabitlenmiş daha eski bir sunucu çalıştırıyorsanız ve agent oluşturma sunucunun açıkça listelediği modelleri reddediyorsa, karşılaştığınız uyumsuzluk budur ve yükseltme çözümdür. Bir hareketli hedef daha: Letta'nın ürün yüzeyi değişmeye devam ediyor ve belgeleri şu anda yeni kullanıcıları daha yeni dağıtım modlarına yönlendirirken klasik Docker image'ının artık aktif olarak sürdürülen yüzey olmadığını belirtiyor. Yukarıdaki ortam değişkenleri, self-hosted sunucu için belgelenmiş mekanizmadır; dağıttığınız hafta upstream'in hangi sunucu artifact'ını önerdiğini güncel belgelerden kontrol edin.
# after the server is up, list models Letta knows about
curl -s http://localhost:8283/v1/models/ | head -50
# use the handle exactly as listed when creating agentsStateful agent'lar için model seçmek.
Önemli olan değerlendirme döngü sadakatidir: bir test agent'ı oluşturun, bellek güncellemelerini zorlayan bir konuşma yapın, ardından agent'ın çekirdek belleğini okuyun ve gerçekten değiştiğini doğrulayın. Bir model çekici yanıtlar yazabilir ve yine de bellek sözleşmesinde başarısız olabilir, ve bunu yalnızca döngü testi yakalar.
- Bellek düzenleme yapılandırılmış bir tool işidir. claude-sonnet-4-6 ve gpt-5.5, bir Letta agent'ının ihtiyaç duyduğu temel yetkinlik olan kendi-belleğini-yeniden-yaz döngüsünü güvenilir şekilde ele alır.
- Uzun ömürlü agent'lar bağlam biriktirir. Bir bağlam penceresinin derinliklerinde tutarlı kalan modeller burada stateless chat'ten daha önemlidir; yüksek riskli asistanlar için claude-opus-4-7'nin yerini kazandığı nokta da burasıdır.
- Kullanıcı başına veya görev başına bir tane olmak üzere hafif agent'lardan oluşan filolar, hacim iş yükleridir. claude-haiku-4-5-20251001, yetkin tool call'lar yaparken agent başına maliyeti sabit tutar.
- deepseek-v4-pro, akıl yürütmeyi iki dilli trafikle karıştıran agent'lar için test edilmeye değer; tool-calling gereksinimi kapıdır, bu yüzden yalnızca metni değil döngüyü test edin.
- Ne seçerseniz seçin, agent başına seçin. Sunucu tüm kataloğu kaydeder ve her agent bir handle'a bağlanır, bu yüzden bellek ağırlıklı bir concierge ve tek kullanımlık bir görev agent'ı farklı id'leri yan yana çalıştırabilir.
Kullandıkça öde · resmi fiyatların altında
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Resmi Fiyat | Bizim Fiyatımız |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Opus 4.7 | $5.00 / $25.00 per M | $4.00 / $20.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Letta'ya özgü hata modları.
Agent oluşturmanın sunucunun listelediği bir modeli reddetmesi, tarihi önek hatasıdır. Bir proxy üzerinden kaydedilen modeller, etkilenen sürümlerde agent oluşturmanın kabul etmeyi reddettiği bir sağlayıcı öneki taşıyordu. Düzeltme Ocak 2026'da geldi; güncel sürümlerde model listesinde gösterilen handle, işe yarayan handle'dır. Daha eski bir image'a sabitlenmişseniz, başka her şeyi hata ayıklamadan önce yükseltmenin en güçlü tek nedeni budur. Yanıt veren ama hiç hatırlamayan bir agent, bir tool-calling başarısızlığıdır. Ya endpoint function calling'i uygulamıyordur, ya da id'nin arkasındaki model tool şemalarını kötü ele alıyordur. Belirti, çekirdek bellek hiç güncellenmezken çalışan konuşmalardır. Endpoint sorunlarını model sorunlarından ayırmak için aynı agent'ı claude-sonnet-4-6 üzerinde test edin. Yanlış yerde ayarlanan ortam değişkenleri klasik Docker sorunudur: shell'inizde dışa aktarılan OPENAI_API_BASE, -e bayrakları olmadan başlatılan bir konteyner için hiçbir şey yapmaz. Değişkenlerin sunucu sürecinin kendisine ulaşması gerekir. Ve endpoint sunucu düzeyinde olduğundan, patlama yarıçapını unutmayın: OPENAI_API_BASE'i değiştirmek o sunucudaki her agent'ı hareket ettirir. Agent başına bir endpoint geçersiz kılma yoktur, bu yüzden gateway başına bir sunucu temiz topolojidir; farklılaşmayı agent başına model seçimi yapar.
Letta'yı bir gateway üzerinden kim yönlendirir.
- Denedikleri her model için ayrı bir satıcı hesabı, anahtar ve faturalandırma yüzeyi olmadan Claude kalitesinde bellek düzenleme isteyen kalıcı asistan geliştiricileri.
- Her kullanıcının bir agent aldığı agent filoları çalıştıran ve anahtar başına kullanım takibinin bellek katmanının gerçek maliyetini okunabilir bir rapora dönüştürdüğü ekipler.
- Modellerin kendi kendini düzenleyen belleği nasıl ele aldığını karşılaştıran, her adayın bir sağlayıcı göçü yerine bir test agent'ında handle değişikliği olduğu araştırmacılar.
- Doğrudan satıcı API erişiminin engellendiği ve ağ politikasının izin verdiği şeyin tek bir gateway endpoint'i olduğu ortamlardaki self-hoster'lar.
- Belirli bir satıcının faturalandırmasına erişimi olmayan geliştiriciler. Kart gerektirmeyen yükleme tabanlı erişim, sağlayıcı başına kayıt bağımlılığını ortadan kaldırır.
Endpoint'i doğrulayın ve ilk agent'ı hata ayıklayın.
Sunucudan önce gateway'i doğrulayın: anahtarla modelleri listeleyin ve bir tool tanımı eklenmiş bir chat completion çalıştırın, çünkü tool calling Letta'nın gerçekten bağımlı olduğu yetenektir. Tool-call gidiş-dönüşü curl'de çalışıyorsa, endpoint tarafı kanıtlanmış demektir. Ardından sunucuyu iki değişkenle başlatın ve model listesini okuyun. Orada görünen modeller kaydı kanıtlar; listelenen bir handle'dan başarıyla oluşturulan bir agent önek yolunu kanıtlar; çekirdek belleği güncelleyen bir konuşma döngüyü uçtan uca kanıtlar. Bu sırayla hata ayıklayın, çünkü her aşamanın kendine özgü bir başarısızlık kümesi vardır: sırasıyla ortam değişkenleri, sunucu sürümü ve modelin tool yetkinliği. Agent'lar çalışmaya başladığında, APIsRouter konsolu istek başına modeli, token sayılarını ve harcamayı gösterir. Stateful agent'lar, her yanıtın arkasında bellek yönetimi çalıştığından, dökümlerinin ima ettiğinden etkileşim başına daha fazla faturalandırılır ve kullanım günlüğü bu gizli çarpanın bütçeleyebileceğiniz bir sayıya dönüştüğü yerdir.
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6",
"messages":[{"role":"user","content":"What is 2+3?"}],
"tools":[{"type":"function","function":{
"name":"calc","description":"add numbers",
"parameters":{"type":"object","properties":{
"a":{"type":"number"},"b":{"type":"number"}}}}}]}'Sık sorulan sorular
Letta'yı özel bir OpenAI uyumlu endpoint'e nasıl yönlendiririm?
OPENAI_API_BASE ve OPENAI_API_KEY'i self-hosted Letta sunucusunun ortamında ayarlayın, örneğin docker run'da -e bayrakları olarak. Agent başına bir base-URL alanı yoktur; endpoint sunucu düzeyinde yapılandırılır ve o sunucudaki her agent onu kullanır.
Letta proxy endpoint'lerini resmi olarak destekler mi?
Upstream, bunları resmi olarak desteklenmiyor olarak adlandırır ve hatalarla karşılaşabileceğinizi belirterek doğrudan sağlayıcıları önerir. Pratikte gereksinim, function calling dahil katı bir OpenAI uyumluluğudur; spesifikasyonun tamamını uygulayan bir endpoint agent döngüsünü çalıştırır ve APIsRouter'ın karşı inşa edildiği çıta da budur.
Function calling neden gereklidir?
Letta agent'ları kendi belleklerini tool call'lar aracılığıyla yönetir: belleği okumak, yeniden yazmak ve arşivlemek, modelin her etkileşimde çağırdığı fonksiyonlardır. Sağlam tool calling'i olmayan bir endpoint veya model döngüyü çalıştıramaz ve belirti, sohbet eden ama asla hatırlamayan bir agent'tır.
Agent oluşturma neden sunucumun listelediği modelleri reddediyor?
Daha eski sunucu sürümleri, proxy modellerini agent oluşturmanın doğrulamayı reddettiği bir sağlayıcı öneki altında kaydediyordu; bu, Ocak 2026'da bir düzeltmeyle kapatılan bir hataydı. Sunucuyu yükseltin, ardından handle'ı tam olarak model listesinde göründüğü gibi kullanın.
Farklı Letta agent'ları tek bir endpoint üzerinden farklı modeller kullanabilir mi?
Evet. Sunucu, endpoint'in sunduğu her id'yi kaydeder ve her agent oluşturulduğunda bir model handle'ına bağlanır. claude-opus-4-7 üzerinde bir concierge agent'ı ve claude-haiku-4-5-20251001 üzerinde bir görev agent'ları filosu bir sunucuyu ve bir anahtarı paylaşabilir.
Bu, Letta Cloud'a mı yoksa self-hosted sunucuya mı uygulanır?
Ortamı kontrol ettiğiniz self-hosted sunucu. Letta Cloud kendi model çağrılarını sunucu tarafında yönetir. Ayrıca Letta'nın önerilen self-hosting artifact'larının değişmekte olduğunu unutmayın, bu yüzden bugün sürdürdükleri dağıtım modu için güncel belgeleri kontrol edin.