QuantGPT
基于 RAG + LangChain 的量化文档 AI 助手,用自然语言查询 vectorbt PR
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 RAG + LangChain 的量化文档 AI 助手,用自然语言查询 vectorbt PR
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是一个量化研究员,面对 vectorbt PRO 海量的文档和 API,每次都要在官方文档里翻来覆去找某个函数的用法——这时候你最想要的,就是一个能听懂人话的文档助手。
QuantGPT Web UI 界面,通过自然语言提问获取 vectorbt PRO 文档答案
量化交易是一个典型的工具驱动领域。从回测框架、因子计算到风控模块,每个环节都依赖大量第三方库。其中 vectorbt PRO 是近年来备受关注的 Python 回测引擎——它用 NumPy 数组思维重写了整个回测流程,号称能把数小时的多参数网格搜索压缩到秒级。功能强大,但文档结构复杂,API 数量繁多。作者 rnikitin 在使用 vectorbt PRO 时,频繁遇到知道要做什么但不知道该调哪个函数的困境。他意识到:LLM 配合 RAG(检索增强生成)技术,恰好可以解决这个痛点,于是 QuantGPT 应运而生。
QuantGPT 的技术架构非常清晰,是一个典型的 RAG 应用:
quant_scraper 模块)定时抓取 vectorbt PRO 私有文档,将 Markdown 文件存入 quant_scraper/docs/ 目录。quantgptlib/simple_vector_storage.py 和 metadata_vector_storage.py 基于 LlamaIndex 构建向量索引,持久化到本地 ./index/ 目录。这一层还支持元数据抽取,可以为每个文档块打上来源标签。quantgpt.py 为入口文件),支持用户认证(默认账号 admin/admin)、流式响应和会话管理。
项目 Logo,寓意 AI 与量化分析的结合项目没有提供 Dockerfile 或 docker-compose.yml,不支持容器化一键部署,需要在本地手动配置 conda 环境。依赖列表(requirements.txt)超过 100 个包,包括 langchain、llama-index、chainlit、openai 等重量级依赖,安装耗时较长。
环境要求:Python 3.10 + Conda,必备凭证包括 OpenAI API Key 和 vectorbt PRO 私有文档 Secret URL。启动命令为 chainlit run quantgpt.py -w(热重载模式)。官方还提供了两个 Jupyter Notebook(VectorIndexStorage.ipynb、VectorIndexWithMetadata.ipynb),方便在启动主服务前独立调试向量索引的构建流程。
README 中明确提到:项目从 vectorbt PRO 开始,但目标是整合更多量化分析工具。代码仓库中已经包含 git_repo_scraper 模块,用于抓取 GitHub 上的量化策略代码仓库,暗示未来可能支持基于真实代码的问答。这是一条从文档助手到量化知识引擎的进化路径。
auth_callback 中 admin/admin 硬编码,生产环境必须替换。4. 无容器化:无法在隔离环境中复现,依赖冲突风险高。QuantGPT 代表了 LLM 应用落地的一条务实路径:不是自己训练模型,而是针对特定垂直领域定制 RAG 管道。在量化交易这个文档密集、专业门槛高的场景中,这类工具的价值在于降低研究者的信息检索成本,让他们把更多精力放在策略开发本身。项目本身代码量不大(核心约 500 行),但模块划分清晰,对于想学习如何用 LangChain + LlamaIndex 构建垂直领域助手的开发者来说,是一个很好的参考范例。