
Learn the fundamentals of Retrieval-Augmented Generation (RAG), AI agents, and LangGraph in Python through a simple and practical example using ChromaDB.
This course is designed as an introduction to the main ideas behind RAG-powered AI agents. The focus is not on building a large production system or covering every possible retrieval technique. Instead, the course uses a relatively simple project to explain how language models, retrieval, vector databases, agents, and LangGraph can work together.
We begin with the fundamentals of AI agents and workflows.
You will first understand what an AI agent is, how it differs from a standard language model application, and why agentic systems are useful when an application needs to make decisions or interact with external tools.
We will look at the basic agent loop and how a model can receive a user request, decide what action to take, use a tool, inspect the result, and continue until it can produce a response.
From there, we introduce the concept of workflows.
Not every AI application needs to behave as a completely autonomous agent. In many cases, it is useful to define a more structured sequence of steps that controls how information moves through the application.
You will learn the basic difference between agents and workflows and see how both approaches can be combined.
The course then introduces LangGraph.
LangGraph provides a way to organize AI applications as graphs made up of state, nodes, and edges. We will use these concepts to build a simple workflow where different parts of the application have clearly defined responsibilities.
You will learn how information is stored in the graph state, how nodes perform individual steps, and how edges determine what happens next.
This provides the foundation for introducing RAG — Retrieval-Augmented Generation.
RAG is a common approach for allowing a language model to answer questions using information that is not necessarily contained in its original training data.
Instead of asking the model to answer only from its internal knowledge, a RAG application first searches an external knowledge source for relevant information. That information is then provided to the language model as additional context.
In this course, we will build a straightforward RAG example using ChromaDB as the vector database.
You will learn the basic role of a vector database and how documents can be stored in a form that makes semantic retrieval possible.
We will look at the main stages of a simple RAG pipeline, including preparing documents, creating embeddings, storing data inside ChromaDB, retrieving relevant chunks, and passing the retrieved context to a language model.
The goal is to make the overall RAG process easy to follow without introducing unnecessary complexity.
Once the basic retrieval pipeline is working, we will connect it to an AI agent.
Instead of always performing retrieval automatically, we can give the agent access to retrieval as a tool. The language model can then decide when it needs information from the knowledge base and use the retrieval tool as part of its reasoning process.
This introduces the basic idea behind a RAG AI agent.
You will see how retrieval can become one capability inside a broader agent workflow and how LangGraph can be used to organize the interaction between the user, the language model, the retrieval system, and the final response.
We will also examine how the workflow moves between different steps and how retrieved information becomes part of the context available to the model.
The course intentionally keeps the RAG implementation simple.
We will not attempt to cover every advanced topic such as complex reranking systems, large-scale distributed vector databases, sophisticated retrieval evaluation, or advanced production architectures.
Instead, the objective is to build a clear foundation that helps you understand what happens inside a RAG application before moving on to more complex implementations.
By the end of the course, you should understand the basic relationship between AI agents, workflows, LangGraph, vector databases, and Retrieval-Augmented Generation.
You will also have worked through a practical example showing how ChromaDB can be used to store and retrieve information for a simple RAG-powered agent.
What we will cover
AI agent fundamentals
The basic agent loop
Agents and agentic applications
AI workflows
Agents compared with structured workflows
Introduction to LangGraph
LangGraph state
Nodes and edges
Basic workflow routing
Tool-using agents
Retrieval-Augmented Generation fundamentals
Why RAG is useful
The basic RAG pipeline
Documents and knowledge bases
Text chunks
Embeddings
Vector search
Vector databases
Introduction to ChromaDB
Storing documents in ChromaDB
Retrieving relevant documents
Passing retrieved context to a language model
Creating a simple retriever
Turning retrieval into an agent tool
Building a simple RAG AI agent
Connecting RAG with LangGraph
Managing the flow between retrieval and generation
Using retrieved information to answer user questions
Organizing a simple RAG application in Python
The emphasis throughout the course is on understanding the complete flow of a simple RAG AI agent.
Rather than starting with a complicated architecture, we build the concepts gradually: first agents, then workflows, then LangGraph, and finally RAG.
If you are comfortable with Python and want a practical introduction to RAG, ChromaDB, and LangGraph-based AI agents, this course provides a focused starting point without requiring advanced machine-learning knowledge.