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 消费路径。把项目图片放在这里,是为了明确产品边界,而不是暗示兼容端点验证覆盖了这个界面。

FinGPT Forecaster 官方金融预测交互界面
项目官方截图:FinGPT Forecaster 接收股票与日期输入并组织金融研究结果。

两类模型路线与三类数据依赖

本地金融模型走权重下载和 GPU;AG2 或 LangChain 走兼容 API;yfinance、SEC 与财务数据服务独立提供事实。只有应用管线中的通用 LLM 能由 Base URL 替换。

FinGPT → AG2 LLMConfig / LangChain ChatOpenAI → 本地金融权重 / 兼容模型 API / 金融数据工具 / 多 Agent 报告
兼容端点只进入应用管线;本地权重与金融数据凭据仍按项目各自方式运行。

AG2 管线配置 LLMConfig

锁定 notebook 把模型配置组织为一个 LLMConfig。多个 AssistantAgent 可以共用一份配置,也可以分别使用快模型与深度模型;端点保持一致,模型 ID 从当前目录复制。

ag2_financial_analysis.py
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 写进模型配置。

financial_report_llm.py
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 是 monorepo;不能用一个 notebook 的证据覆盖整个仓库。
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 调用。

如何判断财报报告是否闭环?

每个关键数字和结论都应能回到原始财报段落、数据工具结果和抓取时间;缺失项要明确显示。