reportAI is a Python-based tool that generates comprehensive PDF research reports using AI. Simply input conversations with an AI model in a structured format, and reportAI will produce a detailed report complete with an executive summary, properly formatted sections, tables, and figures. Using cleverly implemented techniques to deduplicate any repeated content in the report, it ensures all the content are straight to the point while being descriptive without creating any repetition on the report content. The final output is a PDF of around 9-15 pages depending on the number of messages passed for report generation.
- Generates detailed research reports from AI-generated conversations.
- Produces sections with headers, tables, and figures.
- Customizable via environment variables.
- Easy to use with minimal setup.
- Clone the repository:
git clone https://github.com/AdirthaBorgohain/reportAI.git
cd reportAI
- Install the required dependencies:
pip install -r requirements.txt
NOTE: You will need python>=3.10
to run this project without having to make any changes to the codebase
- Set up your .env (inside
report_ai
directory) file with the necessary API keys and model configurations:
OPENAI_API_KEY={YOUR OPENAI API KEY}
ANTHROPIC_API_KEY={YOUR ANTHROPIC API KEY}
LLM={CHOICE OF LLM TO USE. Valid values are 'gpt', 'claude'}
GPT_MODEL={GPT MODEL TO USE IN CASE LLM IS SET TO 'gpt'. Valid values are 'gpt-3.5-turbo', 'gpt-4-turbo', 'gpt-4o'}
CLAUDE_MODEL={CLAUDE MODEL TO USE IN CASE LLM IS SET TO 'claude'. Valid values are 'claude-3-haiku', 'claude-3-opus'}
Checkout main.py
for an example on how to generate reports using your conversations.
A sample generated report generated using the messages in main.py
can be found in report_ai/reports/sample.pdf
.
Here are some screenshots of the sample report:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -m 'Add some new feature'
). - Push to the branch (
git push origin feature/new-feature
). - Open a pull request.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.