Запустите агентные пайплайны FinGPT на кастомном OpenAI-совместимом эндпоинте.
Updated 2026-07-30
Пайплайн мультиагентного анализа FinGPT настраивает свою LLM через словарь AG2 LLMConfig, который принимает api_type "openai" и base_url. Установите base_url в https://api.apisrouter.com/v1, передайте один ключ — и агенты-исследователь, аналитик настроений и советник смогут работать на любом id модели из каталога.
Короткий ответ: base_url в словаре AG2 LLMConfig.
Пайплайн мультиагентного финансового анализа FinGPT (fingpt/ag2_financial_analysis_pipeline.ipynb в апстримном репозитории) строит свою конфигурацию LLM как словарь AG2 LLMConfig с четырьмя ключами: model, api_key, api_type и base_url. Сам апстримный ноутбук указывает base_url на OpenAI-совместимый эндпоинт роутера, а не на api.openai.com, так что маршрутизация через шлюз — это задокументированный здесь паттерн, а не обходной путь. Чтобы прогнать пайплайн через APIsRouter, установите api_type в "openai", base_url в https://api.apisrouter.com/v1, поместите ваш ключ шлюза в api_key и задайте model как любой id из каталога. Каждый AssistantAgent в ноутбуке получает один и тот же объект llm_config, так что один словарь сдвигает всю команду агентов.
from autogen import LLMConfig # ag2[openai]>=0.11.4
llm_config = LLMConfig({
"model": "claude-sonnet-4-6",
"api_key": os.environ["APISROUTER_API_KEY"],
"api_type": "openai",
"base_url": "https://api.apisrouter.com/v1",
})Где FinGPT на самом деле вызывает LLM API.
FinGPT (AI4Finance-Foundation на GitHub, около 21K звёзд) — это две вещи под одним именем, и понимание того, какую половину вы запускаете, решает, имеет ли вообще значение кастомный эндпоинт. Первая половина — это дообученные открытые веса: ноутбуки LoRA-обучения для Llama и ChatGLM, которые и сделали проект известным. Они работают локально или на арендованных GPU через Hugging Face transformers, не делают вызовов chat-completions, и никакой base URL к ним не применяется. Вторая половина — это прикладные пайплайны, и именно здесь живёт OpenAI-совместимая поверхность. Мультиагентный пайплайн анализа AG2 связывает трёх AssistantAgent (новостной исследователь, аналитик настроений и инвестиционный советник) с одним LLMConfig, дополняет их вызовами инструментов yfinance и локальным классификатором настроений FinBERT, и позволяет им передавать анализ акции между ролями. Пайплайн анализа финансовых отчётов (fingpt/FinGPT_FinancialReportAnalysis) управляет LangChain ChatOpenAI против поданных SEC через sec-api и Financial Modeling Prep. Оба пайплайна отправляют стандартные запросы /v1/chat/completions, оба выставляют эндпоинт как параметр, и оба передают поле model как обычную строку, что и позволяет id Claude или DeepSeek ехать на api_type "openai", как только эндпоинт за base_url его обслуживает.
Полная настройка: пайплайн AG2 и пайплайн анализа отчётов.
Пайплайн AG2 — самая чистая интеграция. Замените значения LLMConfig в ноутбуке на эндпоинт шлюза и предпочитаемый id модели, и три агента вместе со своим циклом вызова инструментов работают без изменений. Сторона финансовых данных (котировки yfinance, оценка настроений FinBERT) локальна и свободна от API-ключей, так что эндпоинт LLM — единственная внешняя зависимость, которую вы двигаете. Пайплайн анализа отчётов использует LangChain ChatOpenAI, который принимает api_key и base_url как аргументы конструктора; апстримный ноутбук демонстрирует именно эту пару, показывая, как подставить локальный OpenAI-совместимый сервер. Направьте те же два аргумента на шлюз вместо этого. Учтите, что этому ноутбуку также нужны credentials SEC и Financial Modeling Prep для получения данных; это ключи рыночных данных, не связанные с эндпоинтом LLM, и они остаются как есть.
import os
from autogen import AssistantAgent, LLMConfig
llm_config = LLMConfig({
"model": "claude-sonnet-4-6", # any catalog id
"api_key": os.environ["APISROUTER_API_KEY"],
"api_type": "openai",
"base_url": "https://api.apisrouter.com/v1",
})
researcher = AssistantAgent(name="News_Researcher", llm_config=llm_config)
analyst = AssistantAgent(name="Sentiment_Analyst", llm_config=llm_config)
advisor = AssistantAgent(name="Investment_Advisor", llm_config=llm_config)Выбор моделей для агентов финансового анализа.
Поскольку каждый кандидат — это одна строка модели против одного и того же эндпоинта, практичный цикл — зафиксировать ваши тикеры и даты, прогнать пайплайн один раз на каждый id-кандидат и сравнить вывод советника. Лог использования по ключу оценивает каждый прогон кандидата за вас, что решает спор о качестве на токен цифрами, а не интуицией.
- Роль советника — это узкое место рассуждения. Она синтезирует находки исследователя, оценки настроений и картину рисков в прогноз, и фронтир-модель рассуждения (claude-opus-4-7, gpt-5.5) — это то, на чём синтез перестаёт быть общим.
- Роли исследователя и аналитика — это объёмные роли: чтение заголовков, структурирование вывода инструментов, оценка черновиков. claude-sonnet-4-6 или deepseek-v4-pro держат их острыми без фронтирной цены на каждом промежуточном ходе.
- Анализ отчётов — это нагрузка с длинным контекстом. Раздел 10-K плюс контекст целевой цены — это большой промпт, так что протестируйте gemini-3.1-pro-preview или claude-sonnet-4-6 на стороне подачи данных, прежде чем принимать умолчание.
- Корни FinGPT двуязычны. Если ваш пайплайн читает китайскоязычные отчёты или новости, glm-5.2 и deepseek-v4-pro нативно сильны там и адресуемы через тот же эндпоинт по id.
- Запуск одного LLMConfig для всех агентов — умолчание ноутбука, но ничто не мешает вам построить два словаря против одного и того же base_url, фронтирный для советника и быстрый для читающих, и назначить их по агентам.
Оплата по факту · дешевле официальных цен
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Модель | Официальная цена | Наша цена |
|---|---|---|
| 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 |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
Оговорки: не каждый base_url в FinGPT — это LLM.
FinGPT — это исследовательский монорепозиторий, и несколько вещей выглядят как настройки эндпоинта LLM, не будучи ими. У market_sentiment.py в Forecaster есть параметры api_key и base_url, но они настраивают сервис настроений рыночных данных (читаемый из ADANOS_API_KEY), а не эндпоинт chat-completions. Изменение этого base_url не маршрутизирует никакой трафик LLM. Сами модели FinGPT-Forecaster — это дообученные веса Llama, обслуживаемые через Hugging Face, так что демо форкастера вообще не является OpenAI-совместимым потребителем. Более новая платформа Finogrid внутри репозитория выбирает свою LLM через переменную окружения FINGPT_LLM_PROVIDER (openai, minimax или fingpt) и читает OPENAI_API_KEY для провайдера openai. По состоянию на июль 2026 года её пример env-файла документирует переключение провайдера и ключ, но не переменную для переопределения base URL, так что считайте Finogrid вне области применения для шлюза, пока апстрим не задокументирует такую возможность. Наконец, ноутбук AG2 фиксирует ag2[openai] на версии 0.11.4 или новее. Более старые установки pyautogen эпохи 0.2 настраивают те же четыре ключа через записи config_list вместо класса LLMConfig; ключи идентичны, так что маршрутизация работает, но подгоняйте свой стиль импорта под то поколение AutoGen, которое у вас реально установлено.
Кто направляет FinGPT через шлюз.
- Количественные исследователи, прогоняющие мультиагентный анализ по списку тикеров. Десятки ходов агентов на акцию делают видимость использования по ключу полезнее, чем дашборд вендора на каждого провайдера.
- Команды, сравнивающие качество анализа между семействами моделей. Каждый кандидат — это одна строка модели в LLMConfig, а не новая интеграция и аккаунт у провайдера.
- Аналитики, обрабатывающие отчёты массово через пайплайн отчётов, где разница в цене длинного контекста между id доминирует в счёте.
- Двуязычные финансовые команды, сочетающие сильные по-китайски id вроде glm-5.2 или deepseek-v4-pro с рассуждением Claude или GPT, всё за одним эндпоинтом.
- Разработчики без доступа к биллингу конкретного вендора. Доступ на основе пополнения без требования карты убирает зависимость от регистрации у каждого провайдера.
Проверьте эндпоинт и отладьте первый прогон.
Перед запуском ноутбука получите список моделей, доступных вашему ключу; строка модели в LLMConfig должна точно совпадать с обслуживаемым id. Сбои первого прогона следуют короткому списку. 401 означает, что api_key в словаре — не валидный ключ для эндпоинта в base_url; поскольку оба живут в одном словаре, выведите словарь (без ключа) и проверьте, что вы отредактировали именно ту копию, которую реально получили агенты. Ошибка model-not-found — это опечатка в id, а вывод /v1/models — авторитетное написание. Ошибка подключения обычно означает, что base_url потерял суффикс /v1, поскольку клиент добавляет /chat/completions к тому, что вы дали в качестве базы. А если шаг настроений падает, пока чат агентов работает, это локальный классификатор FinBERT или отсутствующая установка transformers, а не шлюз. Как только запросы начинают идти, консоль APIsRouter показывает модель на запрос, счётчики токенов и расходы. Мультиагентные пайплайны быстро умножают вызовы, и вид использования — это способ увидеть, какая роль агента потребляет токены, прежде чем масштабировать прогон на весь watchlist.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Частые вопросы
Поддерживает ли FinGPT кастомный OpenAI-совместимый эндпоинт из коробки?
Да, в своих пайплайнах на основе API. Ноутбук мультиагентного анализа AG2 настраивает LLMConfig с api_type "openai" плюс base_url, а ноутбук анализа отчётов передаёт base_url в LangChain ChatOpenAI. Оба — апстримные паттерны; дообученные локальные модели — это отдельная, офлайн половина проекта.
Могут ли агенты FinGPT работать на моделях Claude или DeepSeek таким способом?
Да. api_type остаётся "openai", а поле model пересылается как обычная строка через /v1/chat/completions. Работает любой id, обслуживаемый эндпоинтом за base_url, включая id Claude, DeepSeek, GLM и Gemini.
Нужен ли мне всё ещё аккаунт OpenAI для пайплайна AG2?
Нет. Когда base_url указывает на шлюз, а api_key хранит ключ шлюза, ни один запрос не касается хостов OpenAI. Сам апстримный ноутбук демонстрирует это, маршрутизируя через не-OpenAI совместимый эндпоинт.
Влияет ли кастомный base_url на рыночные данные FinGPT или оценку настроений FinBERT?
Нет. Котировки yfinance и классификатор FinBERT работают локально без API-ключей, а credentials SEC и Financial Modeling Prep у пайплайна отчётов — отдельные ключи данных. Эндпоинт LLM — единственное, что двигает base_url.
А что насчёт параметра base_url в market_sentiment.py у Forecaster?
Он настраивает сервис настроений рыночных данных, аутентифицируемый ADANOS_API_KEY, а не эндпоинт LLM. Собственные модели Forecaster — это дообученные веса, обслуживаемые через Hugging Face, так что OpenAI-совместимая маршрутизация там не применяется.
Поддерживает ли платформа Finogrid внутри FinGPT кастомный эндпоинт тоже?
Не задокументировано по состоянию на июль 2026 года. Finogrid выбирает провайдера через FINGPT_LLM_PROVIDER и читает OPENAI_API_KEY, но её пример env-файла не показывает переопределения base URL, так что считайте маршрутизацию там прямой к вендору, пока апстрим не добавит такую возможность.