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.
| Modelo | Preço oficial | Nosso 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 -50Perguntas 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.