TradingAgents API-configuratie
Updated 2026-09-06
Verbind de gedocumenteerde modelclient en valideer daarna de onderzoeksgraph afzonderlijk. Deze bron-gereviewde gids behandelt providerconfiguratie, financiële datadependencies en een eerste begrensd experiment.
Begin met een versiegebonden onderzoeksvraag
Stel de compatibele provider, aangepaste backend-URL en twee modelrollen in en test daarna één bedrijf op een vastgelegde onderzoeksdatum. TradingAgents organiseert analisten, tegengestelde onderzoeksargumenten en risicoreview, dus een nuttige eerste taak is te inspecteren hoe die rollen hetzelfde bronpakket uitleggen. Kies bedrijf en informatiedatum vóór je modellen wijzigt. Behoud onderliggende feiten en onopgeloste items van de eerste run zodat latere modelvergelijkingen dezelfde vraag gebruiken. De onderstaande velden volgen upstreamrevisie 9dee508c.
Configureer de compatibele provider en beide modelrollen
De gereviewde default_config.py stelt llm_provider, backend_url, deep_think_llm en quick_think_llm beschikbaar. De compatibele client gebruikt het opgegeven endpoint; authenticatie is een afzonderlijke omgevingsinstelling. Beide rolslots hebben een exacte modelidentifier nodig die door het gekozen endpoint en de projectclient wordt geaccepteerd. Het voorbeeld past deze bronvelden aan en bouwt alleen configuratie. Stel RESEARCH_MODEL_ID en SUMMARY_MODEL_ID uit de actuele catalogus in nadat je vereiste mogelijkheden hebt gecontroleerd. Deze namen zijn lokale omgevingsslots en geen model-ID's of TradingAgents-defaults. Bewaar de credential in de procesomgeving en niet in het script.
import os
from copy import deepcopy
from tradingagents.default_config import DEFAULT_CONFIG
config = deepcopy(DEFAULT_CONFIG)
config.update({
"llm_provider": "openai_compatible",
"backend_url": "https://api.apisrouter.com/v1",
"deep_think_llm": os.environ["RESEARCH_MODEL_ID"],
"quick_think_llm": os.environ["SUMMARY_MODEL_ID"],
"max_debate_rounds": 1,
"max_risk_discuss_rounds": 1,
})
assert os.environ["OPENAI_COMPATIBLE_API_KEY"]
# Configuration only. This does not start a research run.Houd modelroute en financiële data gescheiden
Configureer leveranciers van financiële data onafhankelijk van het modelendpoint. Los voor internationale aandelen emittent en beursspecifiek symbool vóór verzameling op. Behoud handelsvaluta, rapportagevaluta, markt-tijdzone en benchmarkkeuze. Een in de VS genoteerde depositary receipt en het onderliggende gewone aandeel hebben een expliciete conversieregel nodig voordat hun prijsreeksen kunnen worden vergeleken. Het diagram toont hoe modelinstellingen verbinden; financiële datatools houden eigen credentials, dekking en bron-timestamps. Controleer die tools voordat je een ontbrekende onderzoeksinput als LLM-fout diagnosticeert.
Kies rollen volgens het taakcontract
Test de mogelijkheden die elke rol werkelijk gebruikt. Een tekstantwoord bewijst geen parsing van tool calls, omgang met lange context of structured-outputgedrag. Een wijziging van modelserie kan ook adaptergedrag van de provider veranderen, zelfs wanneer het endpoint de identifier accepteert. Begin met de kleinste nuttige set rollen; voeg debat alleen toe wanneer het onbewezen claims of bruikbaar tegenbewijs identificeert. Evalueer het eindartefact tegen hetzelfde bronpakket en behandel langere rapporten niet als beter onderzoek.
| Rol | Vereist bewijs | Te inspecteren fout |
|---|---|---|
| Analist | Toolresultaat en bronlocator | Verzonnen feiten na een datafout |
| Onderzoeksdebat | Argumenten gekoppeld aan analistbewijs | Herhaalde claims als corroboratie presenteren |
| Risicoreview | Expliciete aannames en onopgeloste items | Zelfverzekerde positie zonder geverifieerde input |
Gebruik een gefaseerde acceptatietest voor de eerste run
Inspecteer eerst de opgeloste configuratie zonder keys af te drukken. Voer daarna in een geautoriseerde uitvoeringsomgeving de projectclient met het geselecteerde model uit en bewaar een geredigeerd requestrecord. Test vervolgens een vereiste toolinteractie en het foutpad. Draai ten slotte TradingAgentsGraph met een begrensde bronset en inspecteer de resulterende status, geciteerde feiten en uiteindelijke onderzoeksoutput. Bewaar repositoryrevisie, dependencyversies, inputhashes en rolinstellingen. Een factory-response slaagt alleen voor de clientfase; een volledig rapport heeft nog bron- en numerieke review nodig voordat het als bruikbaar onderzoeksartefact telt.
import os
from research_config import config
from tradingagents.graph.trading_graph import TradingAgentsGraph
graph = TradingAgentsGraph(debug=False, config=config)
state, decision = graph.propagate(
os.environ["RESEARCH_TICKER"],
os.environ["RESEARCH_DATE"],
)
# Inspect state and decision against the source packet.
# Running this template makes model and data requests.Bescherm historisch onderzoek tegen latere informatie
Een gevraagde analysedatum bewijst niet dat iedere providerresponse point-in-time is. Controleer of fundamentals vóór de cutoff werkelijk beschikbaar waren, of artikelen later zijn gecorrigeerd en of gecachte data uit een ander experiment kwam. Bewaar oorspronkelijke publicatietijd en ingestietijd afzonderlijk. Houd training- of reflectiefeedback buiten een holdout-evaluatieperiode. Historische tickerlijsten moeten relevante delistings en symboolwijzigingen bevatten. Registreer corporate-actionafhandeling en vergelijkingsbenchmark bij ieder experiment zodat een modelwijziging niet met een datawijziging wordt verward.
Budgetteer debat, retries en herhaalde context
Kosten van een financiële agent komen uit iedere request in de graph, inclusief samenvattingen, herhaalde context en factureerbare retries. Gebruik het actuele prijscontract voor planning en reconcileer werkelijk requestgebruik achteraf. Beperk debat-rondes, bronvolume, parallelle jobs en automatische retries vóór een sweep. Cache bronextractie met documentversies en onderscheid applicatiehergebruik van factureringskortingen van de provider. Volg data-abonnementen en lokale compute los van LLM-kosten en vergelijk kosten per geaccepteerd onderzoeksartefact. Begin met de begrensde run hierboven voordat je ticker- en datumbereik uitbreidt.
Diagnosticeer de fase die faalde
Controleer bij authenticatiefouten of de key van de compatibele provider het proces bereikt dat de client maakt. Vergelijk bij ontbrekende modellen exacte identifier en accounttoegang met de actuele catalogus. Bewaar bij misvormde tooloutput toolschema en geschoonde response en niet alleen de laatste exception. Een vastloper kan een dataproviderrequest, herhaalde tool-loop of modeltimeout zijn; inspecteer fasetimestamps vóór je limieten verhoogt. Stop wanneer verplichte data ontbreekt. Opnieuw proberen tot er proza verschijnt kan de oorspronkelijke fout verbergen en het hele onderzoeksbudget verbruiken.
Bewijs en beperkingen
De configuratie is op 5 september 2026 gereviewd aan de hand van bronrevisie 9dee508c. De voorbeelden zijn walkthroughtemplates; voor deze gids zijn geen APIsRouter-clientrequest, complete graph of gemeten taakkostcase uitgevoerd. Valideer geselecteerde modellen en datatools in je eigen begrensde run voordat je de workflow uitbreidt.
Veelgestelde vragen
Welke key leest openai_compatible?
De gereviewde provider mapt naar OPENAI_COMPATIBLE_API_KEY. Stel die in de uitvoeringsomgeving in en verifieer de opgeloste provider zonder het secret af te drukken.
Kunnen de twee rollen verschillende modellen gebruiken?
De configuratie heeft afzonderlijke velden deep_think_llm en quick_think_llm. Valideer beide exacte ID's en iedere vereiste mogelijkheid; een gedeeld endpoint bewijst compatibiliteit niet op zichzelf.
Levert het endpoint aandelenprijzen?
Nee. Marktdata komt via afzonderlijk geconfigureerde providertools, met eigen dekking, credentials, licenties en beschikbaarheid.
Welke datum moet ik aan propagate meegeven?
Gebruik de bedoelde onderzoeksdatum en verifieer afzonderlijk dat iedere datatool je informatiedatum respecteert. Een datumargument maakt actuele data niet automatisch point-in-time.
Hoe kies ik de twee modelrollen?
Gebruik actuele catalogus-ID's, test vereiste tools en outputformaten en vergelijk daarna geaccepteerde rapporten uit hetzelfde bronpakket voordat je een rol wijzigt.
Bewijst een geslaagde graph een tradingstrategie?
Nee. Hij stelt een workflowresultaat onder de geteste input vast. Strategiebeoordeling vereist point-in-time-data, onafhankelijke evaluatie en realistische uitvoeringsaannames.