FinGPT 接入兼容模型 API
最后更新:
FinGPT 同时包含本地金融模型与 API 驱动的研究应用。兼容端点只适用于 AG2、LangChain 等应用管线,不会替代 Hugging Face 本地权重。锁定版本的 AG2 路径已完成项目调用验证。
结论:先判断你运行的是哪一类 FinGPT
金融大模型、情绪分析、财报研究和多 Agent 示例。仓库中的 LoRA、Forecaster 等本地权重通过 transformers 或 Hugging Face 运行,不请求 chat completions;AG2 多 Agent 和 LangChain 财报管线才读取 model、api_key、api_type 与 base_url。 当前 verified 只表示锁定版本的 AG2 应用管线通过兼容端点得到非空回复。它不覆盖本地权重、所有 notebook、金融数据服务或任何投资结果。
官方 Forecaster 界面说明本地模型路线
截图来自 FinGPT 官方仓库。Forecaster 是项目的重要应用形态,但其核心模型路线不是本文的 OpenAI 兼容 API 消费路径。把项目图片放在这里,是为了明确产品边界,而不是暗示兼容端点验证覆盖了这个界面。

两类模型路线与三类数据依赖
本地金融模型走权重下载和 GPU;AG2 或 LangChain 走兼容 API;yfinance、SEC 与财务数据服务独立提供事实。只有应用管线中的通用 LLM 能由 Base URL 替换。
AG2 管线配置 LLMConfig
锁定 notebook 把模型配置组织为一个 LLMConfig。多个 AssistantAgent 可以共用一份配置,也可以分别使用快模型与深度模型;端点保持一致,模型 ID 从当前目录复制。
import os
from autogen import AssistantAgent, LLMConfig
llm_config = LLMConfig({
"model": os.environ["KKAIAPI_MODEL"],
"api_key": os.environ["KKAIAPI_KEY"],
"api_type": "openai",
"base_url": "https://api.kkaiapi.com/v1",
})
researcher = AssistantAgent(name="News_Researcher", llm_config=llm_config)
advisor = AssistantAgent(name="Investment_Advisor", llm_config=llm_config)LangChain 财报管线配置 ChatOpenAI
另一条应用路线通过 LangChain 分析财报。模型端点之外,SEC 与财务数据服务仍需要独立凭据;不要把数据 API Key 写进模型配置。
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model=os.environ["KKAIAPI_MODEL"],
api_key=os.environ["KKAIAPI_KEY"],
base_url="https://api.kkaiapi.com/v1",
temperature=0,
)
reply = llm.invoke("Reply exactly: ok")
assert reply.content.strip(), "empty response"哪些路径适用,哪些不适用
FinGPT 包含远程聊天模型、本地权重和多个子项目。兼容 Base URL 只适用于明确调用远程聊天模型的路径,不能外推到整个仓库。
| FinGPT 路径 | 模型形态 | 兼容 Base URL | 当前证据 |
|---|---|---|---|
| AG2 多 Agent 分析 | 远程聊天模型 | 适用 | 项目自身调用已验证 |
| LangChain 财报分析 | 远程聊天模型 | 适用 | 源码入口已确认 |
| LoRA / Forecaster | 本地或托管权重 | 不适用 | 按模型权重路线运行 |
| Finogrid 等其他子项目 | 随子项目实现变化 | 不能外推 | 需逐路径重新审查 |
金融数据与报告闭环
yfinance、SEC、财务数据 API、FinBERT 和本地模型。多 Agent 管线使用 yfinance、情绪分类器等工具;财报管线还可能依赖 SEC 与财务数据 API。保存文件发布日期、抓取时间、原始段落和工具结果,最终答复才能回到证据。 某个工具失败时,对应角色应声明缺失或停止。模型根据公司常识生成的补充段落不属于数据结果。
模型选择、成本和故障定位
一次任务成本 = 输入 token × 输入单价 + 输出 token × 输出单价 + 缓存读写费用 + 外部数据费用。模型价格和实际 token 只从当前模型目录与控制台调用日志读取,不在文章里复制一份会过时的数字。 先用同一标的和日期比较模型,再按角色分配。研究员通常读取长材料,顾问会综合多份结果;压缩重复证据比盲目换模型更重要。401 检查 Key;404 检查模型 ID 和 /v1;AG2 导入错误先确认实际安装版本;模型成功而财报失败时,检查 SEC 与数据凭据。
| 现象 | 可能层级 | 处理 |
|---|---|---|
| AG2 创建 Agent 失败 | 版本或配置对象 | 核对安装版本与 LLMConfig |
| 模型回复但工具失败 | 金融数据 | 单独检查数据凭据与字段 |
| 本地权重显存不足 | 本地模型 | 与兼容 API 配置分开处理 |
| 报告无法追溯 | 工具结果与引用 | 标记不闭环并保留原始日志 |
常见问题
FinGPT 已经完整验证了吗?
没有。锁定版本的 AG2 应用管线已完成项目调用验证,但本地权重、所有 notebook 和完整金融数据链没有一起验证。
FinGPT 的本地模型可以填写 Base URL 吗?
通常不可以。本地权重由 transformers 或 Hugging Face 路线加载,兼容 Base URL 只适用于 API 驱动应用管线。
AG2 的 api_type 为什么仍写 openai?
它表示使用 OpenAI 兼容消息协议;实际主机由 base_url 指定,模型 ID 由兼容端点提供。
换模型会影响 yfinance 或 FinBERT 吗?
不会。它们是独立数据或本地分类器,模型 Base URL 只改变远程 LLM 调用。
如何判断财报报告是否闭环?
每个关键数字和结论都应能回到原始财报段落、数据工具结果和抓取时间;缺失项要明确显示。