Mastering RAG as Taught by a Silicon Valley AI Developer -> From Vector DB (ChromaDB) to Practical Application
LLMs are smart, but they have limitations in that they do not know our internal documents or the latest information. Based on the trial and error and operational experience gained from directly developing RAG systems in Silicon Valley, I will show you how to build a production-grade RAG that goes beyond a simple demo. We will complete the entire practical workflow, from Vector DB (ChromaDB) to search quality improvement, re-ranking, and advanced RAG patterns.
Ability to directly implement a ChromaDB-based semantic search system
Experience in building a document upload-type RAG API server
Ability to apply re-ranking and hybrid search for search quality improvement
The ability to understand and explain Vector DB, Embedding, and HNSW structures.
Practical experience in designing and operating production-level RAG architectures
실리콘밸리 현직 AI 개발자 직강
Mastering RAG with a Silicon Valley AI Developer
This course is a hands-on lecture where you will build vector search and RAG (Retrieval-Augmented Generation) services from scratch using TypeScript and ChromaDB. You will complete a RAG service that answers based on uploaded documents, covering everything from vector databases to advanced optimization entirely locally, without any external API costs.
3-Step Introductory · Practical · Advanced TrackPractice-Oriented LectureComplete a RAG Service YourselfA seamless flow from Introductory → Practical → Advanced
0 won
Both embedding (bge-m3) and LLM (llama3.2) run locally (Ollama). You can practice the entire course without needing to issue API keys or worrying about billing.
Ollama · POST /api/embedbge-m3 → 1024-dimensional vectorgetOrCreateCollection({ hnsw:space: cosine })collection.upsert({ ids, documents })collection.query({ queryTexts })where_document → Content filterHNSW M · ef_construction tuningllama3.2 · /api/chat → RAG responsecross-encoder RerankingQuery Rewriting · HyDE · Multi-QueryExpress → RAG API servicePractice for $0 · Fully localOllama · POST /api/embedbge-m3 → 1024-dimensional vectorgetOrCreateCollection({ hnsw:space: cosine })collection.upsert({ ids, documents })collection.query({ queryTexts })where_document → Content filterHNSW M · ef_construction tuningllama3.2 · /api/chat → RAG responsecross-encoder RerankingQuery Rewriting · HyDE · Multi-QueryExpress → RAG API servicePractice for $0 · Fully local
There are no keywords, so how does it find them?
These are the actual results from Lecture 5.1. The word "coffee" does not appear in the query.
QueryThe comfort provided by a warm drink
The smaller the distance, the closer it is · Cosine Distance
1Coffee gifts a brief moment of rest0.218
2A cup of latte fills the day0.387
3Espresso is short but intense0.412
There are no overlapping words between the query and the document.
A keyword search would yield no results.
They are sorted by semantic proximity, and that "closeness" is displayed as a number.
We will start with how to read these numbers.
What is RAG (Retrieval-Augmented Generation)?
In a single sentence, it is the process of giving the LLM eyes to read our data.
How it works
Question
The user asks
→
Vector Search
Finds the evidence
→
Evidence + Question
Pass them together
→
LLM
Read and answer
→
Answers with sources
It knows where it came from
What changes?
If you only use an LLM
“Summarize the sales report for the fourth quarter of last year”
It only knows the knowledge it was trained on. It cannot see the internal company documents you just uploaded.
If you add RAG
"Summarize last year's Q4 sales report"
It finds that document and uses it as a basis. Sources are attached to the answer.
Most people stop here
Why are the search results strange?How can I improve the quality?How do I deploy this as a real service?
It doesn't take long to get to a working demo as a tutorial.
What this course fills in
01
Principles
Why embeddings and vector DBs work the way they do
02
Implementation and Operation
Create a semantic search with ChromaDB and run the server
03
Measurement
Measure and improve search quality with numbers
04
Completion
Build an RAG service from start to finish by integrating an LLM
Have you ever had these concerns?
If you know that RAG is important but haven't been able to get a handle on it—this lecture covers exactly that.
"They say RAG is the trend, but where on earth should I even start?"
"I followed the tutorials, but how do I actually deploy it as a real service?"
"The search results are really strange, but I don't know why or what needs to be fixed."
"Vector DB, embedding... I've heard the terms, but the principles are blurry."
With this single course, you will progress seamlessly from concept → practical service → advanced optimization.
Rather than a hundred words of explanation, see it for yourself
Preview the final project and the learning process through the video and screen captures.
Basics of Similarity Search — Query Search and Distance Function InterpretationSearch evaluation and vector + keyword hybrid designAI search service built with Express backendRe-ranking — Cross-encoders that go beyond the limitations of Bi-encoders
After taking this course, you will be able to do these things
The goal is to end with "I can build it myself" rather than just "I understand it."
Understand the principles of vector DBs and embeddings by hand You will be able to explain why "similar meanings result in close vectors."
Implement semantic search directly with ChromaDBCreate a search engine in code that finds by "meaning" rather than just keywords.
Stable server operation and data persistence/backupin a form that can be deployed for actual services, beyond just for learning.
How to measure and improve search qualityImprove results through evaluation sets, hybrid search, and re-ranking.
Complete the RAG service with Express + LLMCreate an API that answers based on the content of uploaded documents.
From HNSW tuning, re-ranking, to advanced RAG patternsMaster practical patterns such as HyDE, Multi-Query, and Self-Querying.
Why should it be this course?
There are many RAG courses on the market. However, this course is different in four ways.
01 — SILICON VALLEY
Practical perspectives from a Silicon Valley professional
Instead of code that just "works," we examine designs and trade-offs from the perspective of a current AI developer who knows what truly matters in actual production.
02 — HANDS-ON
Don't just listen to explanations—build it yourself
In every lecture, you will execute the code yourself and verify the results with your own eyes. By the end, you will have your very own "RAG service" in your hands.
03 — END TO END
Beginner → Operations → Advanced, all in one flow
It doesn't just end with concepts or suddenly jump to advanced levels. It flows seamlessly in one course, from the basics to practical application and optimization.
04 — ZERO COST
Everything is local, without any external paid APIs.
Both embeddings and LLMs are run locally (Ollama). You can practice as much as you want without needing API keys or worrying about billing bombs.
Instructor Introduction
SILICON VALLEY · AI ENGINEER
Silicon Valley Developer Waddy
I'm Waddy, a backend server developer with 13 years of experience who has worked for various companies in Korea before recently moving to Silicon Valley to work on AI-related development.
I joined this project through a connection with a developer friend from Toss, and I find it very exciting to be able to provide diverse information in an online environment. I will do my best to convey the knowledge I have as easily and comfortably as possible.
"I spend most of the lecture giving you the sequence of judgment on what to check first when search results come out strange. The code will naturally become second nature as you follow along."
RAG · Vector SearchLLM ApplicationsProduction BackendSilicon Valley Professional
Follow the perspective of a current Silicon Valley developer, starting now.
From the principles of vector search to the completion of a RAG service, everything flows seamlessly in a single stream.
Before and after taking the course, what will change?
Even when dealing with the same RAG, the depth of your perspective will change after taking this course.
Before taking the course
When asked "How did you implement RAG?", you only list the steps followed in a tutorial.
Decide on chunk sizes and top-k values based on gut feeling, and cannot explain the reasoning behind them
I have never checked whether the search quality improved or worsened using numerical data.
I've tried cloning and running examples, but I've never built one from scratch using my own data.
After completion
I can explain the principles of embedding and vector search in my own words.
Measure search quality with numbers and decide what to change.
Operate your own RAG service complete with a backend.
Elevate quality with re-ranking, HNSW, and advanced RAG patterns
By the end of this course, you will be building this
A personalized RAG search service that answers questions based on documents uploaded by the user.
Document-based Q&A RAG Service
This is not just a simple demo, but a functioning backend equipped with an ingest API, semantic search, LLM response generation, prompt design, and source attribution. On top of that, we will incorporate re-ranking and advanced RAG patterns to elevate the search quality.
1 Document upload → Chunking & Embedding storage
↓
2 Question → Extract relevant documents via semantic search
↓
3 Selecting the most accurate evidence through re-ranking
↓
4 LLM generates an answer based on the evidence
This technology is used like this in practice
The vector search and RAG systems you will build are already running every day in places like these.
사내 지식 검색
Scattered documents in a single line
Even if wikis, manuals, and regulations are scattered across hundreds of documents, simply asking "What is the refund policy?" will provide an answer along with the exact supporting evidence. This is a role that significantly reduces the costs of new hire onboarding and repetitive inquiries.
고객 지원 자동화
A consultation bot that even shows its sources
Automate first-line responses based on product documentation and FAQs. By showing which documents were referenced alongside the answer, users can trust and verify the information.
문서 Q&A · 리서치
Reduce the time spent reading long materials
When you upload reports, papers, or contracts, it becomes an assistant that answers questions about the core content. You can ask things like, "Summarize only the penalty clauses in this contract."
코드 · 데이터 검색
"Where was that feature again?"
Search for code by its meaning. Even if you can't think of a keyword, you can find relevant code just with a description like "the part that handles payment cancellations." (This is covered directly through code chunking in the lecture)
How is this different from self-study using YouTube or official documentation?
Reduce the time spent searching for scattered information and go straight to practical application all at once.
Comparison
Self-study on your own (YouTube, blogs, official documentation)
This course
Form of information
Information is scattered here and there, so you have to piece it together yourself.
Organized into a single flow: Introductory → Operational → Advanced
Depth
It is easy to stop at a "working demo"
From operation and quality measurement to improvement, all the way to the end
When stuck
Searching and going through trial and error on your own
Provides troubleshooting perspectives and diagnostic sequences
Outcome
Fragmented example code snippets
An RAG service operated firsthand
Standard
Different for each source
Practical standards from a Silicon Valley professional
RAG·ChromaDB Curriculum
It flows seamlessly from the basics of vector search to practical ChromaDB operations, RAG, and advanced search patterns. Click the title to expand.
섹션 1
Course Introduction and Overall Learning Roadmap
We will take a quick look at what you will learn in this course and how it progresses from A → B → C.
Course Introduction — Overview of what we'll build, the overall flow, and the learning roadmap
섹션 2
Searching by Meaning — Principles of Embeddings and Vector DBs
From the limitations of keyword search to the operating principles of embeddings, similarity, and vector DBs, as well as an introduction to ChromaDB.
Semantic Search and Embedding — The idea of treating meaning as coordinates
Embedding Model Principles and Similarity Measurement — Methods for measuring how close vectors are
Vector DB vs Traditional DB — Differences and practical use cases
Introduction to ChromaDB — Components and Project Stack Overview
섹션 3
Setting up the development environment — Preparing the Ollama embedding model
Install and run the local embedding server Ollama directly, and set up the client packages.
Installing and Running Ollama — Launching a Local Embedding Server
Embedding Model Practice — Confirming model calls and installing client packages
섹션 4
ChromaDB Basics — Collections, Embedding Functions, and Document CRUD
Save data in persistence mode, attach embedding functions, and handle documents with ease.
Persistence Mode and Collection CRUD — Saving data to files and managing collections
Connecting Ollama Embedding Functions — Applying and analyzing how they work
Document Retrieval and Creation — The most fundamental core functions of the API
Modifying and Deleting Documents — Completing upsert and CRUD
섹션 5
Similarity Search and First Semantic Search Mini Demo
Learn query search and distance functions, and complete your first semantic search engine yourself using chunking.
Basics of Similarity Search — query search, distance functions, and result interpretation
Advanced Vector and Similarity Search — The eye for judging search results
The Necessity of Chunking and a Mini Demo — Splitting long documents and building your first retriever
Refining the Demo — Post-processing patterns and diagnosing incorrect searches
섹션 6
Advanced Search Quality — Metadata Filters and Hybrid Search
We will revisit HNSW and distance functions, and improve quality through metadata/body filters and hybrid search.
Review of HNSW Index and Distance Functions — Laying the Foundation for Vector Search
Metadata Design and Content Filters — Utilizing where_document
Search Evaluation and Hybrid — Vector + Keyword Combination Design
섹션 7
Operations and RAG in Practice — From Backend Integration to LLM Combination
Complete everything from advanced chunking and performance optimization to Express backend, RAG pipelines, and LLM-integrated services.
Advanced Chunking and Model Migration — Embedding Model Replacement Patterns
Large-Scale Data Processing — Batch, Paging, Performance Measurement, and Analysis
Express Backend Integration — Implementing AI Search Services
RAG Structure and Ingestion — Document Ingestion and LLM Configuration
LLM Integration and Prompt Design — Refining System Prompts and Output Quality
Comparison with other Vector DBs — Differences from ChromaDB and selection criteria
섹션 8
Advanced Chunking Strategies and HNSW Index Tuning
Boost search accuracy with Recursive, Semantic, and Parent-Child chunking and HNSW parameter tuning.
I have written this honestly to ensure it provides clear help to those it is right for.
If you are this type of person, then definitely
Developers who want to create AI·LLM applications
Those who want to properly organize their understanding of RAG and vector search.
Those who have finished the tutorials but haven't been able to move on to "real-world services"
Those who need a practical sense of measuring and improving search quality
Those who want a glimpse into the design perspectives of Silicon Valley professionals
This might be difficult for these types of people
Those who are just starting out with programming (basic syntax is assumed)
Those who only want to dig deep into theory and mathematical proofs (This course focuses on "building")
Those who have absolutely no time to run the code themselves
Get hands-on experience with these tools
An open-source stack used exactly as it is in the field. Everything runs locally without any external paid APIs.
VECTOR DBChromaDB
Open Source Vector Database — The Heart of Semantic Search
LANGUAGETypeScript · Node.js
The language used to implement the entire process
AI 모델Ollama · bge-m3 · llama3.2
Local Embedding · LLM (Free)
OPSchroma 서버 · 백업
Local server operation and data backup/restoration
BACKENDExpress
Search · RAG API Backend
The two platforms used in this course
Both are open source, and both run inside your laptop. You can start without an account or credit card registration.
Local Model Runtime
Ollama
Build with open models, on your computer and in the cloud
Ollama is a tool that allows you to run and test the AI models you want on your local machine without major dependencies. With a single line of command, you can download a model and call it immediately.
In this lecture, we have basically configured the course using this platform to avoid additional environment setup and costs for you.
ChromaDB is a platform that can be configured quickly on a local machine without dependencies or much difficulty.
The official documentation introduces it as follows — “Chroma is the open-source data infrastructure for AI.
It comes with everything you need to get started built-in.”
In this course, you can learn how to use this platform to handle RAG data and follow patterns for injecting and managing that data within an LLM.
We will not be using the cloud. Chroma also operates Chroma Cloud, a hosting service that provides serverless vector, hybrid, and full-text search. However, since this course is conducted locally from start to finish, you can complete it without any sign-ups or payments. You just need to know that there is one more option available when you move to production later.
Prerequisite Knowledge & Requirements
No grand preparations are needed. You can start with just a single laptop.
Prerequisite Knowledge
TypeScript · Node.js Basics
Variables, functions, async/await, and imports are enough. We will also go through Express step-by-step within the lecture.
Practice Environment
macOS
The course is conducted based on macOS (zsh·Homebrew). Embeddings and LLMs are all run locally (Ollama) for free.
Cost
0 KRW in external payments
No paid API keys like OpenAI are required. We will complete the entire process from start to finish using only open-source and local models.
Frequently Asked Questions thường gặp
We have gathered the most frequently asked questions before taking the course.
Q.RAG(Retrieval-Augmented Generation)는 무엇인가요?⌄
RAG is a method where, when a question is received, it first searches for relevant evidence within our data and then has the LLM provide an answer based on that evidence. It solves the limitation of the LLM not knowing information after its training cutoff or our company's internal documents by supplementing it with search.
Q.Python을 몰라도 들을 수 있나요?⌄
Yes. This course is conducted in TypeScript. While many people associate AI practice with Python, this course is designed so that JavaScript/TypeScript developers can follow along seamlessly.
Q.OpenAI API 키나 결제가 필요한가요?⌄
No. Both embeddings and LLMs run for free locally (Ollama). You can complete the hands-on practice from start to finish without issuing API keys or worrying about billing.
Q.완전 초보도 따라갈 수 있나요?⌄
Being familiar with the basic syntax of TypeScript and Node.js (variables, functions, async/await) is sufficient. Even if you are hearing about Vector DB and RAG for the first time, you don't need to worry, as we will build the concepts step-by-step using various visual aids and code.
Q.앞에만 듣거나, 실습만 들어도 되나요?⌄
It is recommended to watch each section in order. However, if you are already familiar with specific topics, you may use your own judgment to skip ahead. That said, the course is most effective when taken in sequence: Introductory → Practical → Advanced.
Q.실습 환경이 Windows인데 괜찮나요?⌄
The course is conducted based on macOS. While the code itself is independent of the operating system, please note that some instructions, such as installation commands, are based on macOS (Homebrew·zsh).
Q.ChromaDB나 벡터 검색을 이미 좀 써봤는데, 그래도 들을 이유가 있나요?⌄
Importing and using a library is a different skill from being able to judge for yourself where to look when search results are strange. Even if you have used basic CRUD and query() functions, the parts about measuring search quality with numbers and improving it through re-ranking, HNSW tuning, and advanced RAG patterns will likely be new content for most.
An RAG service that answers when you upload a document, build it yourself now
From the principles of vector search to completing RAG services, re-ranking, and HNSW tuning. Practice everything locally without any external API payments.
Learning continues beyond the lecture. We operate a KakaoTalk open chat where developers freely share career concerns, real-world work situations, and technical discussions. Feel free to ask questions if you get stuck while taking the course.
KakaoTalk Open Chat where developers gather
From career and workplace situations to technical concerns. This is a space to casually ask questions and find answers together.
Career TalkSharing Work SituationsTechnical DiscussionFree for Everyone
I started studying development after becoming interested in it while idling at home, and I am currently responsible for platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.
These lectures are not created solely through my own knowledge. There are others who collaborate on every lecture.