SEC洞察 🏦
SEC洞察利用LlamaIndex的检索增强生成(RAG)功能来回答有关SEC 10-K和10-Q文档的问题。
你现在可以在secinsights.ai开始使用该应用程序
你还可以查看我们在YouTube上的端到端教程指南!这个视频涵盖了产品功能、系统架构、开发环境设置,以及如何将此应用程序用于你自己的自定义文档(不仅限于SEC文件!)。视频分为多个章节,你可以跳到与你最相关的部分。
为什么我们要做这个?🤔
随着RAG应用程序越来越多地从原型转向生产,我们认为我们的开发者社区会发现一个完整的真实世界RAG应用程序示例很有价值。
SEC洞察在本地和云端都能很好地运行。它还带有许多产品功能,这些功能可以立即应用于大多数RAG应用程序。
在构建你自己的RAG应用程序时,可以将此存储库用作参考,或者完全分叉它,为你的项目奠定坚实的基础。
产品特性 😎
- 基于聊天的文档问答,可针对一组文档
- 引用LLM响应所基于的源数据
- 带有引用高亮显示的PDF查看器
- 使用基于API的工具(polygon.io)回答定量问题
- 通过服务器发送事件实现LLM响应的令牌级流式传输
- 在聊天中流式传输推理步骤(子问题)
开发特性 🤓
- 用于直接部署到Vercel和Render的基础设施即代码
- Vercel和Render.com提供持续部署。发布更改就像合并到你的
main
分支一样简单 - 前端和后端部署都有生产和预览环境!轻松尝试你的更改,然后再发布
- 健壮的本地环境设置,利用LocalStack和Docker组合
- 由Sentry提供监控和性能分析
- 由Loader.io提供负载测试
- 各种用于基于REPL的聊天和数据管理的Python脚本
技术栈 ⚒️
- 前端
- 后端
- FastAPI
- Docker
- SQLAlchemy
- OpenAI(gpt-3.5-turbo + text-embedding-ada-002)
- PGVector
- LlamaIndex 🦙
- 基础设施
- Render.com
- 后端托管
- Postgres 15
- Vercel
- 前端托管
- AWS
- Render.com
系统架构
使用方法 💻
请查看frontend/
和backend/
文件夹中的README.md
文件,了解各自的单独设置说明。如上所述,我们还有一个YouTube教程点击这里,介绍了如何设置本项目的开发环境。
我们还在.devcontainer/devcontainer.json
中包含了GitHub Codespace的配置。如果您选择使用GitHub Codespaces,您的代码空间将预先配置好运行此项目所需的许多库和系统依赖项。这可能是让这个项目快速启动和运行的最快方法!话虽如此,开发人员已经成功地在Linux、macOS和Windows环境中设置了这个项目!
如果您在尝试运行此项目时有任何疑问,您可以通过查看我们的常见问题解答或搜索我们的GitHub问题快速找到答案!如果您没有看到满意的答案,请随时打开一个GitHub问题,以便我们可以帮助您!
我们还在我们的Discord上有一个专门的#sec-insights频道,在那里我们可能能够更即时地帮助解决较小的问题。
注意事项 🧐
- 前端目前不支持移动设备
- 我们这个项目的主要目标是为全栈RAG应用提供坚实的基础。在RAG性能方面还有改进的空间!
贡献 💡
我们非常欢迎贡献!我们期待看到LlamaIndex社区能够提供的想法和改进。 非常感谢 @Evanc123 为这个项目构建前端所做的出色工作!