FinGPTs Agent-Pipelines auf einem custom OpenAI-kompatiblen Endpoint betreiben.
Updated 2026-07-30
FinGPTs Multi-Agent-Analyse-Pipeline konfiguriert ihr LLM über ein AG2-LLMConfig-Dict, das api_type "openai" und eine base_url nimmt. Setz base_url auf https://api.apisrouter.com/v1, übergib einen Key, und die Researcher-, Sentiment- und Advisor-Agenten können auf jeder Modell-ID im Katalog laufen.
Kurzantwort: base_url im AG2-LLMConfig-Dict.
FinGPTs Multi-Agent-Finanzanalyse-Pipeline (fingpt/ag2_financial_analysis_pipeline.ipynb im Upstream-Repo) baut ihre LLM-Konfiguration als AG2-LLMConfig-Dict mit vier Keys: model, api_key, api_type und base_url. Das Upstream-Notebook selbst zeigt base_url auf einen OpenAI-kompatiblen Router-Endpoint statt auf api.openai.com, Routing über ein Gateway ist hier also das dokumentierte Muster, kein Workaround. Um die Pipeline über APIsRouter laufen zu lassen, setz api_type auf "openai", setz base_url auf https://api.apisrouter.com/v1, leg deinen Gateway-Key in api_key, und setz model auf eine beliebige Katalog-ID. Jeder AssistantAgent im Notebook erhält dasselbe llm_config-Objekt, ein Dict bewegt also das ganze Agenten-Team.
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",
})Wo FinGPT tatsächlich eine LLM-API ruft.
FinGPT (AI4Finance-Foundation auf GitHub, rund 21.000 Stars) ist zwei Dinge unter einem Namen, und zu wissen, welche Hälfte du laufen lässt, entscheidet, ob ein custom Endpoint überhaupt eine Rolle spielt. Die erste Hälfte sind feinjustierte offene Gewichte: die LoRA-Trainings-Notebooks für Llama und ChatGLM, die das Projekt bekannt gemacht haben. Die laufen lokal oder auf gemieteten GPUs über Hugging-Face-Transformers, machen keine Chat-Completions-Calls, und keine Base URL gilt für sie. Die zweite Hälfte sind die Anwendungs-Pipelines, und hier lebt die OpenAI-kompatible Oberfläche. Die AG2-Multi-Agent-Analyse-Pipeline verdrahtet drei AssistantAgents (einen News-Researcher, einen Sentiment-Analysten und einen Investment-Advisor) auf eine LLMConfig, erweitert sie um yfinance-Tool-Calls und einen lokalen FinBERT-Sentiment-Classifier, und lässt sie eine Aktienanalyse zwischen Rollen weiterreichen. Die Financial-Report-Analysis-Pipeline (fingpt/FinGPT_FinancialReportAnalysis) steuert LangChains ChatOpenAI gegen SEC-Filings, gezogen über sec-api und Financial Modeling Prep. Beide Pipelines senden Standard-/v1/chat/completions-Requests, beide exponieren den Endpoint als Parameter, und beide reichen das model-Feld als reinen String durch, was es einer Claude- oder DeepSeek-ID erlaubt, auf einem "openai"-api_type mitzureiten, sobald der Endpoint hinter base_url sie bedient.
Vollständiges Setup: die AG2-Pipeline und die Report-Analyse-Pipeline.
Die AG2-Pipeline ist die sauberste Integration. Ersetz die LLMConfig-Werte des Notebooks durch den Gateway-Endpoint und deine bevorzugte Modell-ID, und die drei Agenten plus ihr Tool-Calling-Loop laufen unverändert. Die Finanzdaten-Seite (yfinance-Kurse, FinBERT-Sentiment-Scoring) ist lokal und ohne API-Keys, der LLM-Endpoint ist also die einzige externe Abhängigkeit, die du bewegst. Die Report-Analysis-Pipeline nutzt LangChains ChatOpenAI, das api_key und base_url als Konstruktor-Argumente akzeptiert; das Upstream-Notebook demonstriert genau dieses Paar, wenn es zeigt, wie man einen lokalen OpenAI-kompatiblen Server einsetzt. Zeig dieselben zwei Argumente stattdessen auf das Gateway. Beachte, dass dieses Notebook auch SEC- und Financial-Modeling-Prep-Credentials für seine Datenabrufe will; das sind Marktdaten-Keys, unabhängig vom LLM-Endpoint, und sie bleiben, wie sie sind.
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)Modelle für Finanzanalyse-Agenten wählen.
Weil jeder Kandidat ein Modell-String gegen denselben Endpoint ist, ist die praktische Schleife, deine Ticker und Daten festzuhalten, die Pipeline einmal pro Kandidaten-ID laufen zu lassen und den Advisor-Output zu diffen. Das Nutzungslog pro Key bepreist jeden Kandidaten-Run für dich, was das Qualität-pro-Token-Argument mit Zahlen statt Instinkt klärt.
- Die Advisor-Rolle ist der Reasoning-Engpass. Sie synthetisiert die Befunde des Researchers, die Sentiment-Scores und das Risikobild zu einem Ausblick, und ein Frontier-Reasoning-Modell (claude-opus-4-7, gpt-5.5) ist, wo diese Synthese aufhört, generisch zu sein.
- Die Researcher- und Analyst-Rollen sind Volumen-Rollen: Schlagzeilen lesen, Tool-Output strukturieren, Entwürfe bewerten. claude-sonnet-4-6 oder deepseek-v4-pro hält sie scharf ohne Frontier-Preise auf jedem Zwischenzug.
- Report-Analyse ist eine Long-Context-Workload. Ein 10-K-Abschnitt plus Kursziel-Kontext ist ein großer Prompt, teste also gemini-3.1-pro-preview oder claude-sonnet-4-6 auf der Filing-Seite, bevor du den Standard annimmst.
- FinGPTs Wurzeln sind zweisprachig. Liest deine Pipeline chinesischsprachige Filings oder News, sind glm-5.2 und deepseek-v4-pro dort nativ stark und über denselben Endpoint per ID adressierbar.
- Ein LLMConfig für alle Agenten laufen zu lassen ist der Notebook-Standard, aber nichts hindert dich daran, zwei Dicts gegen dieselbe base_url zu bauen, ein Frontier-Dict für den Advisor und ein schnelles für die Leser, und sie pro Agent zuzuweisen.
Nutzungsbasiert · unter offiziellem Preis
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modell | Offizieller Preis | Unser Preis |
|---|---|---|
| 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 |
Vorsicht: nicht jede base_url in FinGPT ist das LLM.
FinGPT ist ein Forschungs-Monorepo, und ein paar Dinge sehen wie LLM-Endpoint-Einstellungen aus, ohne es zu sein. Der Forecaster hat in market_sentiment.py api_key- und base_url-Parameter, aber die konfigurieren einen Marktdaten-Sentiment-Dienst (gelesen aus ADANOS_API_KEY), keinen Chat-Completions-Endpoint. Diese base_url zu ändern routet keinen LLM-Traffic. Die FinGPT-Forecaster-Modelle selbst sind feinjustierte Llama-Gewichte, serviert über Hugging Face, die Forecaster-Demo ist also überhaupt kein OpenAI-kompatibler Consumer. Die neuere Finogrid-Plattform im Repo wählt ihr LLM über eine FINGPT_LLM_PROVIDER-Umgebungsvariable (openai, minimax oder fingpt) und liest OPENAI_API_KEY für den openai-Provider. Stand Juli 2026 dokumentiert ihre Beispiel-Umgebungsdatei den Provider-Switch und den Key, aber keine Base-URL-Override-Variable, behandle Finogrid also als außerhalb des Scopes für ein Gateway, bis Upstream eine dokumentiert. Schließlich pinnt das AG2-Notebook ag2[openai] auf 0.11.4 oder neuer. Ältere pyautogen-0.2-Ära-Installationen konfigurieren dieselben vier Keys über config_list-Einträge statt der LLMConfig-Klasse; die Keys sind identisch, das Routing funktioniert also, aber gleich deinen Import-Stil an die AutoGen-Generation an, die du tatsächlich installiert hast.
Wer FinGPT über ein Gateway routet.
- Quant-Forscher, die die Multi-Agent-Analyse über eine Ticker-Liste laufen lassen. Dutzende Agenten-Züge pro Aktie machen Sichtbarkeit der Nutzung pro Key nützlicher als ein Vendor-Dashboard pro Provider.
- Teams, die Analysequalität über Modellfamilien vergleichen. Jeder Kandidat ist ein Modell-String in LLMConfig, keine neue Provider-Integration und kein neues Konto.
- Analysten, die Filings in großen Mengen über die Report-Pipeline verarbeiten, wo Long-Context-Preisunterschiede zwischen IDs die Rechnung dominieren.
- Zweisprachige Finance-Teams, die chinesisch-starke IDs wie glm-5.2 oder deepseek-v4-pro mit Claude- oder GPT-Reasoning paaren, alles hinter einem Endpoint.
- Entwickler ohne Zugang zum Billing eines bestimmten Vendors. Guthabenbasierter Zugang ohne Kartenpflicht entfernt die Sign-up-Abhängigkeit pro Provider.
Endpoint verifizieren und den ersten Run debuggen.
Bevor du das Notebook startest, liste die Modelle, die dein Key adressieren kann; der model-String in LLMConfig muss exakt zu einer bedienten ID passen. First-Run-Fehler folgen einer kurzen Liste. Ein 401 bedeutet, der api_key im Dict ist kein gültiger Key für den Endpoint in base_url; weil beide im selben Dict leben, druck das Dict (ohne den Key) und prüfe, ob du die Kopie bearbeitet hast, die die Agenten tatsächlich erhielten. Ein Model-not-found-Fehler ist ein ID-Tippfehler, und die /v1/models-Ausgabe ist die maßgebliche Schreibweise. Ein Connection-Fehler bedeutet meist, base_url hat sein /v1-Suffix verloren, da der Client /chat/completions an das anhängt, was du als Base übergibst. Und scheitert der Sentiment-Schritt, während der Agenten-Chat funktioniert, ist das der lokale FinBERT-Classifier oder eine fehlende transformers-Installation, nicht das Gateway. Sobald Requests fließen, zeigt die APIsRouter-Konsole Modell, Token-Zahlen und Ausgaben pro Anfrage. Multi-Agent-Pipelines multiplizieren Calls schnell, und die Nutzungsansicht ist, wie du siehst, welche Agenten-Rolle die Token verbraucht, bevor du den Run auf eine ganze Watchlist skalierst.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Häufige Fragen
Unterstützt FinGPT einen custom OpenAI-kompatiblen Endpoint von Haus aus?
Ja, in seinen API-getriebenen Pipelines. Das AG2-Multi-Agent-Analyse-Notebook konfiguriert LLMConfig mit api_type "openai" plus einer base_url, und das Report-Analysis-Notebook übergibt base_url an LangChains ChatOpenAI. Beides sind Upstream-Muster; die feinjustierten lokalen Modelle sind eine separate, offline Hälfte des Projekts.
Können die FinGPT-Agenten so auf Claude- oder DeepSeek-Modellen laufen?
Ja. api_type bleibt "openai", und das model-Feld wird als reiner String über /v1/chat/completions weitergereicht. Jede vom Endpoint hinter base_url bediente ID funktioniert, einschließlich Claude-, DeepSeek-, GLM- und Gemini-IDs.
Brauche ich noch ein OpenAI-Konto für die AG2-Pipeline?
Nein. Mit base_url auf das Gateway gerichtet und api_key mit einem Gateway-Key berührt kein Request OpenAI-Hosts. Das Upstream-Notebook demonstriert das selbst, indem es über einen Nicht-OpenAI-kompatiblen Endpoint routet.
Beeinflusst eine custom base_url FinGPTs Marktdaten oder FinBERT-Sentiment-Scoring?
Nein. yfinance-Kurse und der FinBERT-Classifier laufen lokal ohne API-Keys, und die SEC- und Financial-Modeling-Prep-Credentials der Report-Pipeline sind separate Daten-Keys. Der LLM-Endpoint ist das Einzige, was base_url bewegt.
Was ist mit dem base_url-Parameter in market_sentiment.py des Forecasters?
Der konfiguriert einen Marktdaten-Sentiment-Dienst, authentifiziert über ADANOS_API_KEY, keinen LLM-Endpoint. Die eigenen Modelle des Forecasters sind feinjustierte Gewichte, serviert über Hugging Face, dort gilt also kein OpenAI-kompatibles Routing.
Unterstützt auch die Finogrid-Plattform in FinGPT einen custom Endpoint?
Stand Juli 2026 nicht dokumentiert. Finogrid wählt einen Provider über FINGPT_LLM_PROVIDER und liest OPENAI_API_KEY, aber die Beispiel-Umgebungsdatei zeigt keinen Base-URL-Override, geh dort also von direktem Vendor-Routing aus, bis Upstream eines hinzufügt.