This repository contains assignments and projects completed as part of the Udacity Generative AI Nanodegree. The projects focus on applying generative AI techniques, including lightweight fine-tuning and building custom AI solutions.
Certificate Of Nanodegree Program Completion Generative AI
- Description: This project focuses on the fine-tuning of pre-trained models with a small dataset to adapt the model for a specific task. It demonstrates how to leverage transfer learning to optimize performance while minimizing computational resources and time.
- Technologies Used:
- Python
- PyTorch/TensorFlow
- Hugging Face Transformers
- Key Concepts:
- Transfer learning
- Model fine-tuning
- Efficient training techniques
- Status: Completed
- Description: This project involves creating a custom chatbot tailored to specific needs or use cases. It involves training a conversational model, integrating it with an interface, and customizing responses for a more personalized experience.
- Technologies Used:
- Python
- NLP (Natural Language Processing)
- OpenAI GPT models
- Key Concepts:
- Conversational AI
- Model customization
- User interaction design
- Folder:
custom_chatbot - Status: Completed
- Description: This project involves building an application that allows users to modify images by changing the background or subject. Users can upload an image, select the main object, and use the Segment Anything Model (SAM) to create a mask. After finalizing the mask, users provide a text description for a new background or subject. The app then uses a text-to-image diffusion model to generate and display the updated image. This tool can be used for tasks such as swapping backgrounds, changing subjects, or removing objects.
- Technologies Used:
- Python
- Image processing models (SAM, text-to-image diffusion models)
- Key Concepts:
- Image segmentation
- Text-to-image generation
- Interactive image editing
- Folder:
AI Photo Editing with Inpainting - Status: Completed
- Description: HomeMatch transforms the real estate search into a personalized experience by matching property listings with individual buyer preferences using advanced Large Language Models (LLMs) and vector databases. It creates tailored property descriptions based on user inputs, enhancing the property search process.
- Key Features:
- Understanding Buyer Preferences: Buyers input specific requirements like location, property type, budget, and amenities. HomeMatch uses LLMs to interpret these preferences.
- Integrating with a Vector Database: Connects to a vector database to store and match property listings based on buyer preferences.
- Personalized Listing Description Generation: Generates descriptions emphasizing aspects most relevant to the buyer’s preferences.
- Listing Presentation: Outputs detailed, personalized property listings to engage and satisfy buyers.
- Technologies Used:
- Python
- LLMs
- Vector databases
- Folder:
HomeMatch - Status: Completed
- Python 3.x
- Virtual Environment (optional but recommended)
- Required Python libraries (see
requirements.txt) (or edit as per your requirement)
- Clone the repository:
git clone https://github.com/RitvijSaxena/udacity-gen-ai-nanodegree.git
- Navigate to the project directory:
cd udacity-gen-ai-nanodegree - Install dependencies:
pip install -r requirements.txt
-
Lightweight Fine-Tuning:
- Navigate to the
LightWeightFineTuning.ipynbnotebook: - Run the fine-tuning script
- Navigate to the
-
Custom Chatbot:
- Navigate to the
customchatbotdirectory:cd custom_chatbot - Run the
project.ipynbnotebook
- Navigate to the
-
AI Photo Editing with Inpainting:
- Navigate to the
AI Photo Editing with Inpaintingdirectory:cd AI Photo Editing with Inpainting - Run the
starter.ipynbnotebook
- Navigate to the
-
Homematch
- Navigate to the
HomeMatchdirectory:
cd HomeMatch- Run the
HomeMatch.ipynbnotebook
- Navigate to the
Contributions are welcome! Please fork this repository, create a new branch, and submit a pull request with your changes. Ensure your code adheres to the project's coding standards and is well-documented.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need further assistance, feel free to reach out via GitHub Issues.