Welcome to the backend service of our Report Generation Platform! This powerful service automates research and report generation by searching internal documents, the web, user-uploaded files, and specified URLs, producing a comprehensive report with accurate citations.
Effortlessly generate reports by harnessing data from multiple sources:
- User Input: Define your target audience, report objectives, and other relevant details.
- Automated Research: The system conducts four types of research in parallel:
- Internal Documents Search: Leverage our database via Azure AI Search.
- Web Search: Utilize Tavily Search Engine for the most relevant online data.
- User-Specified URLs: Fetch data from URLs provided by you using Exa API.
- User-Uploaded Files: Perform semantic search on your uploaded documents using FAISS.
- Ranking: Rank all retrieved chunks using a Large Language Model (LLM).
- Selection and Generation: Pass the top 20 chunks to LLM for report generation, with optional manual selection.
- Editing: Manually edit reports using a Tiptap editor.
Our AI assistant is equipped to answer your queries using several advanced tools, and can even create charts based on your requirements:
- Tavily Search Engine: For the latest web data.
- Azure AI Search: To search internal document databases.
- Exa API: For extracting information from user-specified URLs.
- HighChart: For creating visualizations.
You can explore our demo video here: AI Assistant Demo
- FastAPI: Robust RESTful API framework
- PostgreSQL: Reliable and powerful database
- Alembic: Easy database migration
- Azure OpenAI: Advanced large language model
- Azure AI Search: Comprehensive vector database
- Tavily Search Engine: State-of-the-art search engine
- Langfuse: For LLM tracing and prompt management
- Docker & Docker Compose: Simplified container management
Follow these steps to run the server locally:
-
Clone the Repository:
git clone https://github.com/VerdantVibes/fastapi-postgre.git
-
Build Docker Container:
make runBuildLocalDocer
-
Navigate to Backend Directory:
cd backend
-
Set Environment Variables:
- Copy
env.example
and rename it to.env.local
- Replace the placeholder values with your actual credentials.
- Copy
-
Run the Server:
make runLocal
The server will be up at
http://localhost:8001
, and you can test the endpoints athttp://localhost:8000/docs
.
Enjoy using the Report Generation Platform! 🚀
Feel free to reach out if you have any questions or need further assistance. Happy developing! 😊