GenAI Workshop
Advanced AI systems, embeddings, RAG pipelines, agents, and modern frameworks. Understanding the fundamentals of Generative AI and how to apply them in real-world scenarios.
Advanced AI systems, embeddings, RAG pipelines, agents, and modern frameworks. Understanding the fundamentals of Generative AI and how to apply them in real-world scenarios.
Total Duration: 3 hours 30 minutes (9:00 - 12:30)
We'll explore the essential concepts behind modern GenAI systems, including LLMs, embeddings, RAG, tokens, context windows, agents, and frameworks like MCP and LangChain.
Advanced AI systems trained on vast text datasets to understand and generate human-like text.
Numerical representations of text, images, or data in high-dimensional space for semantic search, similarity comparison, and efficient AI processing.
Technique combining information retrieval with text generation to produce accurate, factual responses by accessing external data sources.
Fundamental text units in AI models (words, subwords, or characters) that determine model capacity and processing limitations.
The maximum amount of text an AI model can process at once, affecting coherence and reference to previous information.
Intelligent systems that autonomously perform tasks or make decisions using tools, memory, and advanced reasoning to achieve specific goals.
A standardized protocol for AI models to access external tools and data sources, improving interoperability across different models and platforms.
An open-source framework that simplifies building applications powered by large language models, providing standardized interfaces for chains, agents, memory, and tool integrations.
Understanding how traditional data engineering practices intersect with GenAI workflows is crucial for building robust, scalable AI systems.
Before we dive into the technical details, watch this introduction to understand the fundamentals of Generative AI and its transformative potential.
A token can be a whole word, two or more words, part of a word, or even punctuation, depending on how the text is split. Tokens are the fundamental units that language models use to process and understand text.
The way text is tokenized directly impacts how the model interprets and generates language. Understanding tokens is crucial for optimizing AI interactions and managing costs.
Embeddings are numerical representations of tokens that capture their meaning so a model can understand relationships between words.
Embeddings are a fundamental concept in deep learning. They transform words or other data into vectors, which are numerical representations that machines can understand and process. By converting all input data into vectors, deep learning models can analyze and learn from complex information efficiently.
AI models represent words as vectors in a multi-dimensional space. Here, "tower" is mapped to a point, and the model finds the closest points—words with similar meanings like "towers," "gate," "building," and "skyscraper."
This allows AI to understand relationships and similarities between words, enabling more accurate language understanding.
king - man + woman ≈ queen
By calculating the distance between "man" and "woman," we can apply the same difference to "king" and discover "queen." This powerful property allows AI models to solve word analogies using vector arithmetic, enabling a deeper understanding of the relationships and structure within language.
The "context window" refers to the amount of information a language model can consider at once while generating responses.
Input data passes through multiple layers of attention and processing (such as multilayer perceptrons) within the model. Each layer analyzes the relationships between different parts of the input, capturing context and meaning.
RAG combines LLMs with a vector database: when you ask a question, relevant information is retrieved from indexed data and provided to the language model, resulting in more accurate and informed responses.
LangChain is an open-source framework designed to simplify the development of applications powered by large language models (LLMs). It provides a standardized interface for building complex AI workflows, chains, and agents.
LangChain enables developers to create sophisticated applications by connecting LLMs with external data sources, APIs, and tools. It abstracts away the complexity of managing prompts, memory, and data retrieval, allowing you to focus on building innovative solutions.
Watch how data flows through LangChain components, from user input to final output.
Detailed LangChain Execution Flow
Click through each tab to learn more about individual LangChain components.
A modular framework for building LLM-powered applications
LangChain provides pre-built components that can be easily combined to create sophisticated AI applications. Instead of writing boilerplate code, you can focus on your application's unique logic.
The brain of your application - interfaces to AI models
# Using different LLM providers with the same interface from langchain.llms import OpenAI from langchain.chat_models import ChatAnthropic # OpenAI model openai_llm = OpenAI(model="gpt-3.5-turbo", temperature=0.7) # Anthropic model - same interface! claude_llm = ChatAnthropic(model="claude-3-sonnet") # Both work the same way response = openai_llm.invoke("Explain quantum computing")
Provider Agnostic: Switch between OpenAI, Anthropic, Cohere, or local models without changing your application code. LangChain provides a unified interface.
Structured templates for consistent LLM interactions
from langchain.prompts import PromptTemplate, ChatPromptTemplate # Simple template with variables template = PromptTemplate( input_variables=["product", "language"], template="""Write a compelling product description for {product}. The description should be in {language} and highlight key benefits.""" ) # Fill in the variables prompt = template.format( product="wireless headphones", language="English" ) # Chat-style templates chat_template = ChatPromptTemplate.from_messages([ ("system", "You are a helpful assistant specialized in {domain}."), ("human", "{question}") ])
Combine components into reusable workflows
from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.llms import OpenAI # Create a simple chain llm = OpenAI(temperature=0.7) prompt = PromptTemplate( input_variables=["topic"], template="Write 3 creative ideas about {topic}" ) # Combine into a chain chain = LLMChain(llm=llm, prompt=prompt) # Run the chain result = chain.run(topic="sustainable energy")
Maintain conversation context and state
from langchain.memory import ConversationBufferMemory from langchain.chains import ConversationChain # Create memory to store conversation history memory = ConversationBufferMemory() # Create a conversation chain with memory conversation = ConversationChain( llm=llm, memory=memory, verbose=True ) # The chain remembers previous messages! conversation.run("Hi, my name is Alice") conversation.run("What's my name?") # It remembers: "Alice"
Autonomous systems that decide which tools to use
from langchain.agents import initialize_agent, Tool from langchain.tools import DuckDuckGoSearchRun # Define tools the agent can use search = DuckDuckGoSearchRun() tools = [ Tool(name="Search", func=search.run, description="Search the web for current information") ] # Create an agent that decides which tools to use agent = initialize_agent( tools=tools, llm=llm, agent="zero-shot-react-description", verbose=True ) # The agent autonomously decides to use Search agent.run("What's the weather in New York today?")
LangChain is an open-source framework designed to simplify the development of applications powered by large language models (LLMs). It provides a standard interface for chains, lots of integrations with other tools, and end-to-end chains for common applications.
LangChain accelerates development by providing pre-built components and patterns for common LLM application scenarios. It offers:
LangGraph is a library for building stateful, multi-actor applications with LLMs. It extends LangChain to support cyclic flows, allowing for more complex agentic behaviors.
Key Difference: While LangChain uses linear chains (A → B → C), LangGraph enables cycles and conditionals (A → B → C → back to A if needed).
Conceptual View: How the pieces fit together
The most powerful pattern in LangGraph is the Cyclic Supervisor, where a supervisor agent orchestrates multiple worker agents in a loop until the task is complete.
User → Supervisor → [Agent A | Agent B | Agent C] → Supervisor → ... → Final Response
While LangChain excels at building linear, directed acyclic graphs (DAGs) for straightforward applications, LangGraph introduces the ability to build stateful, cyclic graphs which are essential for complex agentic workflows.
Guardrails are safety mechanisms that control and validate AI model inputs and outputs, ensuring responses are safe, accurate, and aligned with business requirements.
Purpose: Prevent harmful content, enforce policies, validate outputs, and maintain quality standards.
Hallucinations occur when LLMs generate plausible but factually incorrect information. This is one of the biggest challenges in production AI systems.
Impact: Can lead to misinformation, legal issues, and loss of user trust.
The Model Context Protocol (MCP) is an open standard developed by Anthropic that enables AI applications to securely connect to external data sources and tools. It provides a universal, standardized way for LLMs to interact with various systems, databases, APIs, and services.
MCP acts as a bridge between AI models and the external world, allowing them to access real-time information, execute actions, and integrate with existing enterprise systems without custom integrations for each tool or data source.
MCP solves a critical challenge in AI development: the fragmentation of tool integrations. Instead of building custom connectors for each combination of AI model and data source, MCP provides a unified approach.
The Model Context Protocol follows a client-server architecture where an MCP host (an AI application like Claude Desktop) establishes connections to one or more MCP servers. The MCP host creates one MCP client for each MCP server, maintaining dedicated one-to-one connections.
MCP eliminates the need for custom integrations between each AI model and data source. Instead of building separate connectors for every combination, MCP provides a standardized protocol that works universally across different systems.
MCP Scope: The protocol focuses solely on context exchange between AI applications and data sources. It includes the MCP specification, SDKs for different programming languages, development tools like the MCP Inspector, and reference server implementations.
GenAI agents represent an evolution in artificial intelligence, moving beyond simple language models to systems capable of complex reasoning, memory management, and autonomous task execution.
Agents combine multiple components, such as access to external tools, short-term and long-term memory, document processing, and even multi-modal capabilities (combining text, images, and other data types).
Practical courses from DeepLearning.AI on building, optimizing, and coordinating intelligent agents.
| Course | Platform | Focus |
|---|---|---|
| Practical Multi AI Agents and Advanced Use Cases with CrewAI | DeepLearning.AI | Building and coordinating multiple agents |
| AI Agents in LangGraph | DeepLearning.AI | Architecture and execution with LangGraph |
| Long-Term Agentic Memory with LangGraph | DeepLearning.AI | Long-term memory in agents |
| AI Agentic Design Patterns with AutoGen | DeepLearning.AI | Design patterns and coordination |
| Evaluating AI Agents | DeepLearning.AI | Agent performance evaluation |
| Event-Driven Agentic Document Workflows (LlamaIndex) | DeepLearning.AI | Document workflows with RAG + agents |
| Build Apps with Windsurf's AI Coding Agents | DeepLearning.AI | Code generation agents |
| Building Code Agents with Hugging Face (SmolAgents) | DeepLearning.AI | Code and automation agents |
| Building AI Browser Agents | DeepLearning.AI | Interactive browser-based agents |
| DsPy: Build and Optimize Agentic Apps | DeepLearning.AI | Python framework for agentic optimization |
| MCP: Build Rich-Context AI Apps with Anthropic | DeepLearning.AI | Building rich-context AI applications |
Industry insights from leading consulting firms on GenAI strategy, ROI, and organizational transformation.
| Report | Organization | Type | Focus |
|---|---|---|---|
| Unlocking the Right Agentic AI Use Cases | Deloitte | Choosing the right Agentic AI use cases | |
| Identifying and Scaling AI Use Cases | OpenAI | Scaling high-impact AI use cases | |
| Seizing Agentic AI Advantage | McKinsey | Article | Turning productivity into ROI |
| Agentic AI Advantage — Unlocking Next-Level Value | KPMG | Strategic value for executives | |
| How to Become an Agentic Organization | McKinsey | Article | Organizational strategies for Agentic AI |
| One Agent to Rule Them All | PwC | From data foundations to Agentic enterprises | |
| The ROI of AI in 2025 | Financial impact and AI ROI | ||
| One Year of Agentic AI — Six Lessons | McKinsey | Article | Lessons from one year of Agentic AI adoption |
Essential resources to understand the technology behind modern LLMs.
| Resource | Type | Source | Focus |
|---|---|---|---|
| Visualizing Transformers and Attention | Video | 3Blue1Brown - TNG Big Tech Day '24 | Visual explanation of transformers |
| Transformers, the Tech Behind LLMs | Video | 3Blue1Brown - Deep Learning Chapter 5 | How transformers work |
| Attention in Transformers, Step-by-Step | Video | 3Blue1Brown - Deep Learning Chapter 6 | Attention mechanism explained |
| How Might LLMs Store Facts | Video | 3Blue1Brown - Deep Learning Chapter 7 | Knowledge representation in LLMs |
| A Survey of Transformers | Paper | arXiv | Comprehensive transformer survey |
| Attention Is All You Need | Paper | NeurIPS 2017 | Original transformer paper (Vaswani et al.) |
Ready to test what you've learned? Take the full interactive quiz to assess your understanding of GenAI concepts.
Open Full Quiz ↗Put your knowledge into practice with our comprehensive hands-on workshops. We have divided the practical sessions into three focused tracks to cater to different learning goals.
Start here to understand the fundamental building blocks of Generative AI. You will work with individual Python scripts to learn how chatbots, tools, and RAG systems work under the hood.
What You'll Learn:
Technologies: Python, Docker, Ollama, LangChain, FAISS, Sentence Transformers
Ready for the next level? Deploy a complete, production-ready AI assistant with a polished user interface. This workshop focuses on application architecture, dependency management, and user experience.
What You'll Learn:
Classic agent architecture using LangChain's AgentExecutor with tools, memory, and chains.
Stack: LangChain, Ollama, FAISS, Streamlit
Start LangChain Workshop ↗State machine-based agent with explicit control flow, cycles, and conditional branching.
Stack: LangGraph, Ollama, FAISS, Streamlit
Start LangGraph Workshop ↗