3-Simple-Projects

View project on GitHub

This repository contains three distinct Python projects, each showcasing different AI-powered functionalities.


Project Overview

Project 1: AI Chat Assistant

Description:
A command-line AI chat assistant powered by LangChain and OpenAI’s language models. It allows users to interact with an AI agent for conversational tasks or simple calculations.

Features:

  • Interactive chat interface.
  • Integration with OpenAI’s language model via LangChain.
  • Rich text output using the rich library for enhanced formatting.

Technologies:

  • Python 3.11
  • LangChain, LangChain-OpenAI, LangGraph
  • Python-dotenv, Rich

Project 2: AI Resume Critiquer

Description:
A web-based application built with Streamlit that allows users to upload a PDF resume and receive AI-powered feedback tailored to a specific job role or general job applications.

Features:

  • PDF resume parsing using PyPDF2.
  • AI-driven analysis of resume content, clarity, skills, and experience.
  • Customizable feedback based on the target job role.

Technologies:

  • Python 3.11
  • Streamlit, OpenAI API, PyPDF2
  • Python-dotenv

Project 3: AI Image Classifier

Description:
A Streamlit-based web application that classifies images using the MobileNetV2 model pre-trained on ImageNet. Users can upload images (JPG, JPEG, PNG) and view the top three predicted labels with confidence scores.

Features:

  • Image classification with MobileNetV2.
  • User-friendly interface for uploading and displaying images.
  • Top-3 prediction results with confidence scores.

Technologies:

  • Python 3.10
  • Streamlit, TensorFlow, OpenCV
  • Rich

Prerequisites

  • Python: Ensure Python 3.11 is installed for Project 1 and Project 2, and Python 3.10 for Project 3.
  • Virtual Environment: Recommended to isolate dependencies for each project.
  • API Keys:
    • For Project 1 and Project 2, an OpenAI API key is required.
    • Store it in a .env file as:
      env
      OPENAI_API_KEY=your-openai-api-key
      
  • Dependencies: Each project has a pyproject.toml file listing required packages.

Setup Instructions

  1. Clone the Repository:
    git clone <repository-url>
    cd frosty-8-3-simple-projects
    

    2.Set Up Each Project: For each project (project1, project2, project3):

    cd projectX
    python -m venv venv
    source venv/bin/activate   # On Windows: venv\Scripts\activate
    pip install .
    

    3.Configure API Key (for Project 1 & 2): Create a .env file in the project directory:

    OPENAI_API_KEY=your-openai-api-key
    

Run the Projects

Project 1 (AI Chat Assistant):

python main.py

Type your queries in the terminal and press q to exit.

Project 2 (AI Resume Critiquer):

streamlit run main.py

Open the provided URL in a browser, upload a PDF resume, enter a job role, and click Analyze Resume.

Project 3 (AI Image Classifier):

streamlit run main.py

Open the provided URL, upload an image (JPG, JPEG, PNG), and click Classify Image.

Usage

  • Project 1: Interact with the AI assistant via the command-line interface. Ask questions or request calculations, and type q to quit.

  • Project 2: Upload a PDF resume through the Streamlit interface, specify a job role (optional), and receive detailed AI-generated feedback.

  • Project 3: Upload an image through the Streamlit interface to get classification results from MobileNetV2, including the top three predicted labels and confidence scores.


Project Structure

frosty-8-3-simple-projects/
├── project1/
│   ├── README.md           # Project-specific documentation (currently empty)
│   ├── main.py             # Main script for the AI chat assistant
│   ├── pyproject.toml      # Dependency configuration
│   └── .python-version     # Python version specification
├── project2/
│   ├── README.md           # Project-specific documentation (currently empty)
│   ├── main.py             # Main script for the resume critiquer
│   ├── pyproject.toml      # Dependency configuration
│   └── .python-version     # Python version specification
└── project3/
    ├── README.md           # Project-specific documentation (currently empty)
    ├── main.py             # Main script for the image classifier
    ├── pyproject.toml      # Dependency configuration
    └── .python-version     # Python version specification

Notes

  • Ensure you have a stable internet connection for API calls in Project 1 and Project 2.

  • For Project 3, large images are automatically resized to 224x224 pixels to match MobileNetV2 requirements.

  • If you encounter dependency issues, verify that the correct Python version is used as specified in each project’s .python-version file.


Contributing

Contributions are welcome! Please submit a pull request or open an issue to suggest improvements or report bugs.


LICENSE

This project is licensed under the MIT License.