This project is a Streamlit application that allows users to upload their resumes in PDF format and receive responses based on the content of the uploaded document. The application utilizes various libraries for document processing, embeddings, and querying to provide insightful feedback to users.
resume-analyzer
├── src
│ ├── app.py # Main entry point of the Streamlit application
│ ├── document_loader.py # Functions to load and process PDF documents
│ ├── embeddings.py # Setup for Hugging Face embeddings model
│ ├── query_engine.py # Logic for querying embeddings and retrieving information
│ └── utils.py # Utility functions for the application
├── .env # Environment variables for configuration
├── requirements.txt # List of dependencies for the project
└── README.md # Documentation for the project
-
Clone the repository:
git clone <repository-url> cd resume-analyzer
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the root directory and add the necessary environment variables, such as the Pinecone index name. -
Run the application:
streamlit run src/app.py
- Open the application in your web browser.
- Upload your resume in PDF format using the provided interface.
- Interact with the application to receive responses based on the content of your resume.
- Document Loading: The application uses
document_loader.pyto extract text from uploaded PDF resumes. - Embeddings Setup: The
embeddings.pyfile initializes the Hugging Face embeddings model for processing the extracted text. - Querying: The
query_engine.pyfile contains the logic for querying the embeddings and retrieving relevant information based on user input. - Utilities: Common utility functions are managed in
utils.pyto streamline the application.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.