💪
3 Week Bootcamp: Building Realtime LLM Application
  • Introduction
    • Timelines and Structure
    • Course Syllabus
    • Meet your Instructors
    • Action Items
  • Basics of LLM
    • What is Generative AI?
    • What is a Large Language Model?
    • Advantages and Applications of Large Language Models
    • Bonus Resource: Multimodal LLMs and Google Gemini
  • Word Vectors Simplified
    • What is a Word Vector
    • Word Vector Relationships
    • Role of Context in LLMs
    • Transforming Vectors into LLM Responses
      • Neural Networks and Transformers (Bonus Module)
      • Attention and Transformers (Bonus Module)
      • Multi-Head Attention, Transformers Architecture, and Further Reads (Bonus Module)
    • Graded Quiz 1
  • Prompt Engineering
    • What is Prompt Engineering
    • Prompt Engineering and In-context Learning
    • Best Practices to Follow in Prompt Engineering
    • Token Limits in Prompts
    • Ungraded Prompt Engineering Excercise
      • Story for the Excercise: The eSports Enigma
      • Your Task
  • Retrieval Augmented Generation and LLM Architecture
    • What is Retrieval Augmented Generation (RAG)?
    • Primer to RAG: Pre-Trained and Fine-Tuned LLMs
    • In-Context Learning
    • High-level LLM Architecture Components for In-context Learning
    • Diving Deeper: LLM Architecture Components
    • LLM Architecture Diagram and Various Steps
    • RAG versus Fine-Tuning and Prompt Engineering
    • Versatility and Efficiency in Retrieval-Augmented Generation (RAG)
    • Key Benefits of RAG for Enterprise-Grade LLM Applications
    • Similarity Search in Vectors (Bonus Module)
    • Using kNN and LSH to Enhance Similarity Search in Vector Embeddings (Bonus Module)
    • Graded Quiz 2
  • Hands-on Development
    • Prerequisites
    • Dropbox Retrieval App in 15 Minutes
      • Building the app without Dockerization
      • Understanding Docker
      • Building the Dockerized App
    • Amazon Discounts App
      • How the Project Works
      • Repository Walkthrough
    • How to Run 'Examples'
  • Bonus Resource: Recorded Interactions from the Archives
  • Bootcamp Keynote Session on Vision Transformers
  • Final Project + Giveaways
    • Prizes and Giveaways
    • Tracks for Submission
    • Final Submission
Powered by GitBook
On this page
  • Let's start by understanding Docker
  • Understanding Key Docker Terminologies
  • Resources to Understand Docker Better
  1. Hands-on Development
  2. Dropbox Retrieval App in 15 Minutes

Understanding Docker

PreviousBuilding the app without DockerizationNextBuilding the Dockerized App

Last updated 1 year ago

This particular page is to help you build the previous file if you're new to Docker and are struggling to install dependencies on your machine.

Let's start by understanding Docker

First off, a quick recap.

Think of Docker as a shipping container for your app. Just as a shipping container can hold all sorts of goods (clothes, electronics, etc.) and can be transported anywhere in the world, Docker bundles your app and everything it needs to run into a 'container.' This makes it easy to share and run your app on any computer.

Given the complexities and manual effort involved in resolving dependency issues in your system, Docker can be a beneficial tool to standardize the development environment among all students.

Why Use Docker?

  • Standardized Environment: Everyone gets the same set of dependencies, reducing "it works on my machine" issues.

  • Isolated: Doesn't interfere with other projects or system-wide settings.

  • Ease of Use: Once set up, running the project becomes much simpler.

Understanding Key Docker Terminologies

  • Docker Image: Think of this as a blueprint or a snapshot of a container, including the application and its dependencies. You build an image once and use it to create multiple containers.

  • Docker Container: A container is a running instance of an image. It's a lightweight, stand-alone, executable software package that includes everything needed to run the code.

  • CMD: In Docker, the CMD instruction specifies the command that will be executed when the container starts up.

  • Docker Compose: A tool for defining and running multi-container Docker applications. Using a YAML file (docker-compose.yml), it allows you to specify how different containers interact with each other, making it easier to manage multiple containers as a single service.

Resources to Understand Docker Better

Now let's see the step-by-step implementation.

Basic Tutorial on Dockerfile:

Basic Tutorials on Docker Compose: ,

Blog on using ChatGPT to build an optimized Docker Image:

Here
Part 1 using (Single Container)
Part 2 (using 2 Containers)
3-Minute Read