Chạy các pipeline agent của FinGPT trên một endpoint tương thích OpenAI tùy chỉnh.
Updated 2026-07-30
Pipeline phân tích đa agent của FinGPT cấu hình LLM của nó qua một dict AG2 LLMConfig nhận api_type "openai" và một base_url. Đặt base_url thành https://api.apisrouter.com/v1, truyền một key, và các agent nghiên cứu, tâm lý thị trường, và tư vấn có thể chạy trên bất kỳ id model nào trong catalog.
Câu trả lời nhanh: base_url trong dict AG2 LLMConfig.
Pipeline phân tích tài chính đa agent của FinGPT (fingpt/ag2_financial_analysis_pipeline.ipynb trong repo upstream) xây cấu hình LLM của nó dưới dạng một dict AG2 LLMConfig với bốn khóa: model, api_key, api_type, và base_url. Chính notebook upstream trỏ base_url vào một endpoint router tương thích OpenAI thay vì api.openai.com, nên định tuyến qua một gateway là mẫu hình đã được tài liệu hóa ở đây, không phải một cách vòng. Để chạy pipeline qua APIsRouter, đặt api_type thành "openai", đặt base_url thành https://api.apisrouter.com/v1, đưa key gateway của bạn vào api_key, và đặt model thành bất kỳ id catalog nào. Mọi AssistantAgent trong notebook nhận cùng object llm_config, nên một dict di chuyển cả đội agent.
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",
})Nơi FinGPT thực sự gọi một API LLM.
FinGPT (AI4Finance-Foundation trên GitHub, khoảng 21K star) là hai thứ dưới một cái tên, và biết bạn đang chạy nửa nào quyết định việc một endpoint tùy chỉnh có quan trọng chút nào không. Nửa đầu là trọng số mở đã fine-tune: các notebook huấn luyện LoRA cho Llama và ChatGLM đã khiến dự án nổi tiếng. Chúng chạy cục bộ hoặc trên GPU thuê qua Hugging Face transformers, không thực hiện lệnh gọi chat-completions nào, và không base URL nào áp dụng cho chúng. Nửa sau là các pipeline ứng dụng, và đây là nơi bề mặt tương thích OpenAI sống. Pipeline phân tích đa agent AG2 nối ba AssistantAgent (một nhà nghiên cứu tin tức, một nhà phân tích tâm lý thị trường, và một cố vấn đầu tư) vào một LLMConfig, tăng cường chúng bằng lệnh gọi tool yfinance và một bộ phân loại tâm lý FinBERT cục bộ, và để chúng chuyển giao một phân tích cổ phiếu qua các vai trò. Pipeline phân tích báo cáo tài chính (fingpt/FinGPT_FinancialReportAnalysis) điều khiển ChatOpenAI của LangChain đối chiếu với hồ sơ SEC lấy qua sec-api và Financial Modeling Prep. Cả hai pipeline đều gửi request /v1/chat/completions chuẩn, cả hai đều phơi bày endpoint như một tham số, và cả hai đều chuyển tiếp trường model dưới dạng một chuỗi trơn, đây là điều cho phép một id Claude hoặc DeepSeek cưỡi trên một api_type "openai" một khi endpoint sau base_url phục vụ nó.
Cài đặt đầy đủ: pipeline AG2 và pipeline phân tích báo cáo.
Pipeline AG2 là tích hợp sạch nhất. Thay các giá trị LLMConfig của notebook bằng endpoint gateway và id model bạn thích, và ba agent cùng vòng lặp gọi tool của chúng chạy không đổi. Phía dữ liệu tài chính (báo giá yfinance, chấm điểm tâm lý FinBERT) là cục bộ và không cần key API, nên endpoint LLM là phụ thuộc bên ngoài duy nhất bạn đang di chuyển. Pipeline phân tích báo cáo dùng ChatOpenAI của LangChain, thứ chấp nhận api_key và base_url làm tham số constructor; chính notebook upstream minh họa đúng cặp này khi nó cho thấy cách thay vào một server tương thích OpenAI cục bộ. Trỏ cùng hai tham số vào gateway thay vào đó. Lưu ý notebook này cũng muốn credential SEC và Financial Modeling Prep cho việc lấy dữ liệu; đó là key dữ liệu thị trường, không liên quan tới endpoint LLM, và chúng giữ nguyên như cũ.
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)Chọn model cho các agent phân tích tài chính.
Vì mỗi ứng viên là một chuỗi model đối chiếu với cùng endpoint, vòng lặp thực tế là cố định ticker và ngày của bạn, chạy pipeline một lần cho mỗi id ứng viên, và so sánh đầu ra cố vấn. Log sử dụng theo từng key định giá mỗi lần chạy ứng viên cho bạn, giải quyết cuộc tranh luận chất lượng-trên-token bằng con số thay vì bản năng.
- Vai trò cố vấn là nút thắt lý luận. Nó tổng hợp phát hiện của nhà nghiên cứu, điểm tâm lý thị trường, và bức tranh rủi ro thành một triển vọng, và một model lý luận hàng đầu (claude-opus-4-7, gpt-5.5) là nơi sự tổng hợp đó ngừng chung chung.
- Vai trò nghiên cứu và phân tích là các vai trò khối lượng lớn: đọc tiêu đề, cấu trúc hóa đầu ra tool, chấm điểm bản nháp. claude-sonnet-4-6 hoặc deepseek-v4-pro giữ chúng sắc bén mà không cần giá frontier trên mỗi lượt trung gian.
- Phân tích báo cáo là khối lượng công việc long-context. Một phần 10-K cộng context giá mục tiêu là một prompt lớn, nên hãy thử gemini-3.1-pro-preview hoặc claude-sonnet-4-6 ở phía hồ sơ trước khi mặc định giả định.
- Gốc rễ của FinGPT là song ngữ. Nếu pipeline của bạn đọc hồ sơ hoặc tin tức tiếng Trung, glm-5.2 và deepseek-v4-pro mạnh một cách tự nhiên ở đó và gọi được qua cùng endpoint theo id.
- Chạy một LLMConfig cho mọi agent là mặc định của notebook, nhưng không gì ngăn bạn xây hai dict trên cùng base_url, một dict frontier cho cố vấn và một dict nhanh cho các agent đọc, rồi gán chúng theo từng agent.
Trả theo mức sử dụng · thấp hơn giá chính thức
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Mô hình | Giá chính thức | Giá của chúng tôi |
|---|---|---|
| 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 |
Lưu ý: không phải mọi base_url trong FinGPT đều là LLM.
FinGPT là một monorepo nghiên cứu, và một vài thứ trông như cài đặt endpoint LLM mà không phải vậy. market_sentiment.py của Forecaster có tham số api_key và base_url, nhưng chúng cấu hình một dịch vụ tâm lý dữ liệu thị trường (đọc từ ADANOS_API_KEY), không phải một endpoint chat-completions. Đổi base_url đó không định tuyến bất kỳ traffic LLM nào. Bản thân các model FinGPT-Forecaster là trọng số Llama đã fine-tune phục vụ qua Hugging Face, nên demo forecaster hoàn toàn không phải một consumer tương thích OpenAI. Nền tảng Finogrid mới hơn bên trong repo chọn LLM của nó qua một biến môi trường FINGPT_LLM_PROVIDER (openai, minimax, hoặc fingpt) và đọc OPENAI_API_KEY cho provider openai. Tính đến tháng 7/2026, file môi trường mẫu của nó ghi rõ việc chuyển provider và key, nhưng không có biến ghi đè base-url, nên hãy coi Finogrid là ngoài phạm vi cho một gateway cho tới khi upstream tài liệu hóa một biến. Cuối cùng, notebook AG2 ghim ag2[openai] ở 0.11.4 trở lên. Các bản cài pyautogen 0.2-era cũ hơn cấu hình cùng bốn khóa đó qua các entry config_list thay vì class LLMConfig; các khóa giống hệt nhau, nên việc định tuyến vẫn hoạt động, nhưng hãy khớp phong cách import của bạn với thế hệ AutoGen bạn thực sự đã cài.
Ai định tuyến FinGPT qua một gateway.
- Nhà nghiên cứu quant chạy phân tích đa agent qua một danh sách ticker. Hàng chục lượt agent mỗi cổ phiếu khiến khả năng quan sát sử dụng theo từng key hữu ích hơn một dashboard vendor cho mỗi provider.
- Đội so sánh chất lượng phân tích qua các họ model. Mỗi ứng viên là một chuỗi model trong LLMConfig, không phải một tích hợp và tài khoản provider mới.
- Nhà phân tích xử lý hồ sơ hàng loạt qua pipeline báo cáo, nơi chênh lệch giá long-context giữa các id chi phối hóa đơn.
- Đội tài chính song ngữ ghép các id mạnh tiếng Trung như glm-5.2 hoặc deepseek-v4-pro với lý luận Claude hoặc GPT, tất cả sau một endpoint.
- Lập trình viên không có quyền truy cập billing của một vendor cụ thể. Truy cập dựa trên nạp tiền không yêu cầu thẻ loại bỏ phụ thuộc đăng ký theo từng provider.
Xác minh endpoint và debug lần chạy đầu tiên.
Trước khi khởi chạy notebook, liệt kê các model key của bạn có thể gọi được; chuỗi model trong LLMConfig phải khớp chính xác một id đã phục vụ. Các lỗi lần chạy đầu theo một danh sách ngắn. Một lỗi 401 nghĩa là api_key trong dict không phải một key hợp lệ cho endpoint trong base_url; vì cả hai sống trong cùng dict, hãy in dict (trừ key) và kiểm tra bạn đã sửa đúng bản sao mà các agent thực sự nhận. Một lỗi model-not-found là một id gõ sai, và đầu ra /v1/models là cách viết có thẩm quyền. Một lỗi kết nối thường nghĩa là base_url mất hậu tố /v1, vì client nối thêm /chat/completions vào bất cứ base nào bạn đưa. Và nếu bước tâm lý thị trường thất bại trong khi chat agent hoạt động, đó là bộ phân loại FinBERT cục bộ hoặc thiếu cài đặt transformers, không phải gateway. Khi request chảy qua, console APIsRouter hiển thị model theo từng request, số lượng token, và chi tiêu. Pipeline đa agent nhân lệnh gọi nhanh chóng, và góc nhìn sử dụng là cách bạn thấy vai trò agent nào đang tiêu tốn token trước khi mở rộng lần chạy thành một watchlist đầy đủ.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Câu hỏi thường gặp
FinGPT có hỗ trợ một endpoint tương thích OpenAI tùy chỉnh sẵn có không?
Có, trong các pipeline API-driven của nó. Notebook phân tích đa agent AG2 cấu hình LLMConfig với api_type "openai" cộng một base_url, và notebook phân tích báo cáo truyền base_url cho ChatOpenAI của LangChain. Cả hai đều là mẫu hình upstream; các model cục bộ đã fine-tune là nửa offline riêng biệt của dự án.
Các agent FinGPT có thể chạy trên model Claude hoặc DeepSeek theo cách này không?
Có. api_type giữ nguyên "openai" và trường model được chuyển tiếp dưới dạng một chuỗi trơn qua /v1/chat/completions. Bất kỳ id nào endpoint sau base_url phục vụ đều hoạt động, gồm cả id Claude, DeepSeek, GLM, và Gemini.
Tôi có còn cần tài khoản OpenAI cho pipeline AG2 không?
Không. Với base_url trỏ vào gateway và api_key giữ một key gateway, không request nào chạm vào host OpenAI. Chính notebook upstream minh họa điều này bằng cách định tuyến qua một endpoint tương thích không-phải-OpenAI.
Một base_url tùy chỉnh có ảnh hưởng đến dữ liệu thị trường hoặc chấm điểm tâm lý FinBERT của FinGPT không?
Không. Báo giá yfinance và bộ phân loại FinBERT chạy cục bộ không cần key API, và credential SEC cùng Financial Modeling Prep của pipeline báo cáo là các key dữ liệu riêng biệt. Endpoint LLM là thứ duy nhất base_url di chuyển.
Còn tham số base_url trong market_sentiment.py của Forecaster thì sao?
Cái đó cấu hình một dịch vụ tâm lý dữ liệu thị trường xác thực bằng ADANOS_API_KEY, không phải một endpoint LLM. Các model riêng của Forecaster là trọng số đã fine-tune phục vụ qua Hugging Face, nên không có định tuyến tương thích OpenAI nào áp dụng ở đó.
Nền tảng Finogrid bên trong FinGPT có hỗ trợ endpoint tùy chỉnh không?
Chưa được tài liệu hóa tính đến tháng 7/2026. Finogrid chọn một provider qua FINGPT_LLM_PROVIDER và đọc OPENAI_API_KEY, nhưng file môi trường mẫu của nó không cho thấy biến ghi đè base-url, nên hãy giả định định tuyến vendor trực tiếp ở đó cho tới khi upstream thêm một biến.