This repo contains a collection of project deliverables from my Generative AI Nanodegree course work.
A graduate of this program will be able to:
- Situate generative AI within the broader history, context, and applications of artificial intelligence and deep learning
- Adapt generative foundation models to perform tasks in novel contexts
- Use LLMs and prompt engineering to create a custom chatbot
- Use image generation models such as Stable Diffusion to perform image inpainting
- Build applications that use LLMs, implement semantic search with vector databases, and apply retrieval augmented generation techniques
-
Apply Lightweight Fine-Tuning to a Foundation Model
- Load a foundation model
- Identify and load a Hugging Face dataset for your particular task
- Utilize a state-of-the-art technique to adjust the foundation model's weights to meet the needs of your task, using a lightweight (AKA parameter-efficient) fine-tuning technique that improves performance faster and more efficiently
-
Retrieval Augmented Generation(RAG)
- Find and prepare a dataset that augments a foundation model's knowledge, from a source such as APIs, web scraping, or documents on hand
- Create a semantic search pipeline by implementing a custom Python vector similarity search algorithm to match user questions to relevant parts of the custom dataset
- Compose a custom query by combining the semantic search results with the user's question and send it to the foundation model
-
AI Photo Editing with Inpainting
- Create a segmentation mask by differentiating between the subject and background of an image and create a matrix of pixels indicating the locations of these two components
- Given a text prompt and the pixel locations of the subject or background, replace part of the image with an AIgenerated image
- Connect your inpainting pipeline to a web interface that allows users to upload their own images and specify their own text prompts udacity
-
Personalized Real Estate Agent
- Generate synthetic data using LLMs
- Embed property listing data in a vector database
- Perform semantic search over property listings against user preferences
- Design prompts and use RAG techniques to deliver personalized recommendations