# Streamlit Webapp # AI Powered Career Roadmap Generator: Your AI-powered Insight Generator from JDs Our project aims to develop an AI-powered platform that provides personalized career roadmaps tailored to specific job descriptions. Leveraging the capabilities of OpenAI's API, we will utilize generative AI models to analyze job descriptions and generate comprehensive roadmaps outlining the necessary skills, knowledge, and steps required to excel in those roles. This innovative solution will cater to individuals seeking guidance in their career paths by offering curated insights and actionable recommendations ## Features - **Instant Insights**: Extracts and analyses text from uploaded job description dataset, skills dataset etc to provide instant insights. - **Retrieval-Augmented Generation**: Utilizes OpenAI API for high-quality, contextually relevant answers. - **Secure API Key Input**: Ensures secure entry of OpenAI API keys for accessing generative AI models. ## Getting Started ### Prerequisites - OpenAI API Key - used GPT-4o for roadmap generation and GPT-4-turbo-preview for embeddings - Streamlit: This application is built with Streamlit. Ensure you have Streamlit installed in your environment ### Installationgit Clone this repository or download the source code to your local machine. Navigate to the application directory and install the required Python packages: ```bash Note: You need Python 3.10 or above. 1. Create a virtual environment (venv): ```sh python -m venv path-to-venv ``` `venv` stands for Virtual Environment. 2. Activate the virtual environment: ```sh source path-to-venv/bin/activate ``` On Windows: ```sh .\venv\Scripts\activate ``` 3. Install requirements: ```sh pip install -r requirements.txt ``` ## Running ## Data 1. Kaggle : https://www.kaggle.com/datasets/dilshaansandhu/international-jobs-dataset/data 2. O-net : https://www.onetcenter.org/database.html#individual-files ### Technical Overview Excel Processing: Utilizes UnstructuredExcelLoader for extracting text from Excel documents, CSVLoader for extracting text from csv documents, PyPDFLoader for extracting text from pdf documents. Text Chunking: Employs the RecursiveCharacterTextSplitter from LangChain for dividing the extracted text into manageable chunks. Vector Store Creation: Uses chromadb for creating a searchable vector store from text chunks. Answer Generation: Leverages gpt-4-turbo-preview model from OpenAI for generating answers to user queries using the context provided by the uploaded documents. ### Indexing 1. Go to `bot/rag_indexing` 2. Run: ```sh python indexing.py ``` For example: ```sh python indexing.py ``` ### Run the app 1. Go to `/bot` 2. Run: ```sh streamlit run bot-langchain-chat.py ``` 3. Give the job description to the prompt. It will generate the relevant roadmap. # AI-Powered-Career-Roadmap