SEC Insights π¦
SEC Insights uses the Retrieval Augmented Generation (RAG) capabilities of LlamaIndex to answer questions about SEC 10-K & 10-Q documents.
You can start using the application now at secinsights.ai
Why did we make this? π€
As RAG applications look to move increasingly from prototype to production, we thought our developer community would find value in having a complete example of a working real world RAG application.
SEC Insights works as well locally as it does in the cloud. It also comes with many product features that will be immediately applicable to most RAG applications.
Use this repository as a reference when building out your own RAG application or fork it entirely to start your project off with a solid foundation.
Product Features π
- Chat-based Document Q&A against a pool of documents
- Citation of source data that LLM response was based on
- PDF Viewer with highlighting of citations
- Use of API-based tools (polygon.io) for answering quantitative questions
- Token-level streaming of LLM responses via Server-Sent Events
- Streaming of Reasoning Steps (Sub-Questions) within Chat
Development Features π€
- Infrastructure-as-code for deploying directly to Vercel & Render
- Robust local environment setup making use of LocalStack & Docker compose
- Monitoring & Profiling provided by Sentry
- Load Testing provided by Loader.io
- Variety of python scripts for REPL-based interaction & data management
Tech Stack βοΈ
- Frontend
- Backend
- FastAPI
- Docker
- SQLAlchemy
- OpenAI (gpt-3.5-turbo + text-embedding-ada-002)
- PGVector
- LlamaIndex π¦
- Infrastructure
- Render.com
- Backend hosting
- Postgres 15
- Vercel
- Frontend Hosting
- AWS
- Render.com
Usage π»
See README.md
files in frontend/
& backend/
folders for individual setup instructions for each.
Caveats π§
- The frontend currently doesn't support Mobile
- Our main goal with this project is to provide a solid foundation for full-stack RAG apps. There is still room for improvement in terms of RAG performance!
Contributing π‘
We remain very open to contributions! We're looking forward to seeing the ideas and improvements the LlamaIndex community is able to provide.