Instructor Portal
Enter the workshop password to continue.
Start a Session¶
Create a session code that attendees will use to join your announcements board.
Instructor Guide¶
This guide is for you, the instructor. It covers how to use the announcements board, how to pace the workshop, what to say and demo at each module, and how to fix things when participants get stuck. The actual workshop content lives in the workshop guide that participants follow.
Sessions & Announcements¶
Announcements are scoped to sessions. Each session gets a unique 3-digit code that you give to your attendees. They enter the code on the announcements page to see only your updates. Multiple instructors can run workshops at the same time — each with their own isolated session.
Sessions expire automatically after 24 hours. All announcements in the session are deleted when it expires. You can also end a session manually at any time.
Starting a session:
- Go to the Announcements tab in this portal
- Enter your name and click Start Session
- You'll get a 3-digit code — display it on screen or write it on the board
- If there are already active sessions listed below, you can click one to rejoin it
Posting announcements:
- Use API Key mode to post the OpenAI key (participants get a copy button)
- Use Message mode to send updates ("We're moving to Module 3", "Reminder: restart your server after changing .env")
- Pin important announcements so they stay at the top
Post the OpenAI key as the very first thing when the workshop starts. Most setup questions go away once they have the key.
What participants do:
- During Module 0 (Setup), they click the "Check Announcements" link which opens the announcements page in a new tab
- They enter your 3-digit session code and click Join
- The page polls for new announcements every 60 seconds
- Their session code is saved in the browser tab — they only enter it once
OpenAI API Key¶
You need an OpenAI API key ready before the workshop starts. This is what participants will use to power the agent's LLM calls.
- Make sure you're in the Redis OpenAI org (if not, ask in #knowhow on Slack)
- Go to platform.openai.com/api-keys
- Click Create new secret key, give it a name, select "Default" project, and pick permissions
- Copy the key immediately. You cannot view it again
- When the workshop starts, post it via the Announcements tab so participants can copy it
How to Run Each Module¶
Every module follows the same rhythm:
- You explain (2-3 min). Tell them what this module does and why it matters. Use the talking points below.
- They work (5-15 min). They follow the workshop guide at their own pace. Walk the room and help anyone stuck.
- You demo (2-3 min). Once most people are done, show the result on your screen. Open the Activity Panel (Redis logo, top-right of the app) to show what the agent did behind the scenes.
Note: Every time .env changes, they must restart: Ctrl+C then make dev. Say this at the start. Repeat before every module. This is the number one source of confusion.
Talking Points Per Module¶
Module 0: Setup¶
Post the OpenAI key via announcements first. Then tell them: "Clone the repo, install, create your .env, and enter the session code on the announcements page to get the key." Walk the room actively during setup. This is where most people get stuck.
| Common issue | What to say |
|---|---|
| "Where's the OpenAI key?" | "Go to the announcements page, enter the session code I gave you, and copy it from there" |
| "Redis Cloud wants a credit card" | "Pick 'Try 30 MB for Free', no card needed" |
| "Connection refused" | "Add REDIS_SSL=true to your .env and restart" |
make not found (Windows) |
"Use .\workshop.ps1 instead of make" |
Module 1: Vector Search¶
The agent can't answer a single question right now. After this module it can find relevant documents by understanding what users mean, not just matching keywords. This is the first time the app actually works.
Demo: Ask "Why is my order running late?" then open the Activity Panel and click Vector-search-policies. Show them the documents it found. "It understood your question by meaning, not keywords."
If it returns nothing: They forgot to run make seed-data.
Module 2: Semantic Router¶
Without guardrails, the agent answers anything, including off-topic requests that have nothing to do with your business. The semantic router blocks those queries by meaning before any LLM tokens are spent.
Demo: Before they enable the router, ask "Write me a Python script" on your screen. The agent happily complies. Then enable it, restart, and ask again. Blocked. "The router classified that by meaning before the LLM even saw it. No regex, no keyword lists."
If it's not blocking: They forgot GUARDRAIL_ENABLED=true in .env or didn't restart.
Module 3: Context Retriever¶
This is the biggest wow moment. Vector search gives generic document answers. Context Retriever connects the agent to live business data so it can pull actual orders, customers, and delivery events in real time. You describe your data once and Redis auto-generates tools the agent can call. No code to write in this module.
Demo the first entity live on your screen. Create it together with them so they see Auto-Detect Fields scan the database and figure out the schema automatically. After make setup-context runs, go back to the Cloud console and show them the entities, relationships, and auto-generated tools. "Redis created 62 tools your agent can call. You didn't write a single endpoint."
Then restart, switch to Real-time Context mode, and ask "Why is my order late?" Watch the Activity Panel as the agent chains tool calls in real time. Switch back to Simple RAG and ask the same question. "See the difference? Same question. Generic policy vs. live data."
| Common issue | What to say |
|---|---|
| setup-surface fails | "Re-copy the Admin Key from the Cloud console" |
| 0 entities loaded | "Check CTX_SURFACE_ID and MCP_AGENT_KEY in your .env" |
| Tools don't show up | "Restart the server" |
Module 4: LangCache¶
Users ask the same questions constantly. LangCache caches responses by meaning, so "What's your refund policy?" and "Tell me about refunds" return the same cached answer instantly. No LLM call, no latency, up to 90% cost savings in production.
Demo: Ask "Provide me the refund policy rules for late deliveries" and open the Activity Panel. It shows HIT with a similarity score. "That was instant. No LLM call." Then ask something different to show a MISS where the full pipeline runs.
If it always misses: Check all three credentials (LANGCACHE_API_KEY, LANGCACHE_HOST, LANGCACHE_CACHE_ID) and rerun make seed-langcache.
Module 5: Agent Memory¶
Without memory, every conversation starts from scratch. The agent has no idea who it's talking to or what was discussed before. Agent Memory gives it session memory for the current conversation and long-term memory for user preferences that persist across conversations. The agent goes from generic to personal.
Demo: Ask "What should I order?" and open the Activity Panel. It recalled "likes spicy food" and "prefers contactless delivery" from long-term memory. Then ask "From what restaurant?" to show session memory keeping the conversation going. Bonus: have them change similarityThreshold to 0.8, restart, and ask again to see how it changes what the agent remembers.
If it returns nothing: Check all three credentials (MEMORY_API_KEY, MEMORY_API_BASE_URL, MEMORY_STORE_ID) and run make seed-memories.
Closing¶
"You started with an agent that couldn't answer a single question. Now it searches by meaning, blocks off-topic queries, pulls live data through auto-generated tools, caches for 90% cost savings, and remembers users across conversations. All Redis."
The Congratulations page in the guide has links to Redis Iris docs for anyone who wants to keep going.
Demo Mode¶
USE_SOLUTIONS=1 in .env + restart. All exercises run with pre-built solutions, no coding needed. Use it to verify your setup before the workshop, help someone who fell behind, or demo the end result.