RU402 · Self paced

Redis as a vector database

Learn to use Redis as a vector database and perform vector searches.

 course image

What you’ll learn

With Redis, you can build advanced use cases thanks to the support of the vector data type. This course introduces you to semantic search and explains its advantages over the traditional full-text search. You will understand the concepts of vector embeddings and embedding models, learn to use Redis as a vector database and perform vector searches. To complete the picture, you will comprehend how Redis represents the core component of applications integrated with Large Language Models. In addition, you will understand how Redis is well-integrated in the most popular frameworks like LangChain, LlamaIndex, or FeatureForm and service providers such as Amazon Bedrock or AzureOpenAI to leverage the vector capabilities out-of-the-box.

What you’ll build

Through the course, you will put the main concepts from the theory into practice and test the main ideas behind semantic search using the most popular programming languages: Python, Java, C#, and JavaScript. You will also run examples with Jupiter notebooks. You will start with a simple application to perform a semantic search of texts and understand how to model the data for complex applications with real data. In particular, you will implement:

  • A smart recommender system with a real dataset of books
  • A face recognition system leveraging vector search to spot the identity of test subjects using their face
  • An AI-assisted intelligent chatbot integrated with OpenAI ChatGPT

You will define the data model using the Redis Hash and JSON data types and understand how to lay down the skeleton of such projects with a few lines of code and the most popular client libraries, including RedisVL, the native Python client library optimized to work with vectors.


Course Outline

Week 1 - What is semantic search?

  • Course Overview
  • An overview to semantic search
  • From full-text to semantic search
  • Modeling unstructured data
  • Working with vector embeddings

Week 2 - Introducing vector search

  • Introducing vector search
  • The vector space
  • Vector search in practice
  • Using the right distance

Week 3 - Redis as a vector database

  • Redis as a vector database
  • Accelerating semantic search
  • The vector: just another Redis data type
  • Storing vectors
  • Configuring vector search

Week 4 - Working with client libraries

  • Run vector search in your programming language
  • Jedis, the Java client library
  • node-redis, the JavaScript client library
  • NRedisStack, the C# client library
  • RedisVL, the Python client library

Week 5 - Use Cases

  • From theory to practice
  • Text-based recommender systems
  • Visual recommender systems
  • GenAI-assisted chatbots
  • More use cases

Week 6 - Earn your Certification!

  • Final Exam
Course Number
RU402
Starts
February 20, 2024
Estimated Effort
~ 4 hours per week

Prerequisites

The following courses are recommended but not required:

  • RU204: Storing, Querying, and Indexing JSON at Speed
  • RU101: Introduction to Redis Data Structures

Software Requirements

  • Web Browser: Firefox 39.0+ or Chrome 43+
  • Operating System: Mac OS X 10.7+ 64-bit, Ubuntu 14.04+ 64-bit, or Windows 10
  • Software: A free Redis Cloud account, or Docker, or local install of Redis Stack. Redis Insight recommended but not required. Python 3.7 or higher
  • Recommended for running code samples locally: Node.js (version 14.8 or higher), Java JDK (Java 11 or higher), and .NET SDK (version 6 or higher).
  • Access to vimeo.com, university.redis.com and github.com
A photograph of Mirko Ortensi
Instructor Mirko Ortensi

Mirko Ortensi wrote his first lines of code on a Commodore 64 in Basic when he was 10 years old. It was love at first sight. Eventually he earned a degree in electronic engineering and a Masters degree in software engineering at Università Politecnica delle Marche in Italy in 2002, with a thesis about pattern recognition at UPC in Barcelona, Spain. Mirko’s career has spanned several roles in software and services businesses, encompassing development and testing, system management, and support, particularly centered around databases and distributed systems. As a senior technical enablement architect at Redis, Mirko is in charge of sharing technical knowledge about Redis’s products, services, and features.


A photograph of Justin Castilla
Instructor Justin Castilla

Justin is a Senior Developer Advocate at Redis. He has helped to produce several courses at Redis University and has created numerous videos for the Redis YouTube channel. Previous to Redis, Justin was a Web Development boot camp instructor, Software Engineer for a automated testing company, and a dog walker!

Certification image

Make it official

Become a Redis-certified developer when you complete this program.

Learn more