daily_stock_analysis 接入兼容模型 API

最后更新:

这个项目适合每天自动生成股票研究简报。锁定版本允许用一个命名渠道分别配置 Base URL、Key、模型列表与 OpenAI 协议;项目自身调用已得到非空回复,但这不等于行情、新闻、通知和报告事实都已验收。

结论:先跑一只股票,再开启每日自动任务

每日自动股票分析、报告与通知。它的优势不是替你判断买卖,而是把定时触发、数据获取、模型分析、报告保存和通知串成一条可重复流程。 当前 verified 只覆盖项目正式 LiteLLM 渠道通过兼容端点返回非空内容。完整 Web 界面、所有市场数据源与通知渠道没有在本轮一起运行,所以第一次配置应锁定一只股票和一个历史日期,逐层检查证据。

官方界面展示任务状态和报告入口

截图来自项目锁定 commit 的官方文档。界面能帮助排查任务是否启动、是否完成以及报告在哪里,但页面显示“完成”仍不代表报告中的每个数字都能追溯到原始数据。

daily_stock_analysis 官方 FastAPI 股票分析服务界面
项目官方截图:FastAPI 服务展示股票任务、分析状态和报告入口。

四条链路必须分别验收

模型链负责总结与推理;行情和新闻链提供事实;任务链负责定时与重试;通知链只负责交付结果。把它们拆开,才能避免“消息发出来了”被误认为分析正确。

daily_stock_analysis → LiteLLM 自定义渠道 + 定时任务 → 行情与新闻 / 兼容模型 API / Markdown 报告 / 通知渠道
每一层都保留时间、来源与错误;任何上游为空时不生成看似完整的结论。

配置自定义 LiteLLM 渠道

项目按 `LLM_CHANNELS` 加载命名渠道。`my_proxy` 只是本地配置名,不是模型厂商;模型 ID 要从当前模型目录复制,Base URL 保留 `/v1`。

.env
LLM_CHANNELS=my_proxy
LLM_MY_PROXY_BASE_URL=https://api.kkaiapi.com/v1
LLM_MY_PROXY_API_KEY=sk-your-key
LLM_MY_PROXY_MODELS=从模型页复制模型ID
LLM_MY_PROXY_PROTOCOL=openai

LITELLM_MODEL=openai/从模型页复制模型ID

启动前先做最小模型预检

预检只回答 Key、端点和模型 ID 是否能工作。通过后再启动项目,若项目失败就重点检查环境变量命名和配置加载,不要立刻更换数据源。

smoke-model.sh
curl -sS https://api.kkaiapi.com/v1/chat/completions   -H "Authorization: Bearer $LLM_MY_PROXY_API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "从模型页复制模型ID",
    "messages": [{"role": "user", "content": "只回复 ok"}],
    "max_tokens": 8
  }'

证据状态与验收范围

模型渠道返回内容,只能证明模型入口可用。Web、行情、新闻、定时和通知仍是独立链路,需要各自留下运行证据。

证据锁定到项目 commit;后续版本应重新检查变量名与调用路径。
检查对象当前证据不能推出的结论
LiteLLM 命名渠道项目自身非空回复不能证明报告事实正确
FastAPI / Web 界面官方截图与源码入口本轮未完整启动
行情、新闻、搜索项目声明独立依赖未验证全部市场覆盖
定时与通知正式配置存在未证明每次投递都成功

A 股报告要检查时点而不只看文本

行情、新闻、搜索和通知渠道。历史复跑时保存查询截止时间、行情交易日、公告发布时间和新闻发布时间;复权规则、停牌、涨跌停与退市样本也要明确。 如果搜索或行情工具返回空值,报告应暴露缺口。模型基于常识补出的公司事件,即使文字通顺,也不能进入可追溯研究结果。

成本、重试与每日运行边界

一次任务成本 = 输入 token × 输入单价 + 输出 token × 输出单价 + 缓存读写费用 + 外部数据费用。模型价格和实际 token 只从当前模型目录与控制台调用日志读取,不在文章里复制一份会过时的数字。 先用一只股票测出平均调用次数和 token,再扩大清单。401 检查 Key;404 检查模型 ID 与 /v1;429 降低并发并按服务端时间重试;数据超时与模型超时分开记录。定时器重跑必须复用任务 ID,避免同一日期重复生成和重复扣费。

现象定位层处理
模型预检失败模型渠道检查 Base URL、Key、模型 ID
预检成功但项目失败配置加载检查命名渠道变量与进程环境
报告无行情数字数据渠道停止报告并保留空值证据
同日收到多份报告调度与幂等按标的和交易日去重任务

常见问题

daily_stock_analysis 已完整验证了吗?

没有。项目自身的 LiteLLM 模型渠道已获得非空回复;Web、全部数据源、定时任务和通知没有一起验收。

Base URL 应该填到哪里?

填在命名渠道的 LLM_MY_PROXY_BASE_URL,值为 https://api.kkaiapi.com/v1。

为什么 LITELLM_MODEL 前面有 openai/?

这是 LiteLLM 的 provider 前缀,用于走 OpenAI 兼容协议;后面的模型 ID 仍以当前模型页为准。

自动报告能直接当作交易信号吗?

不能。它是研究简报,需要核对行情时点、来源、数据缺失和模型推断。

如何避免每天重复扣费?

用标的、交易日和任务类型构造幂等键,重试复用同一个任务记录,并在通知前检查已有成功结果。