Настройка API TradingAgents

Updated 2026-09-06

Подключите документированный клиент модели, а затем отдельно проверьте исследовательский граф. Это руководство с проверенными источниками охватывает настройки провайдера, зависимости финансовых данных и ограниченный первый эксперимент.

Начните с версионированного исследовательского вопроса

Настройте совместимого провайдера, пользовательский backend URL и две роли моделей, затем проверьте одну компанию на заданную дату исследования. TradingAgents организует аналитиков, противоположные исследовательские аргументы и проверку рисков, поэтому полезная первая задача — посмотреть, как эти роли объясняют один и тот же пакет источников. До смены моделей выберите компанию и информационный срез. Сохраните исходные факты и нерешённые вопросы первого запуска, чтобы последующие сравнения моделей использовали один вопрос. Поля ниже соответствуют ревизии верхнего уровня 9dee508c.

Настройте совместимого провайдера и обе роли моделей

Проверенный default_config.py открывает поля llm_provider, backend_url, deep_think_llm и quick_think_llm. Совместимый клиент использует заданную конечную точку, а аутентификация задаётся отдельно в окружении. Для обоих слотов ролей нужен точный идентификатор модели, который принимают выбранная конечная точка и клиент проекта. Пример ниже адаптирует эти исходные поля и только строит конфигурацию. После проверки необходимых возможностей задайте RESEARCH_MODEL_ID и SUMMARY_MODEL_ID по текущему каталогу. Это локальные слоты окружения, а не идентификаторы моделей или значения по умолчанию TradingAgents. Храните учётные данные в окружении процесса, а не в скрипте.

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.

Отделите путь модели от финансовых данных

Настройте поставщиков финансовых данных независимо от конечной точки модели. Для международных акций до сбора разрешите идентификатор эмитента и биржевой символ. Сохраняйте валюту торгов, валюту отчётности, часовой пояс рынка и выбор бенчмарка. Для сравнения ценовых рядов американской депозитарной расписки и базовой обыкновенной акции нужно явное правило преобразования. Диаграмма показывает связь настроек модели; инструменты финансовых данных имеют собственные учётные данные, покрытие и временные метки источников. Проверьте эти инструменты, прежде чем объяснять отсутствие исследовательского ввода сбоем LLM.

Маршрут конфигурации модели TradingAgents через совместимого провайдера к слотам исследовательской модели и модели сводки.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.TradingAgentsviaмаршрутopenai_compatible +backend_urlAPIsRouterapi.apisrouter.com/v1Research model slotSummary model slot
Документированный маршрут клиента модели. Конфигурация рыночных данных отделена.

Выбирайте роли по контракту задачи

Проверьте возможности, которые фактически использует каждая роль. Текстовый ответ не подтверждает разбор вызовов инструментов, работу с длинным контекстом или структурированный вывод. Смена семейства моделей может изменить поведение адаптера провайдера, даже если конечная точка принимает его идентификатор. Начните с минимального полезного набора ролей; добавляйте дебаты только если они выявляют неподтверждённые утверждения или полезные контраргументы. Оценивайте итоговый артефакт на том же пакете источников, а не считайте длинные отчёты лучшим исследованием.

РольТребуемое свидетельствоКакую ошибку проверять
АналитикРезультат инструмента и расположение источникаВыдуманные факты после ошибки данных
Исследовательские дебатыАргументы, связанные с доказательствами аналитикаПовторные утверждения, выданные за подтверждение
Проверка рисковЯвные предположения и нерешённые вопросыУверенная позиция без проверенных входных данных

Используйте поэтапный приёмочный тест первого запуска

Сначала изучите разрешённую конфигурацию, не выводя ключи. Затем в авторизованной среде выполнения запустите клиент проекта с выбранной моделью и сохраните редактированную запись запроса. После этого проверьте необходимое взаимодействие с инструментом и его путь ошибки. Наконец, запустите TradingAgentsGraph на ограниченном наборе источников и изучите полученное состояние, процитированные факты и итоговый исследовательский вывод. Сохраните ревизию репозитория, версии зависимостей, хэши входных данных и настройки ролей. Ответ фабрики проходит только этап клиента; полный отчёт всё ещё требует проверки источников и чисел, прежде чем станет пригодным исследовательским артефактом.

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.

Защитите историческое исследование от последующей информации

Запрошенная дата анализа не доказывает, что каждый ответ поставщика относится к моменту времени. Проверьте, действительно ли фундаментальные данные были доступны к срезу, исправлялись ли статьи позднее и не получены ли кэшированные данные из другого эксперимента. Храните исходное время публикации и время загрузки отдельно. Обратную связь обучения или ретроспективного анализа держите вне отложенного периода оценки. Исторические списки тикеров должны включать относящиеся к делу делистинги и изменения символов. Для каждого эксперимента записывайте обработку корпоративных действий и сравнительный бенчмарк, чтобы не смешать изменение модели с изменением данных.

Бюджетируйте дебаты, повторы и повторяющийся контекст

Расходы финансового агента возникают из каждого запроса в графе, включая сводки, повторный контекст и оплачиваемые повторы. Планируйте по текущему контракту цен и затем сверяйте фактическое использование запросов. До перебора ограничьте число раундов дебатов, объём источников, параллельные задания и автоматические повторы. Кэшируйте извлечение источников по версиям документов и отличайте повторное использование приложения от скидок провайдера на биллинг. Отделяйте подписки на данные и локальные вычисления от расходов LLM и сравнивайте цену принятого исследовательского артефакта. Начните с ограниченного запуска выше, прежде чем расширять множество тикеров и дат.

Диагностируйте этап, на котором произошёл сбой

При ошибках аутентификации проверьте, что ключ совместимого провайдера попадает в тот же процесс, который создаёт клиент. При отсутствии модели сравните точный идентификатор и доступ аккаунта с текущим каталогом. При неверном выводе инструмента сохраняйте схему инструмента и очищенный ответ, а не только последнее исключение. Зависание может быть запросом поставщика данных, повторяющимся циклом инструмента или тайм-аутом модели; изучите временные метки этапов до увеличения лимитов. Остановитесь при отсутствии обязательных данных. Повторы до появления текста могут скрыть исходную ошибку и израсходовать весь исследовательский бюджет.

Свидетельства и ограничения

Конфигурация проверена по источнику 5 сентября 2026 года на ревизии 9dee508c. Примеры являются шаблонами пошагового руководства; для этого руководства не выполнялись запрос клиента APIsRouter, полный граф или случай с измеренной стоимостью задачи. Проверьте выбранные модели и инструменты данных в собственном ограниченном запуске, прежде чем расширять процесс.

Частые вопросы

Какой ключ читает openai_compatible?

Проверенный провайдер сопоставлен с OPENAI_COMPATIBLE_API_KEY. Задайте его в окружении выполнения и проверьте разрешённого провайдера, не выводя секрет.

Могут ли две роли использовать разные модели?

В конфигурации есть отдельные поля deep_think_llm и quick_think_llm. Проверьте оба точных идентификатора и необходимые возможности; одна общая конечная точка не подтверждает совместимость.

Предоставляет ли конечная точка цены акций?

Нет. Рыночные данные поступают из отдельно настроенных инструментов поставщика, у которых собственные покрытие, учётные данные, лицензии и доступность.

Какую дату передавать в propagate?

Используйте нужную дату исследования и отдельно проверьте, что каждый инструмент данных соблюдает информационный срез. Один аргумент даты не делает текущие данные относящимися к моменту времени.

Как выбрать две роли моделей?

Используйте текущие идентификаторы каталога, проверьте нужные инструменты и форматы вывода, затем сравните принятые отчёты из одного пакета источников до смены любой роли.

Доказывает ли успешный граф торговую стратегию?

Нет. Он устанавливает результат процесса на проверенных входных данных. Для оценки стратегии нужны данные на момент времени, независимая проверка и реалистичные предположения об исполнении.