Configuration API de TradingAgents

Updated 2026-09-06

Connectez le client de modèle documenté, puis validez séparément le graphe de recherche. Ce guide relu à partir des sources couvre la configuration du fournisseur, les dépendances de données financières et une première expérience délimitée.

Commencez par une question de recherche versionnée

Définissez le fournisseur compatible, l'URL du backend personnalisé et deux rôles de modèle, puis testez une entreprise à une date de recherche définie. TradingAgents organise les analystes, les arguments de recherche opposés et la revue du risque ; une première tâche utile consiste donc à inspecter comment ces rôles expliquent le même paquet source. Choisissez l'entreprise et la date de coupure de l'information avant de changer les modèles. Préservez les faits sous-jacents et les éléments non résolus du premier run afin que les comparaisons ultérieures utilisent la même question. Les champs ci-dessous suivent la révision amont 9dee508c.

Configurez le fournisseur compatible et les deux rôles de modèle

Le default_config.py examiné expose llm_provider, backend_url, deep_think_llm et quick_think_llm. Le client compatible utilise l'endpoint fourni ; l'authentification est un paramètre d'environnement séparé. Les deux emplacements de rôle nécessitent un identifiant de modèle exact accepté par l'endpoint choisi et le client du projet. L'exemple adapte ces champs source et construit uniquement la configuration. Définissez RESEARCH_MODEL_ID et SUMMARY_MODEL_ID depuis le catalogue actuel après vérification des capacités requises. Ces noms sont des emplacements d'environnement locaux, pas des IDs de modèles ni des valeurs par défaut de TradingAgents. Gardez l'identifiant dans l'environnement du processus, et non dans le 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.

Gardez la route du modèle séparée des données financières

Configurez les fournisseurs de données financières indépendamment de l'endpoint du modèle. Pour les actions internationales, résolvez l'émetteur et le symbole propre à la place boursière avant la collecte. Préservez la devise de négociation, la devise de reporting, le fuseau horaire du marché et le choix du benchmark. Un certificat de dépôt coté aux États-Unis et l'action ordinaire sous-jacente nécessitent une règle de conversion explicite avant de comparer leurs séries de prix. Le schéma montre comment les paramètres du modèle se connectent ; les outils de données financières conservent leurs identifiants, leur couverture et leurs horodatages de source. Vérifiez ces outils avant de diagnostiquer une entrée de recherche manquante comme une défaillance LLM.

Route de configuration du modèle TradingAgents via son fournisseur compatible vers les emplacements de modèle de recherche et de résumé.TradingAgents routes through openai_compatible + backend_url to the APIsRouter gateway (api.apisrouter.com/v1), which fans out to: Research model slot, Summary model slot.TradingAgentsviaopenai_compatible +backend_urlAPIsRouterapi.apisrouter.com/v1Research model slotSummary model slot
Route du client de modèle documentée. La configuration des données de marché reste séparée.

Choisissez les rôles selon le contrat de tâche

Testez les capacités réellement utilisées par chaque rôle. Une réponse textuelle n'établit ni l'analyse des appels d'outils, ni la gestion d'un long contexte, ni le comportement de sortie structurée. Changer de famille de modèles peut aussi modifier le comportement de l'adaptateur fournisseur, même lorsque l'endpoint accepte son identifiant. Commencez par le plus petit ensemble de rôles utile ; n'ajoutez le débat que lorsqu'il repère des affirmations non étayées ou des contre-preuves utiles. Évaluez l'artefact final avec le même paquet source au lieu de considérer les rapports plus longs comme une meilleure recherche.

RôlePreuve requiseÉchec à inspecter
AnalysteRésultat de l'outil et localisateur de sourceFaits inventés après une erreur de données
Débat de rechercheArguments liés aux preuves de l'analysteAffirmations répétées présentées comme corroboration
Revue du risqueHypothèses explicites et éléments non résolusPosition assurée sans entrées vérifiées

Utilisez un test d'acceptation par étapes pour le premier run

Inspectez d'abord la configuration résolue sans afficher les clés. Ensuite, dans un environnement d'exécution autorisé, exercez le client du projet avec le modèle sélectionné et conservez un enregistrement de requête masqué. Testez alors une interaction d'outil requise et son chemin d'erreur. Enfin, exécutez TradingAgentsGraph avec un ensemble de sources délimité et inspectez l'état obtenu, les faits cités et la sortie finale de recherche. Enregistrez la révision du dépôt, les versions des dépendances, les hashes d'entrée et les paramètres des rôles. Une réponse de fabrique ne franchit que l'étape client ; l'acceptation d'un rapport complet exige encore une revue des sources et des chiffres avant de compter comme artefact de recherche utilisable.

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.

Protégez la recherche historique des informations ultérieures

Une date d'analyse demandée ne prouve pas que chaque réponse fournisseur est disponible à cette date. Vérifiez si les fondamentaux étaient réellement disponibles avant la date de coupure, si des articles ont ensuite été corrigés et si des données en cache provenaient d'une autre expérience. Conservez séparément l'heure de publication originale et l'heure d'ingestion. Gardez les retours d'entraînement ou de réflexion en dehors d'une période d'évaluation réservée. Les listes historiques de tickers doivent inclure les radiations et changements de symboles pertinents. Enregistrez le traitement des opérations sur titres et le benchmark de comparaison avec chaque expérience afin de ne pas confondre un changement de modèle avec un changement de données.

Budgez le débat, les nouvelles tentatives et le contexte répété

La dépense d'un agent financier provient de chaque requête du graphe, y compris les résumés, le contexte répété et les nouvelles tentatives facturables. Utilisez le contrat tarifaire actuel pour planifier et rapprochez l'utilisation réelle ensuite. Limitez avant un balayage les tours de débat, le volume de sources, les tâches parallèles et les tentatives automatiques. Mettez l'extraction source en cache selon les versions des documents ; distinguez la réutilisation de l'application des remises de facturation du fournisseur. Suivez les abonnements de données et le calcul local séparément des frais LLM et comparez le coût par artefact de recherche accepté. Commencez par le run délimité ci-dessus avant d'étendre l'univers des tickers et des dates.

Diagnostiquez l'étape qui a échoué

Pour les échecs d'authentification, vérifiez que la clé du fournisseur compatible atteint le même processus que celui qui crée le client. Pour les modèles manquants, comparez l'identifiant exact et l'accès du compte avec le catalogue actuel. Pour une sortie d'outil mal formée, conservez le schéma de l'outil et la réponse masquée plutôt que la seule exception finale. Un blocage peut venir d'une requête du fournisseur de données, d'une boucle d'outils répétée ou d'un délai du modèle ; inspectez les horodatages des étapes avant d'augmenter les limites. Arrêtez-vous si des données obligatoires manquent. Réessayer jusqu'à l'apparition de prose peut masquer l'échec initial et consommer tout le budget de recherche.

Preuves et limites

La configuration a été relue à partir des sources le 5 septembre 2026, à la révision 9dee508c. Les exemples sont des modèles de parcours ; aucune requête client APIsRouter, aucun graphe complet ni aucun cas de coût de tâche mesuré n'a été exécuté pour ce guide. Validez les modèles sélectionnés et les outils de données dans votre propre run délimité avant d'élargir le workflow.

Questions fréquentes

Quelle clé openai_compatible lit-il ?

Le fournisseur examiné utilise OPENAI_COMPATIBLE_API_KEY. Définissez-la dans l'environnement d'exécution et vérifiez le fournisseur résolu sans afficher le secret.

Les deux rôles peuvent-ils utiliser des modèles différents ?

La configuration possède des champs deep_think_llm et quick_think_llm séparés. Validez les deux IDs exacts et chaque capacité requise ; un endpoint partagé seul n'établit pas la compatibilité.

L'endpoint fournit-il les cours des actions ?

Non. Les données de marché passent par des outils fournisseurs configurés séparément, avec leur propre couverture, identifiants, licences et disponibilité.

Quelle date dois-je transmettre à propagate ?

Utilisez la date de recherche prévue et vérifiez séparément que chaque outil de données respecte votre date de coupure de l'information. Un argument de date seul ne rend pas les données actuelles disponibles à la date considérée.

Comment choisir les deux rôles de modèle ?

Utilisez des IDs du catalogue actuel, testez les outils et formats de sortie requis, puis comparez les rapports acceptés issus du même paquet source avant de changer l'un ou l'autre rôle.

Un graphe réussi prouve-t-il une stratégie de trading ?

Non. Il établit un résultat de workflow dans les entrées testées. L'évaluation d'une stratégie exige des données à la date considérée, une évaluation indépendante et des hypothèses d'exécution réalistes.