Rode os pipelines de agentes do FinGPT em um endpoint personalizado compatível com OpenAI.

Updated 2026-07-30

O pipeline de análise multi-agente do FinGPT configura seu LLM através de um dict AG2 LLMConfig que aceita api_type "openai" e um base_url. Defina base_url como https://api.apisrouter.com/v1, passe uma chave, e os agentes pesquisador, de sentimento, e consultor podem rodar em qualquer id de modelo do catálogo.

Resposta rápida: base_url no dict AG2 LLMConfig.

O pipeline de análise financeira multi-agente do FinGPT (fingpt/ag2_financial_analysis_pipeline.ipynb no repositório upstream) constrói sua configuração de LLM como um dict AG2 LLMConfig com quatro chaves: model, api_key, api_type, e base_url. O próprio notebook upstream aponta base_url para um endpoint de roteador compatível com OpenAI em vez de api.openai.com, então rotear por um gateway é o padrão documentado aqui, não um workaround. Para rodar o pipeline pela APIsRouter, defina api_type como "openai", defina base_url como https://api.apisrouter.com/v1, coloque sua chave do gateway em api_key, e defina model como qualquer id do catálogo. Todo AssistantAgent no notebook recebe o mesmo objeto llm_config, então um dict move o time de agentes inteiro.

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",
})

Onde o FinGPT de fato chama uma API de LLM.

O FinGPT (AI4Finance-Foundation no GitHub, cerca de 21 mil estrelas) é duas coisas sob um nome, e saber qual metade você está rodando decide se um endpoint personalizado importa em algum grau. A primeira metade são pesos abertos com fine-tuning: os notebooks de treinamento LoRA para Llama e ChatGLM que tornaram o projeto conhecido. Esses rodam localmente ou em GPUs alugadas através do Hugging Face transformers, não fazem chamadas chat-completions, e nenhuma base URL se aplica a eles. A segunda metade são os pipelines de aplicação, e é aqui que vive a superfície compatível com OpenAI. O pipeline de análise multi-agente AG2 conecta três AssistantAgents (um pesquisador de notícias, um analista de sentimento, e um consultor de investimento) a um LLMConfig, os aumenta com chamadas de ferramenta yfinance e um classificador de sentimento FinBERT local, e os deixa passar uma análise de ação entre papéis. O pipeline de análise de relatório financeiro (fingpt/FinGPT_FinancialReportAnalysis) conduz o ChatOpenAI do LangChain contra arquivamentos da SEC puxados através do sec-api e Financial Modeling Prep. Ambos os pipelines enviam requisições /v1/chat/completions padrão, ambos expõem o endpoint como um parâmetro, e ambos encaminham o campo model como uma string simples, o que é o que permite que um id Claude ou DeepSeek ande sobre um api_type "openai" assim que o endpoint por trás de base_url o servir.

Configuração completa: o pipeline AG2 e o pipeline de análise de relatório.

O pipeline AG2 é a integração mais limpa. Substitua os valores do LLMConfig do notebook pelo endpoint do gateway e seu id de modelo preferido, e os três agentes mais seu loop de uso de ferramenta rodam sem alterações. O lado de dados financeiros (cotações yfinance, pontuação de sentimento FinBERT) é local e livre de chaves de API, então o endpoint de LLM é a única dependência externa que você está movendo. O pipeline de análise de relatório usa o ChatOpenAI do LangChain, que aceita api_key e base_url como argumentos de construtor; o notebook upstream demonstra exatamente esse par quando mostra como trocar por um servidor local compatível com OpenAI. Aponte os mesmos dois argumentos para o gateway. Note que esse notebook também quer credenciais SEC e Financial Modeling Prep para suas buscas de dados; essas são chaves de dados de mercado, não relacionadas ao endpoint de LLM, e permanecem como estão.

import os
from autogen import AssistantAgent, LLMConfig

llm_config = LLMConfig({
    "model": "claude-sonnet-4-6",         # qualquer id do catálogo
    "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)

Escolhendo modelos para agentes de análise financeira.

Como todo candidato é uma string de modelo contra o mesmo endpoint, o ciclo prático é fixar seus tickers e datas, rodar o pipeline uma vez por id candidato, e comparar a saída do consultor. O log de uso por chave precifica cada execução candidata para você, o que resolve o argumento de qualidade-por-token com números em vez de instinto.

  • O papel de consultor é o gargalo de raciocínio. Ele sintetiza os achados do pesquisador, as pontuações de sentimento, e o quadro de risco em uma perspectiva, e um modelo de raciocínio de ponta (claude-opus-4-7, gpt-5.5) é onde essa síntese deixa de ser genérica.
  • Os papéis de pesquisador e analista são papéis de volume: ler manchetes, estruturar saída de ferramenta, pontuar rascunhos. claude-sonnet-4-6 ou deepseek-v4-pro os mantém afiados sem preço de ponta em todo turno intermediário.
  • Análise de relatório é uma carga de contexto longo. Uma seção de 10-K mais contexto de preço-alvo é um prompt grande, então teste gemini-3.1-pro-preview ou claude-sonnet-4-6 no lado de arquivamentos antes de assumir o padrão.
  • As raízes do FinGPT são bilíngues. Se seu pipeline lê arquivamentos ou notícias em chinês, glm-5.2 e deepseek-v4-pro são nativamente fortes ali e endereçáveis pelo mesmo endpoint por id.
  • Rodar um LLMConfig para todos os agentes é o padrão do notebook, mas nada impede você de construir dois dicts contra o mesmo base_url, um de ponta para o consultor e um rápido para os leitores, e atribuí-los por agente.

Pague pelo uso · abaixo do preço oficial

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModeloPreço oficialNosso preço
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

Ressalvas: nem todo base_url no FinGPT é o LLM.

O FinGPT é um monorepo de pesquisa, e algumas coisas parecem configurações de endpoint de LLM sem serem. O market_sentiment.py do Forecaster tem parâmetros api_key e base_url, mas eles configuram um serviço de sentimento de dados de mercado (lido de ADANOS_API_KEY), não um endpoint chat-completions. Mudar aquele base_url não roteia nenhum tráfego de LLM. Os próprios modelos do FinGPT-Forecaster são pesos Llama com fine-tuning servidos através do Hugging Face, então o demo do forecaster não é um consumidor compatível com OpenAI de forma alguma. A plataforma Finogrid mais nova dentro do repositório seleciona seu LLM através de uma variável de ambiente FINGPT_LLM_PROVIDER (openai, minimax, ou fingpt) e lê OPENAI_API_KEY para o provider openai. Em julho de 2026, seu arquivo de ambiente de exemplo documenta a troca de provider e a chave, mas nenhuma variável de sobrescrita de base URL, então trate o Finogrid como fora de escopo para um gateway até o upstream documentar uma. Por fim, o notebook AG2 fixa ag2[openai] em 0.11.4 ou mais recente. Instalações mais antigas da era pyautogen 0.2 configuram as mesmas quatro chaves através de entradas config_list em vez da classe LLMConfig; as chaves são idênticas, então o roteamento funciona, mas combine seu estilo de import com a geração do AutoGen que você de fato tem instalada.

Quem roteia o FinGPT por um gateway.

  • Pesquisadores quant rodando a análise multi-agente por uma lista de tickers. Dezenas de turnos de agente por ação tornam a visibilidade de uso por chave mais útil do que um painel de fornecedor por provider.
  • Times comparando qualidade de análise entre famílias de modelo. Cada candidato é uma string de modelo no LLMConfig, não uma nova integração e conta de provider.
  • Analistas processando arquivamentos em massa pelo pipeline de relatório, onde diferenças de preço de contexto longo entre ids dominam a conta.
  • Times financeiros bilíngues combinando ids fortes em chinês como glm-5.2 ou deepseek-v4-pro com raciocínio Claude ou GPT, tudo atrás de um endpoint.
  • Desenvolvedores sem acesso ao faturamento de um determinado fornecedor. O acesso baseado em recarga sem exigência de cartão remove a dependência de cadastro por provedor.

Verifique o endpoint e depure a primeira execução.

Antes de lançar o notebook, liste os modelos que sua chave pode endereçar; a string de modelo no LLMConfig precisa corresponder a um id servido exatamente. Falhas de primeira execução seguem uma lista curta. Um 401 significa que a api_key no dict não é uma chave válida para o endpoint em base_url; como ambos vivem no mesmo dict, imprima o dict (sem a chave) e verifique se você editou a cópia que os agentes de fato receberam. Um erro model-not-found é um erro de digitação no id, e a saída de /v1/models é a grafia autoritativa. Um erro de conexão geralmente significa que base_url perdeu seu sufixo /v1, já que o cliente anexa /chat/completions a qualquer base que você dê. E se a etapa de sentimento falha enquanto o chat de agente funciona, isso é o classificador FinBERT local ou uma instalação de transformers faltando, não o gateway. Assim que as requisições fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. Pipelines multi-agente multiplicam chamadas rapidamente, e a visão de uso é como você vê qual papel de agente está consumindo os tokens antes de escalar a execução para uma lista de acompanhamento completa.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Perguntas frequentes

O FinGPT suporta um endpoint personalizado compatível com OpenAI pronto para uso?

Sim, em seus pipelines orientados a API. O notebook de análise multi-agente AG2 configura LLMConfig com api_type "openai" mais um base_url, e o notebook de análise de relatório passa base_url para o ChatOpenAI do LangChain. Ambos são padrões upstream; os modelos locais com fine-tuning são uma metade offline separada do projeto.

Os agentes do FinGPT podem rodar em modelos Claude ou DeepSeek dessa forma?

Sim. O api_type permanece "openai" e o campo model é encaminhado como uma string simples via /v1/chat/completions. Qualquer id servido pelo endpoint por trás de base_url funciona, incluindo ids Claude, DeepSeek, GLM, e Gemini.

Ainda preciso de uma conta OpenAI para o pipeline AG2?

Não. Com base_url apontando para o gateway e api_key contendo uma chave de gateway, nenhuma requisição toca hosts da OpenAI. O próprio notebook upstream demonstra isso roteando por um endpoint compatível não-OpenAI.

Um base_url personalizado afeta os dados de mercado ou a pontuação de sentimento FinBERT do FinGPT?

Não. Cotações yfinance e o classificador FinBERT rodam localmente sem chaves de API, e as credenciais SEC e Financial Modeling Prep do pipeline de relatório são chaves de dados separadas. O endpoint de LLM é a única coisa que base_url move.

E o parâmetro base_url no market_sentiment.py do Forecaster?

Esse configura um serviço de sentimento de dados de mercado autenticado por ADANOS_API_KEY, não um endpoint de LLM. Os próprios modelos do Forecaster são pesos com fine-tuning servidos através do Hugging Face, então nenhum roteamento compatível com OpenAI se aplica ali.

A plataforma Finogrid dentro do FinGPT também suporta um endpoint personalizado?

Não documentado em julho de 2026. O Finogrid seleciona um provider via FINGPT_LLM_PROVIDER e lê OPENAI_API_KEY, mas seu arquivo de ambiente de exemplo não mostra sobrescrita de base URL, então assuma roteamento direto ao fornecedor ali até o upstream adicionar uma.