Uruchom pipeline'y agentów FinGPT na niestandardowym endpoincie kompatybilnym z OpenAI.
Updated 2026-07-30
Pipeline analizy wieloagentowej FinGPT konfiguruje swój LLM przez słownik AG2 LLMConfig, który przyjmuje api_type "openai" i base_url. Ustaw base_url na https://api.apisrouter.com/v1, podaj jeden klucz, a agenci researchera, sentymentu i doradcy mogą działać na dowolnym identyfikatorze modelu z katalogu.
Szybka odpowiedź: base_url w słowniku AG2 LLMConfig.
Pipeline analizy finansowej wieloagentowej FinGPT (fingpt/ag2_financial_analysis_pipeline.ipynb w repozytorium upstream) buduje swoją konfigurację LLM jako słownik AG2 LLMConfig z czterema kluczami: model, api_key, api_type i base_url. Sam notebook upstream wskazuje base_url na endpoint routera kompatybilnego z OpenAI, a nie na api.openai.com, więc routing przez bramkę jest tu udokumentowanym wzorcem, nie obejściem. Żeby uruchomić pipeline przez APIsRouter, ustaw api_type na "openai", ustaw base_url na https://api.apisrouter.com/v1, umieść swój klucz bramki w api_key i ustaw model na dowolny identyfikator z katalogu. Każdy AssistantAgent w notebooku otrzymuje ten sam obiekt llm_config, więc jeden słownik przesuwa cały zespół agentów.
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",
})Gdzie FinGPT faktycznie woła API LLM.
FinGPT (AI4Finance-Foundation na GitHubie, około 21 tys. gwiazdek) to dwie rzeczy pod jedną nazwą, a wiedza, którą połowę uruchamiasz, decyduje, czy niestandardowy endpoint w ogóle ma znaczenie. Pierwsza połowa to dostrojone otwarte wagi: notebooki treningowe LoRA dla Llama i ChatGLM, które uczyniły projekt znanym. Działają lokalnie albo na wynajętych GPU przez Hugging Face transformers, nie robią żadnych wywołań chat-completions i żaden base URL do nich się nie stosuje. Druga połowa to pipeline'y aplikacji, i to tu żyje powierzchnia kompatybilna z OpenAI. Pipeline analizy wieloagentowej AG2 podłącza trzech AssistantAgentów (researchera newsów, analityka sentymentu i doradcę inwestycyjnego) do jednego LLMConfig, wzbogaca ich o wywołania narzędzia yfinance i lokalny klasyfikator sentymentu FinBERT, i pozwala im przekazywać analizę spółki między rolami. Pipeline analizy raportów finansowych (fingpt/FinGPT_FinancialReportAnalysis) napędza LangChain ChatOpenAI na dokumentach SEC pobieranych przez sec-api i Financial Modeling Prep. Oba pipeline'y wysyłają standardowe żądania /v1/chat/completions, oba eksponują endpoint jako parametr, i oba przekazują pole model jako zwykły string, co pozwala identyfikatorowi Claude albo DeepSeek jeździć na api_type "openai", gdy tylko endpoint za base_url go serwuje.
Pełna konfiguracja: pipeline AG2 i pipeline analizy raportów.
Pipeline AG2 to najczystsza integracja. Zamień wartości LLMConfig w notebooku na endpoint bramki i preferowany identyfikator modelu, a trzej agenci plus ich pętla wywołań narzędzi działają bez zmian. Strona danych finansowych (notowania yfinance, ocena sentymentu FinBERT) jest lokalna i wolna od kluczy API, więc endpoint LLM to jedyna zewnętrzna zależność, którą przesuwasz. Pipeline analizy raportów używa LangChain ChatOpenAI, który przyjmuje api_key i base_url jako argumenty konstruktora; notebook upstream demonstruje dokładnie tę parę, pokazując, jak podmienić na lokalny serwer kompatybilny z OpenAI. Wskaż te same dwa argumenty na bramkę zamiast tego. Zauważ, że ten notebook chce też poświadczeń SEC i Financial Modeling Prep do swoich pobrań danych; to klucze danych rynkowych, niezwiązane z endpointem LLM, i zostają takie, jakie są.
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)Dobór modeli dla agentów analizy finansowej.
Ponieważ każdy kandydat to jeden string modelu na tym samym endpoincie, praktyczna pętla to ustalenie tickerów i dat, uruchomienie pipeline'u raz na kandydacki identyfikator i porównanie wyniku doradcy. Log użycia per klucz wycenia za Ciebie każde uruchomienie kandydata, co rozstrzyga argument jakości-za-token liczbami zamiast instynktem.
- Rola doradcy to wąskie gardło rozumowania. Syntetyzuje ustalenia researchera, wyniki sentymentu i obraz ryzyka w prognozę, a model z czołówki rozumowania (claude-opus-4-7, gpt-5.5) to miejsce, gdzie ta synteza przestaje być generyczna.
- Role researchera i analityka to role wolumenowe: czytanie nagłówków, strukturyzowanie wyniku narzędzi, ocenianie szkiców. claude-sonnet-4-6 albo deepseek-v4-pro utrzymuje je ostre bez cen z czołówki na każdej pośredniej turze.
- Analiza raportów to obciążenie z długim kontekstem. Sekcja 10-K plus kontekst ceny docelowej to duży prompt, więc przetestuj gemini-3.1-pro-preview albo claude-sonnet-4-6 po stronie dokumentów, zanim założysz wartość domyślną.
- Korzenie FinGPT są dwujęzyczne. Jeśli Twój pipeline czyta chińskojęzyczne dokumenty albo newsy, glm-5.2 i deepseek-v4-pro są tam natywnie mocne i adresowalne przez ten sam endpoint po identyfikatorze.
- Uruchamianie jednego LLMConfig dla wszystkich agentów jest domyślnym ustawieniem notebooka, ale nic nie stoi na przeszkodzie, żeby zbudować dwa słowniki na tym samym base_url, jeden z czołówki dla doradcy i szybki dla czytających, i przypisać je per agent.
Płatność za użycie · poniżej cen oficjalnych
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Cena oficjalna | Nasza cena |
|---|---|---|
| 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 |
Zastrzeżenia: nie każdy base_url w FinGPT to LLM.
FinGPT to badawcze monorepo, i kilka rzeczy wygląda na ustawienia endpointu LLM, nie będąc nimi. market_sentiment.py Forecastera ma parametry api_key i base_url, ale konfigurują one usługę sentymentu danych rynkowych (czytaną z ADANOS_API_KEY), nie endpoint chat-completions. Zmiana tego base_url nie kieruje żadnego ruchu LLM. Same modele FinGPT-Forecaster to dostrojone wagi Llama serwowane przez Hugging Face, więc demo forecastera w ogóle nie jest konsumentem kompatybilnym z OpenAI. Nowsza platforma Finogrid wewnątrz repozytorium wybiera swój LLM przez zmienną środowiskową FINGPT_LLM_PROVIDER (openai, minimax albo fingpt) i czyta OPENAI_API_KEY dla providera openai. Na lipiec 2026 jej przykładowy plik środowiskowy dokumentuje przełącznik providera i klucz, ale żadnej zmiennej nadpisującej base URL, więc traktuj Finogrid jako poza zakresem dla bramki, dopóki upstream nie udokumentuje takiej. Na koniec, notebook AG2 przypina ag2[openai] na 0.11.4 albo nowsze. Starsze instalacje z ery pyautogen 0.2 konfigurują te same cztery klucze przez wpisy config_list zamiast klasy LLMConfig; klucze są identyczne, więc routing działa, ale dopasuj swój styl importu do generacji AutoGen, którą faktycznie masz zainstalowaną.
Kto kieruje FinGPT przez bramkę.
- Badacze kwantowi uruchamiający analizę wieloagentową na liście tickerów. Dziesiątki tur agenta per spółka czynią widoczność użycia per klucz bardziej użyteczną niż dashboard dostawcy per provider.
- Zespoły porównujące jakość analizy między rodzinami modeli. Każdy kandydat to jeden string modelu w LLMConfig, nie nowa integracja providera i konto.
- Analitycy przetwarzający dokumenty masowo przez pipeline raportów, gdzie różnice cen długiego kontekstu między identyfikatorami dominują rachunek.
- Dwujęzyczne zespoły finansowe łączące identyfikatory mocne w chińskim jak glm-5.2 albo deepseek-v4-pro z rozumowaniem Claude albo GPT, wszystko za jednym endpointem.
- Deweloperzy bez dostępu do rozliczeń danego dostawcy. Dostęp oparty na doładowaniu, bez wymogu karty, usuwa zależność od rejestracji u każdego dostawcy z osobna.
Zweryfikuj endpoint i debuguj pierwsze uruchomienie.
Przed uruchomieniem notebooka wylistuj modele, do których Twój klucz ma dostęp; string modelu w LLMConfig musi dokładnie zgadzać się z serwowanym identyfikatorem. Awarie pierwszego uruchomienia podążają za krótką listą. 401 oznacza, że api_key w słowniku nie jest ważnym kluczem dla endpointu w base_url; ponieważ oba żyją w tym samym słowniku, wypisz słownik (bez klucza) i sprawdź, czy edytowałeś kopię, którą faktycznie otrzymali agenci. Błąd model-not-found to literówka w identyfikatorze, a wynik /v1/models jest autorytatywną pisownią. Błąd połączenia zwykle oznacza, że base_url zgubił sufiks /v1, ponieważ klient dokleja /chat/completions do dowolnej bazy, którą podasz. A jeśli krok sentymentu zawodzi, podczas gdy czat agenta działa, to lokalny klasyfikator FinBERT albo brakująca instalacja transformers, nie bramka. Gdy żądania już płyną, konsola APIsRouter pokazuje model per żądanie, liczbę tokenów i wydatki. Pipeline'y wieloagentowe szybko mnożą wywołania, a widok użycia to sposób, żeby zobaczyć, która rola agenta zużywa tokeny, zanim przeskalujesz uruchomienie na pełną listę obserwowanych.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Częste pytania
Czy FinGPT wspiera niestandardowy endpoint kompatybilny z OpenAI od razu?
Tak, w swoich pipeline'ach opartych na API. Notebook analizy wieloagentowej AG2 konfiguruje LLMConfig z api_type "openai" plus base_url, a notebook analizy raportów przekazuje base_url do LangChain ChatOpenAI. Oba to wzorce upstream; dostrojone modele lokalne to osobna, offline'owa połowa projektu.
Czy agenci FinGPT mogą działać w ten sposób na modelach Claude albo DeepSeek?
Tak. api_type zostaje "openai", a pole model jest przekazywane jako zwykły string przez /v1/chat/completions. Działa dowolny identyfikator serwowany przez endpoint za base_url, łącznie z identyfikatorami Claude, DeepSeek, GLM i Gemini.
Czy nadal potrzebuję konta OpenAI dla pipeline'u AG2?
Nie. Gdy base_url wskazuje na bramkę, a api_key trzyma klucz bramki, żadne żądanie nie dotyka hostów OpenAI. Sam notebook upstream to demonstruje, kierując przez endpoint kompatybilny, ale nie od OpenAI.
Czy niestandardowy base_url wpływa na dane rynkowe albo ocenę sentymentu FinBERT w FinGPT?
Nie. Notowania yfinance i klasyfikator FinBERT działają lokalnie bez kluczy API, a poświadczenia SEC i Financial Modeling Prep pipeline'u raportów to osobne klucze danych. Endpoint LLM to jedyna rzecz, którą przesuwa base_url.
A co z parametrem base_url w market_sentiment.py Forecastera?
Ten konfiguruje usługę sentymentu danych rynkowych uwierzytelnianą przez ADANOS_API_KEY, nie endpoint LLM. Własne modele Forecastera to dostrojone wagi serwowane przez Hugging Face, więc nie ma tam zastosowania żaden routing kompatybilny z OpenAI.
Czy platforma Finogrid wewnątrz FinGPT też wspiera niestandardowy endpoint?
Niedokumentowane na lipiec 2026. Finogrid wybiera providera przez FINGPT_LLM_PROVIDER i czyta OPENAI_API_KEY, ale jej przykładowy plik środowiskowy nie pokazuje żadnego nadpisania base URL, więc zakładaj tam bezpośredni routing do dostawcy, dopóki upstream go nie doda.