Skip to content

Commit eec0066

Browse files
committed
PM input
1 parent d5bd481 commit eec0066

File tree

3 files changed

+32
-8
lines changed

3 files changed

+32
-8
lines changed

articles/azure-cache-for-redis/cache-aspnet-output-cache-provider.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@ ms.date: 04/24/2024
1212
---
1313
# ASP.NET Output Cache Provider for Azure Cache for Redis
1414

15-
The Redis Output Cache Provider is an out-of-process storage mechanism for output cache data. This data is specifically for full HTTP responses (page output caching). The provider plugs into the new output cache provider extensibility point that was introduced in ASP.NET 4. For ASP.NET Core applications, read [Response caching in ASP.NET Core](/aspnet/core/performance/caching/response).
15+
The Redis Output Cache Provider is an out-of-process storage mechanism for output cache data. This data is specifically for full HTTP responses (page output caching). The provider plugs into the new output cache provider extensibility point that was introduced in ASP.NET 4. For ASP.NET Core applications, read:
16+
- [Output Caching in ASP.NET core using Redis in .NET 8](/aspnet/core/performance/caching/output?view=aspnetcore-8.0#redis-cache&preserve-view=true)
1617

1718
To use the Redis Output Cache Provider, first configure your cache, and then configure your ASP.NET application using the Redis Output Cache Provider NuGet package. This article provides guidance on configuring your application to use the Redis Output Cache Provider. For more information about creating and configuring an Azure Cache for Redis instance, see [Create a cache](cache-dotnet-how-to-use-azure-redis-cache.md#create-a-cache).
1819

19-
## Store ASP.NET page output in the cache
20+
## Store ASP.NET core page output in Redis
21+
For a full feature specification, see [AS.NET core output caching](/aspnet/core/performance/caching/output?view=aspnetcore-8.0&preserve-view=true) for full feature spec. You can find a sample application demonstrating the usage can be found at [AS.NET core Output Cache](https://github.com/CawaMS/OutputCacheOpenAI).
22+
23+
## Store ASP.NET page output in Redis
2024

2125
To configure a client application in Visual Studio using the Azure Cache for Redis Session State NuGet package, select **NuGet Package Manager**, **Package Manager Console** from the **Tools** menu.
2226

articles/azure-cache-for-redis/cache-overview-vector-similarity.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ ms.date: 04/24/2024
1010

1111
# About Vector Embeddings and Vector Search in Azure Cache for Redis
1212

13-
Vector similarity search (VSS) is a popular use-case for AI-driven applications. Azure Cache for Redis can be used to store vector embeddings and compare them through vector similarity search. This article is a high-level introduction to the concept of vector embeddings, vector comparison, and how Redis can be used as a seamless part of a vector similarity workflow.
13+
Vector similarity search (VSS) has become a popular tehnology for AI-powered intelligent applications. Azure Cache for Redis can be used as a vector database together with models like [Azure OpenAI](../ai-services/openai/overview.md) for Retrival-Augmented Generative AI and analysis scenarios. This article is a high-level introduction to the concept of vector embeddings, vector similarity search, and how Redis can be used as a vector database powering intelligent applications.
1414

15-
For a tutorial on how to use Azure Cache for Redis and Azure OpenAI to perform vector similarity search, see [Tutorial: Conduct vector similarity search on Azure OpenAI embeddings using Azure Cache for Redis](cache-tutorial-vector-similarity.md).
15+
For tutorials and sample applications on how to use Azure Cache for Redis and Azure OpenAI to perform vector similarity search, see:
16+
17+
- [Tutorial: Conduct vector similarity search on Azure OpenAI embeddings using Azure Cache for Redis with Langchain](./cache-tutorial-vector-similarity.md)
18+
- [Sample: Using Redis as vector database in a Chatbot application with .NET Semantic Kernel](https://github.com/CawaMS/chatappredis)
19+
- [Sample: Using Redis as semantic cache in a Dall-E powered image gallery with Redis OM for .NET](https://github.com/CawaMS/OutputCacheOpenAI)
1620

1721
## Scope of Availability
1822

@@ -48,9 +52,14 @@ Many machine learning models support embeddings APIs. For an example of how to c
4852

4953
A vector database is a database that can store, manage, retrieve, and compare vectors. Vector databases must be able to efficiently store a high-dimensional vector and retrieve it with minimal latency and high throughput. Nonrelational datastores are most commonly used as vector databases, although it's possible to use relational databases like PostgreSQL, for example, with the [pgvector](https://github.com/pgvector/pgvector) extension.
5054

51-
### Index method
55+
### Index and search method
56+
57+
Vector databases need to index data for fast search and retrieval. In addition, it should support built-in search queries for simplified programming experiences.
58+
There are several indexing methods, such as:
59+
- **FLAT** - Brute-force index
60+
- **HNSW** - Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs
5261

53-
Vector databases need to index data for fast search and retrieval. There are several common indexing methods, including:
62+
There are several common search methods, including:
5463

5564
- **K-Nearest Neighbors (KNN)** - an exhaustive method that provides the most precision but with higher computational cost.
5665
- **Approximate Nearest Neighbors (ANN)** - a more efficient by trading precision for greater speed and lower processing overhead.
@@ -72,9 +81,9 @@ Vector similarity search can be used in multiple applications. Some common use-c
7281

7382
## Why choose Azure Cache for Redis for storing and searching vectors?
7483

75-
Azure Cache for Redis can be used effectively as a vector database to store embeddings vectors and to perform vector similarity searches. In many ways, Redis is naturally a great choice in this area. It's extremely fast because it runs in-memory, unlike other vector databases that run on-disk. This can be useful when processing large datasets! Redis is also battle-hardened. Support for vector storage and search has been available for years, and many key machine learning frameworks like [LangChain](https://python.langchain.com/docs/integrations/vectorstores/redis) and [LlamaIndex](https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/RedisIndexDemo.html) feature rich integrations with Redis. For example, the Redis LangChain integration [automatically generates an index schema for metadata](https://python.langchain.com/docs/integrations/vectorstores/redis#inspecting-the-created-index) passed in when using Redis as a vector store. This makes it much easier to filter results based on metadata.
84+
Azure Cache for Redis can be used effectively as a vector database to store embeddings vectors and to perform vector similarity searches. Support for vector storage and search has been available in many key machine learning frameworks like [Semantic Kernel](https://github.com/microsoft/semantic-kernel), [LangChain](https://python.langchain.com/docs/integrations/vectorstores/redis) and [LlamaIndex](https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/RedisIndexDemo.html) feature rich integrations with Redis. For example, the Redis LangChain integration [automatically generates an index schema for metadata](https://python.langchain.com/docs/integrations/vectorstores/redis#inspecting-the-created-index) passed in when using Redis as a vector store. This makes it much easier to filter results based on metadata.
7685

77-
Redis has a wide range of vector search capabilities through the [RediSearch module](cache-redis-modules.md#redisearch), which is available in the Enterprise tier of Azure Cache for Redis. These vector search capabilities include:
86+
Redis has a wide range of search capabilities through the [RediSearch module](cache-redis-modules.md#redisearch), which is available in the Enterprise tier of Azure Cache for Redis. These include:
7887

7988
- Multiple distance metrics, including `Euclidean`, `Cosine`, and `Internal Product`.
8089
- Support for both KNN (using `FLAT`) and ANN (using `HNSW`) indexing methods.

articles/azure-cache-for-redis/cache-web-app-aspnet-core-howto.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,21 @@ ms.date: 04/24/2024
1515

1616
In this quickstart, you incorporate Azure Cache for Redis into an ASP.NET Core web application that connects to Azure Cache for Redis to store and retrieve data from the cache.
1717

18+
There are also caching providers in .NET core. To quickly start using Redis with minimal changes to your existing code, see:
19+
- [AS.NET core Output Cache provider](/aspnet/core/performance/caching/output?view=aspnetcore-8.0#redis-cache)
20+
- [ASP.NET core Distributed Caching provider](/aspnet/core/performance/caching/distributed#distributed-redis-cache)
21+
- [ASP.NET core Redis session provider](/aspnet/core/fundamentals/app-state#configure-session-state)
22+
1823
## Skip to the code on GitHub
1924

2025
Clone the repo [https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet-core](https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet-core) on GitHub.
2126

27+
As next step, there is a real-world scenario eShop application demonstrating the ASP.NET core caching providers: [ASP.NET core eShop using Redis caching providers](https://github.com/Azure-Samples/azure-cache-redis-demos). Features included:
28+
- Redis Distributed Caching
29+
- Redis session state provider
30+
31+
Deployment instructions are in the README.md.
32+
2233
## Prerequisites
2334

2435
- Azure subscription - [create one for free](https://azure.microsoft.com/free/)

0 commit comments

Comments
 (0)