ProposalGenerator is an automated system designed to generate detailed proposal letters for NGOs. It leverages various document processing and natural language generation techniques to create comprehensive and customized proposals based on provided project descriptions and NGO details.
- Document Reading: Supports reading from text, PDF, and HTML files.
- Text Splitting: Utilizes recursive character text splitting for efficient document processing.
- Vector Database Integration: Stores and retrieves documents using ChromaDB.
- Proposal Generation: Automatically generates proposal letters based on project descriptions and NGO details.
- Letter Regeneration: Allows modification of generated letters based on user prompts.
-
Clone the repository:
git clone https://github.com/nabojyoti/ProposalGenerator.git cd ProposalGenerator
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up environment variables in the .env file:
OPENAI_API_KEY=your_openai_api_key
To register NGO details and proposal letters in the vector database, run the following command:
python register.py
To generate proposal letters based on the registered NGO details and project descriptions, run:
python generate_proposal.py
To modify a generated proposal letter based on user prompts, run:
python regenerate_proposal.py
The configuration files are located in the configs directory:
generate_configs.json
: Configuration for generating proposal letters.register_configs.json
: Configuration for registering NGO details and proposal letters.