TradingAgents'ı özel bir OpenAI-compatible backend üzerinde çalıştırın.
Updated 2026-07-30
TradingAgents, openai_compatible sağlayıcı modu ile birlikte gelir. backend_url'i https://api.apisrouter.com/v1 olarak ayarlayın, tek bir anahtar export edin; hem deep-think hem quick-think agent'ları, katalogdaki her modelin id ile adreslenebildiği tek bir endpoint üzerinden yönlenir.
Hızlı yanıt: üç ayar TradingAgents'ı her yere yönlendirir.
TradingAgents, özel endpoint'leri yerel olarak destekler. llm_provider'ı "openai_compatible" olarak ayarlayın, backend_url'i endpoint adresinize ayarlayın ve o endpoint için bir anahtarla OPENAI_COMPATIBLE_API_KEY'i export edin. APIsRouter ile backend URL'i https://api.apisrouter.com/v1'dir ve katalogdaki her model, deep_think_llm ve quick_think_llm slotlarından tam model id'siyle adreslenebilir hâle gelir. Bu, üst akış repo'da belgelenmiş bir yapılandırma yoludur, bir fork veya bir yama değil. Aynı değerler ortam değişkenleri olarak da sağlanabilir (TRADINGAGENTS_LLM_PROVIDER, TRADINGAGENTS_LLM_BACKEND_URL, TRADINGAGENTS_DEEP_THINK_LLM, TRADINGAGENTS_QUICK_THINK_LLM), bu yüzden zamanlanmış bir iş veya CI runner'ı, Python koduna dokunmadan backend değiştirebilir.
config["llm_provider"] = "openai_compatible"
config["backend_url"] = "https://api.apisrouter.com/v1"
# auth: export OPENAI_COMPATIBLE_API_KEY=sk-...TradingAgents LLM backend'iyle nasıl konuşur.
TradingAgents (GitHub'da TauricResearch, 93K+ yıldız), çok agent'lı bir trading framework'üdür. Bir analiz çalıştırması, fundamentaller, sentiment, haberler ve teknikleri kapsayan bir analist takımına yayılır, ardından bir boğa araştırmacısı ve bir ayı araştırmacısı bir veya daha fazla tartışma turunda davayı tartışır, bir trader agent'ı pozisyonu önerir ve bir risk-yönetimi katmanı nihai karardan önce onu inceler. Framework bu işi iki model slotuna böler. deep_think_llm, muhakeme-ağır adımları ele alır: araştırma tartışması, trader kararı ve risk incelemesi. quick_think_llm, hacimli adımları ele alır: veri okumak, haberleri özetlemek ve analist raporları taslamak. Her iki slot da standart /v1/chat/completions istekleri gönderir. Sağlayıcı ayarı yalnızca bu isteklerin hangi client'a ve host'a gideceğine karar verir ve openai_compatible onları yapılandırdığınız her hangi backend_url'e gönderir. Yerel olarak, TradingAgents ayrıca OpenAI, Anthropic, Google ve DeepSeek'i birinci taraf sağlayıcılar olarak destekler, ama her biri kendi hesabını, kendi anahtarını ve çalıştırma başına bir sağlayıcıyı gerektirir. openai_compatible modu bunu çöker: TradingAgents, model alanını düz bir dize olarak iletir, bu yüzden backend_url arkasındaki endpoint birden fazla satıcıya hizmet ettiğinde, bir Claude deep-think slotu ve bir GPT veya DeepSeek quick-think slotu aynı analizde çalışabilir. Bu rol başına karıştırma, framework'ü tek bir satıcı endpoint'i yerine bir gateway üzerinden yönlendirmenin pratik nedenidir.
Tam kurulum: Python config veya ortam değişkenleri.
Programatik yol, DEFAULT_CONFIG'i kopyalar ve dört anahtarı geçersiz kılar. Özel endpoint'e karşı kimlik doğrulayan anahtar, OPENAI_COMPATIBLE_API_KEY'den okunur, bu yüzden config dict'inde veya kaynak dosyada asla görünmesi gerekmez. Ortam değişkeni yolu, aynı değerleri default_config.py'deki _ENV_OVERRIDES haritalaması üzerinden ayarlar ve hem Python API hem de etkileşimli CLI (tradingagents veya python -m cli.main) için çalışır. backend_url'in varsayılan olarak None olduğunu unutmayın, bu durumda her sağlayıcının client'ı kendi varsayılan endpoint'ine geri düşer; override yalnızca onu açıkça ayarladığınızda etkinleşir. Piyasa verisi ayrı bir konudur. TradingAgents, fiyatları ve fundamentalleri veri satıcıları üzerinden çeker (örneğin ALPHA_VANTAGE_API_KEY) ve bu kimlik bilgileri LLM endpoint'iyle ilgisizdir. backend_url'i değiştirmek veri pipeline'ına dokunmaz.
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai_compatible"
config["backend_url"] = "https://api.apisrouter.com/v1"
config["deep_think_llm"] = "claude-opus-4-7" # debate rounds + trade decision
config["quick_think_llm"] = "claude-sonnet-4-6" # analysts, summaries
config["max_debate_rounds"] = 2
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-07-15")
print(decision)deep-think ve quick-think modellerini seçmek.
Üst akış varsayılanı, deep slotta bir frontier modeli quick slotta bir mini modelle eşleştirir, ki bu doğru şekildir: muhakeme kapasitesini kararın verildiği yere, hacim kapasitesini okumanın yapıldığı yere harcayın. Tek bir endpoint üzerinden yönlendirmek, eşleştirmeyi çalıştırmalar arasında iki satırlık bir değişiklik yapar, bu yüzden pratik iş akışı, deep slotu sabit tutmak ve quick slotu tahmin etmek yerine backtest metriklerinize karşı A/B yapmaktır.
- deep_think_llm, boğa/ayı tartışmasını, trader kararını ve risk incelemesini taşır. Çalıştırma başına az sayıda çağrı, ama her biri tam analist bağlamı üzerinde muhakeme yürütür ve max_debate_rounds bunları çarpar. Burası bir frontier muhakeme modelinin (claude-opus-4-7, gpt-5.5) token'larını hak ettiği yerdir.
- quick_think_llm, her analist adımında tetiklenir: fundamentalleri okumak, sentiment skorlamak, haberleri özetlemek, raporlar taslamak. Bir çalıştırmanın istek hacminin çoğu burada yaşar, bu yüzden hızlı orta katman bir model (claude-sonnet-4-6, deepseek-v4-pro), tartışma girdilerini bozmadan çalıştırmaları hızlı tutar.
- Analistlere tam dosyalamalar veya büyük haber pencereleri beslemek gibi uzun bağlamlı yükler, gemini-3.1-pro-preview'in quick slotunda test edilmeye değer olduğu yerdir.
- Backtest'ler her şeyi çoğaltır. 50 ticker ve 20 tarih üzerinde bir tarama, 1.000 propagate() çağrısıdır, bu yüzden tek bir çalıştırmada marjinal görünen bir quick-think model seçimi, tarama ölçeğinde token faturasına hakim olur.
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 Opus 4.7 | $5.00 / $25.00 per M | $4.00 / $20.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.1 Pro Preview | $2.00 / $12.00 per M | $1.60 / $9.60 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Tarama ölçeğinde backtest: anahtarlar, sabitleme ve limitler.
Tek çalıştırmalık kurulum işledikten sonra, hata yüzeyi taramaya taşınır. Üç alışkanlık, çok günlük bir backtest'i tekrarlanabilir ve hata ayıklanabilir tutar. Tam model id'lerini sabitleyin. Bazı satıcılardaki çıplak model adları, sessizce daha yeni anlık görüntülere taşınan hareketli işaretçilerdir, ki bu Pazartesi başlayıp Cuma biten bir backtest'in bir modeli hiç çalıştırmamış olabileceği anlamına gelir. Katalogun tarihli bir varyant listelediği yerde, config'e tarihli id'yi koyun ve config dict'ini bir rastgele seed gibi sonuçların yanına kaydedin. Deney başına bir anahtar kullanın. Anahtarlar oluşturmak ücretsizdir ve bir anahtarı bir taramaya kapsamak, kullanım logunu deneyin maliyet defterine dönüştürür: model başına token sayıları ve harcama, tam olarak o taramadaki çalıştırmalara filtrelenebilir. İki deney bir anahtarı paylaştığında, harcamayı sonradan izlemek zaman damgalarını grep'lemek anlamına gelir. Paralelleştirmeden önce eşzamanlılık tavanınızı bilin. propagate(), ticker-tarih başına eşzamanlıdır, bu yüzden taramalar genellikle süreçler arasında paylaştırılır. Her parça, hız oranını önce quick-think slotunda çarpar ve tartışma ortasındaki bir 429, bir isteğe değil tüm bir çalıştırmaya mal olur. Elli worker'ı soğuk şekilde başlatmak yerine konsolu izleyerek parça sayısını yükseltin; havuzlanmış üst akış kanalları tavanı yükseltir ama sonsuz yapmaz.
TradingAgents'ı bir gateway üzerinden kim yönlendirir.
- Ticker-tarih taramaları çalıştıran backtester'lar. Deney başına yüzlerce propagate() çağrısı, anahtar başına kullanım görünürlüğünü ve tek bir faturalandırma yüzeyini dört satıcı dashboard'undan daha kullanışlı yapar.
- Model çiftlerini karşılaştıran araştırmacılar. deep_think_llm'i Claude, GPT ve DeepSeek id'leri arasında değiştirmek, aday başına yeni bir satıcı hesabı değil, tek bir endpoint'e karşı bir config düzenlemesidir.
- Rol başına satıcı karıştıran ekipler. Tartışma için Claude, analist hacmi için DeepSeek. Native sağlayıcı modu bir çalıştırmayı tek bir satıcıya kilitler; çok satıcılı bir endpoint kilitlemez.
- 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.
- Zamanlanmış ve CI çalıştırmaları. Yalnızca-ortam kurulumu, runner imajının sağlayıcı başına bir yerine tek bir sır (OPENAI_COMPATIBLE_API_KEY) gerektirdiği anlamına gelir.
Endpoint'i doğrulayın ve ilk çalıştırmayı hata ayıklayın.
Tam bir analiz çalıştırmadan önce, endpoint'in kullanmayı planladığınız modellerle yanıt verdiğini doğrulayın. Anahtarınızla /v1/models'a karşı tek satırlık bir curl, her adreslenebilir id'yi listeler; deep_think_llm ve quick_think_llm'deki dizeler bu id'lerle tam olarak eşleşmelidir. İlk çalıştırmadaki hata modları tutarlıdır. 401, neredeyse her zaman OPENAI_COMPATIBLE_API_KEY'in tradingagents'ı gerçekten başlatan shell'den farklı bir shell'de export edildiği veya hiç export edilmediği anlamına gelir; .bashrc'de ayarlanan ortam değişkenleri, unit dosyası kendisi export etmedikçe bir systemd unit'ine veya cron job'una ulaşmaz. Bir model-not-found hatası, id dizesinin katalogla eşleşmediği anlamına gelir: id'ler, sürüm son ekleri dahil, tam olmalıdır ve yukarıdaki /v1/models çıktısı gerçeğin kaynağıdır. backend_url ayarlıyken bir bağlantı hatası genellikle URL'in /v1 son ekini kaybettiği anlamına gelir, çünkü client verdiğiniz base'e /chat/completions gibi rota yollarını ekler. Çalıştırma çalışıyor ama tartışma aşamasında takılıyor gibi görünüyorsa, bu bir endpoint sorunu değil, uzun bağlamlar üzerindeki muhakeme modelleri için normal gecikmedir; agent adımlarını akarken izlemek için debug=True'yu açık tutun. Çok uzun deep-think turlarındaki gerçek zaman aşımları, client tarafı bir ayardır ve backend'in isteği düşürdüğü sonucuna varmadan önce yükseltilmeye değerdir. İstekler akmaya başladığında, APIsRouter konsolu istek başına modeli, token sayılarını ve harcamayı gösterir, ki bu kadar çağrı-ağırlıklı bir framework için bir çalıştırmanın token'larının tam olarak nereye gittiğini görmenin en hızlı yoludur.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $OPENAI_COMPATIBLE_API_KEY" | head -50Sık sorulan sorular
TradingAgents, tek bir openai_compatible endpoint üzerinden Claude ve Gemini modellerini destekler mi?
Evet. openai_compatible modunda framework, model alanını /v1/chat/completions üzerinden backend_url'e düz bir dize olarak gönderir. Endpoint'in sunduğu herhangi bir id, Claude, Gemini ve DeepSeek id'leri dahil, deep-think veya quick-think slotunun herhangi birinde çalışır.
TradingAgents özel bir backend_url ile hangi API anahtarını kullanır?
OPENAI_COMPATIBLE_API_KEY. openai_compatible sağlayıcısı onu ortamdan okur, bu yüzden anahtar asla config dict'inizde veya kaynak dosyalarınızda görünmez. OPENAI_API_KEY yalnızca native openai sağlayıcısı tarafından kullanılır.
deep_think_llm ve quick_think_llm aynı çalıştırmada farklı satıcılardan gelebilir mi?
Çok satıcılı bir endpoint üzerinden evet: her iki slot da aynı backend_url'e gönderir ve model dizesi istek başına satıcıya karar verir. Native sağlayıcılarla (openai, anthropic, google, deepseek) bir çalıştırma her iki slot için de tek bir satıcıya kilitlenir.
backend_url ayarlandıktan sonra hâlâ bir OpenAI hesabına ihtiyacım var mı?
Hayır. llm_provider openai_compatible olarak ayarlıyken, hiçbir istek OpenAI host'larına gitmez ve OPENAI_API_KEY okunmaz. TradingAgents'ın kullandığı piyasa-verisi kimlik bilgilerine (örneğin ALPHA_VANTAGE_API_KEY) hâlâ ihtiyacınız var, bunlar LLM endpoint'inden bağımsızdır.
Etkileşimli CLI de özel endpoint'e uyar mı?
Evet. CLI (tradingagents veya python -m cli.main) aynı config'i çözer ve TRADINGAGENTS_LLM_PROVIDER / TRADINGAGENTS_LLM_BACKEND_URL ortam değişkenleri, sağlayıcı promptundan önce onu geçersiz kılar, bu yüzden zamanlanmış veya container'lı CLI çalıştırmaları, yönlendirme için hiçbir etkileşimli girdi gerektirmez.
Bir TradingAgents analizi kaç token tüketir?
max_debate_rounds'a, analist sayısına ve ne kadar piyasa bağlamı yuttuklarına göre değişir; tek bir ticker-tarih analizi tipik olarak yüz binlerce token'a, çoğu quick-think slotunda olacak şekilde düşer. APIsRouter konsolundaki anahtar başına kullanım görünümü, tahmin etmekten daha güvenilir olan çalıştırma başına tam ayrımı gösterir.