Configuración de la API de TradingAgents
Updated 2026-09-06
Conecta el cliente de modelos documentado y valida después el grafo de investigación por separado. Esta guía revisada por fuentes cubre la configuración del proveedor, las dependencias de datos financieros y un primer experimento acotado.
Empieza con una pregunta de investigación versionada
Configura el proveedor compatible, la URL backend personalizada y dos funciones de modelo y prueba después una empresa en una fecha de investigación definida. TradingAgents organiza analistas, argumentos de investigación enfrentados y revisión de riesgos, así que una primera tarea útil es inspeccionar cómo esas funciones explican el mismo paquete de fuentes. Elige la empresa y el corte de información antes de cambiar modelos. Conserva los datos subyacentes y los elementos sin resolver de la primera ejecución para que las comparaciones posteriores de modelos usen la misma pregunta. Los campos de abajo siguen la revisión service 9dee508c.
Configura el proveedor compatible y las dos funciones de modelo
El archivo default_config.py revisado expone llm_provider, backend_url, deep_think_llm y quick_think_llm. El cliente compatible usa el endpoint proporcionado; la autenticación es un ajuste de entorno separado. Ambos espacios de función necesitan un identificador exacto de modelo aceptado por el endpoint elegido y el cliente del proyecto. El ejemplo adapta esos campos de origen y solo construye la configuración. Define RESEARCH_MODEL_ID y SUMMARY_MODEL_ID a partir del catálogo actual después de comprobar las capacidades necesarias. Son nombres de espacios de entorno locales, no IDs de modelos ni valores predeterminados de TradingAgents. Conserva la credencial en el entorno del proceso, no en el 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.Mantén separada la ruta del modelo de los datos financieros
Configura los proveedores de datos financieros de forma independiente del endpoint del modelo. Para renta variable internacional, resuelve el emisor y el símbolo específico de la bolsa antes de recopilar. Conserva la moneda de negociación, la moneda de información, la zona horaria del mercado y la elección del benchmark. Un recibo depositario cotizado en EE. UU. y la acción ordinaria subyacente necesitan una regla de conversión explícita antes de comparar sus series de precios. El diagrama muestra cómo se conectan los ajustes del modelo; las herramientas de datos financieros conservan sus propias credenciales, cobertura y marcas de tiempo de fuentes. Comprueba esas herramientas antes de diagnosticar una entrada de investigación ausente como un fallo del LLM.
Elige las funciones según el contrato de la tarea
Prueba las capacidades que utiliza realmente cada función. Una respuesta de texto no demuestra el análisis de llamadas a herramientas, el manejo de contexto largo ni el comportamiento de salida estructurada. Cambiar de familia de modelos también puede cambiar el comportamiento del adaptador del proveedor aunque el endpoint acepte su identificador. Empieza con el conjunto mínimo de funciones útiles y añade el debate solo cuando identifique afirmaciones sin respaldo o evidencia contraria útil. Evalúa el artefacto final frente al mismo paquete de fuentes en lugar de tratar los informes más largos como una investigación mejor.
| Función | Evidencia requerida | Fallo que inspeccionar |
|---|---|---|
| Analista | Resultado de herramienta y localizador de fuente | Datos inventados después de un error de datos |
| Debate de investigación | Argumentos vinculados a evidencia del analista | Afirmaciones repetidas presentadas como corroboración |
| Revisión de riesgos | Supuestos explícitos y elementos sin resolver | Posición segura sin entradas verificadas |
Usa una prueba de aceptación por etapas en la primera ejecución
Primero inspecciona la configuración resuelta sin imprimir claves. Después, en un entorno de ejecución autorizado, ejercita el cliente del proyecto con el modelo seleccionado y conserva un registro de solicitud redactado. A continuación prueba una interacción de herramienta necesaria y su ruta de error. Por último ejecuta TradingAgentsGraph con un conjunto de fuentes acotado e inspecciona el estado resultante, los datos citados y la salida final de investigación. Guarda la revisión del repositorio, las versiones de dependencias, los hashes de entrada y los ajustes de funciones. Una respuesta de fábrica solo supera la etapa del cliente; un informe completo todavía necesita revisión de fuentes y cifras antes de contar como artefacto de investigación utilizable.
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.Protege la investigación histórica frente a información posterior
Una fecha de análisis solicitada no demuestra que cada respuesta de proveedor sea de un momento concreto. Comprueba si los datos fundamentales estaban realmente disponibles en el corte, si los artículos se corrigieron después y si los datos almacenados en caché procedían de otro experimento. Conserva por separado la hora de publicación original y la hora de ingestión. Mantén el feedback de entrenamiento o reflexión fuera de un periodo de evaluación retenido. Las listas históricas de tickers deben incluir exclusiones de cotización y cambios de símbolo pertinentes. Registra el tratamiento de acciones corporativas y el benchmark de comparación junto a cada experimento para no confundir un cambio de modelo con un cambio de datos.
Presupuesta el debate, los reintentos y el contexto repetido
El gasto del agente financiero procede de cada solicitud del grafo, incluidos resúmenes, contexto repetido y reintentos facturables. Usa el contrato de precios actual para planificar y concilia después el uso real de las solicitudes. Limita las rondas de debate, el volumen de fuentes, los trabajos paralelos y los reintentos automáticos antes de un barrido. Guarda en caché la extracción de fuentes usando versiones de documentos y distingue la reutilización de la aplicación de los descuentos de facturación del proveedor. Sigue las suscripciones de datos y el cálculo local por separado de los cargos del LLM y compara el coste por artefacto de investigación aceptado. Empieza con la ejecución acotada de arriba antes de ampliar el universo de tickers y fechas.
Diagnostica la etapa que falló
Para los fallos de autenticación, verifica que la clave del proveedor compatible llegue al mismo proceso que crea el cliente. Para los modelos ausentes, compara el identificador exacto y el acceso de la cuenta con el catálogo actual. Para una salida de herramienta malformada, conserva el esquema de la herramienta y la respuesta saneada en lugar de solo la excepción final. Un bloqueo puede ser una solicitud del proveedor de datos, un ciclo repetido de herramientas o un timeout del modelo; inspecciona las marcas de tiempo de cada etapa antes de aumentar los límites. Detente si faltan datos obligatorios. Reintentar hasta que aparezca prosa puede ocultar el fallo original y consumir todo el presupuesto de investigación.
Evidencia y limitaciones
La configuración se revisó con fuentes el 5 de septiembre de 2026 en la revisión 9dee508c. Los ejemplos son plantillas de recorrido; para esta guía no se ejecutaron una solicitud de cliente de APIsRouter, un grafo completo ni un caso de coste de tarea medido. Valida los modelos y las herramientas de datos elegidos en tu propia ejecución acotada antes de ampliar el flujo.
Preguntas frecuentes
¿Qué clave lee openai_compatible?
El proveedor revisado se asigna a OPENAI_COMPATIBLE_API_KEY. Configúrala en el entorno de ejecución y verifica el proveedor resuelto sin imprimir el secreto.
¿Las dos funciones pueden usar modelos diferentes?
La configuración tiene campos separados deep_think_llm y quick_think_llm. Valida ambos IDs exactos y cada capacidad necesaria; un endpoint compartido por sí solo no demuestra compatibilidad.
¿El endpoint proporciona precios de acciones?
No. Los datos de mercado llegan mediante herramientas de proveedores configuradas por separado, con su propia cobertura, credenciales, licencias y disponibilidad.
¿Qué fecha debo pasar a propagate?
Usa la fecha de investigación prevista y verifica por separado que cada herramienta de datos respete tu corte de información. Un argumento de fecha por sí solo no convierte los datos actuales en datos de un momento concreto.
¿Cómo debo elegir las dos funciones de modelo?
Usa IDs del catálogo actual, prueba las herramientas y formatos de salida necesarios y compara informes aceptados del mismo paquete de fuentes antes de cambiar cualquiera de las dos funciones.
¿Un grafo correcto demuestra una estrategia de trading?
No. Establece un resultado del flujo bajo las entradas probadas. La evaluación de estrategias necesita datos de un momento concreto, evaluación independiente y supuestos de ejecución realistas.