From 8deb2a9822985b0b48ae92244155332dbe4c63e2 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Mon, 2 Jun 2025 15:44:56 -0400 Subject: [PATCH 01/20] page structure/overview/create service text (no images) --- content/operate/rc/langcache/_index.md | 58 ++++++++ .../operate/rc/langcache/create-service.md | 130 ++++++++++++++++++ content/operate/rc/langcache/monitor-cache.md | 0 content/operate/rc/langcache/use-langcache.md | 13 ++ .../operate/rc/langcache/view-edit-cache.md | 12 ++ 5 files changed, 213 insertions(+) create mode 100644 content/operate/rc/langcache/_index.md create mode 100644 content/operate/rc/langcache/create-service.md create mode 100644 content/operate/rc/langcache/monitor-cache.md create mode 100644 content/operate/rc/langcache/use-langcache.md create mode 100644 content/operate/rc/langcache/view-edit-cache.md diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md new file mode 100644 index 0000000000..ec63131f07 --- /dev/null +++ b/content/operate/rc/langcache/_index.md @@ -0,0 +1,58 @@ +--- +alwaysopen: false +categories: +- docs +- operate +- rc +description: Store LLM responses for AI applications in Redis Cloud. +hideListLinks: true +linktitle: LangCache +title: Semantic caching with LangCache +weight: 36 +--- + +LangCache is a semantic caching service available as a REST API that stores LLM responses for fast and cheaper retrieval, built on the Redis vector database. By using semantic caching, customers can significantly reduce API costs and lower the average latency of their generative AI applications. + +## LangCache overview + +LangCache uses semantic caching to store and reuse previous LLM responses for repeated queries. Instead of calling the LLM for every request, LangCache checks if a similar response has already been generated and is stored in the cache. If a match is found, LangCache returns the cached response instantly, saving time and resources. + +Imagine you’re using an LLM to build an agent to answer questions about your company's products. Your users may ask questions like the following: + +- "What are the features of Product A?" +- "Can you list the main features of Product A?" +- "Tell me about Product A’s features." + +These prompts may have slight variations, but they essentially ask the same question. LangCache can help you avoid calling the LLM for each of these prompts by caching the response to the first prompt and returning it for any similar prompts. + +Using LangCache as a semantic caching service in Redis Cloud has the following benefits: + +- **Lower LLM costs**: Reduce costly LLM calls by easily storing the most frequently-requested responses. +- **Faster AI app responses**: Get faster AI responses by retrieving previously-stored requests from memory. +- **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls. +- **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. + +## LangCache architecture + +The following diagram displays how you can integrate LangCache into your GenAI app: + +{{< image filename="images/rc/langcache-process.png" >}} + +1. A user sends a prompt to your AI app. +1. Your app sends the prompt to LangCache through the `POST /v1/caches/{cacheId}/search` endpoint. +1. LangCache calls an embedding model service to generate an embedding for the prompt. +1. LangCache searches the cache to see if a similar response already exists by matching the embeddings of the new query with the stored embeddings. +1. If a semantically similar entry is found (also known as a cache hit), LangCache gets the cached response and returns it to your app. Your app can then send the cached response back to the user. +1. If no match is found (also known as a cache miss), your app receives an empty response from LangCache. Your app then queries your chosen LLM to generate a new response. +1. Your app sends the prompt and the new response to LangCache through the `POST /v1/caches/{cacheId}/entries` endpoint. +1. LangCache stores the embedding with the new response in the cache for future use. + +## Get started with LangCache on Redis Cloud + +To set up LangCache on Redis Cloud: + +1. [Create a database]({{< relref "/operate/rc/databases/create-database" >}}) on Redis Cloud. +2. [Create a LangCache service]({{< relref "/operate/rc/langcache/create-service" >}}) for your database. +3. [Use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) from your client app. + +After you set up LangCache, you can [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). \ No newline at end of file diff --git a/content/operate/rc/langcache/create-service.md b/content/operate/rc/langcache/create-service.md new file mode 100644 index 0000000000..4b959f5389 --- /dev/null +++ b/content/operate/rc/langcache/create-service.md @@ -0,0 +1,130 @@ +--- +alwaysopen: false +categories: +- docs +- operate +- rc +description: null +hideListLinks: true +linktitle: Create service +title: Create a LangCache service +weight: 5 +--- + +Redis LangCache provides vector search capabilities and efficient caching for AI-powered applications. This guide walks you through creating and configuring a LangCache service in Redis Cloud. + +## Prerequisites + +To create a LangCache service, you will need: + +- A Redis Cloud database. If you don't have one, see [Create a database]({{< relref "/operate/rc/databases/create-database" >}}). + {{< note >}} +LangCache does not support the following databases during public preview: +- Databases with a [CIDR allow list]({{< relref "/operate/rc/security/cidr-whitelist" >}}) +- [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) databases +- Databases with the [default user]({{< relref "/operate/rc/security/access-control/data-access-control/default-user" >}}) turned off + {{< /note >}} +- An [OpenAI API key](https://platform.openai.com/api-keys). LangCache uses OpenAI to generate embeddings for prompts and responses. + +## Create a LangCache service + +1. From the [Redis Cloud console](https://cloud.redis.io/), select **LangCache AI** from the left-hand menu. + +1. When you access the LangCache AI page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. + + {{The Let's create a service button.}} + + If you have already created a LangCache service, select **New service** to create another one. + + {{The New service button.}} + +This takes you to the **Create LangCache service** page. The page is divided into the following sections: + +1. The [General settings](#general-settings) section defines basic properties of your service. +1. The [Embedding settings](#embedding-settings) section defines the embedding model used by your service. +1. The [Attributes settings](#attributes-settings) section allows you to define attributes for your service. + +### General settings + +The **General settings** section defines basic properties of your service. + +{{The General settings section.}} + +| Setting name |Description| +|:----------------------|:----------| +| **Service name** | Enter a name for your LangCache service. We recommend you use a name that describes your service's purpose. | +| **Select database** | Select the Redis Cloud database to use for this service from the list. | +| **TTL** | The number of seconds to cache entries before they expire. Default: `No expiration` - items in the cache will remain until manually removed. | +| **User** | The [database access user]({{< relref "/operate/rc/security/access-control/data-access-control/role-based-access-control" >}}) to use for this service. LangCache only supports the [`default` user]({{< relref "/operate/rc/security/access-control/data-access-control/default-user" >}}) during public preview. | + +### Embedding settings + +The **Embedding settings** section defines the embedding model used by your service. + +{{The Embedding settings section.}} + +| Setting name |Description| +|:----------------------|:----------| +| **Supported Embedding Provider** | The embedding provider to use for your service. LangCache only supports OpenAI during public preview. | +| **Embedding provider API key** | Enter your embedding provider's API key. | +| **Model** | Select the embedding model to use for your service. | +| **Similarity threshold** | Set the minimum similarity score required to consider a cached response a match. Range: `0.0` to `1.0`. Default: `0.9`
A higher value means more precise matches, but if it's too high, you will compromise on the number of matches and may lose relevant matches. A lower value means more matches, but may include less relevant matches. We recommend starting between `0.8` and `0.9` and then fine-tuning based on your results. | + +### Attributes settings + +Attributes provide powerful scoping capabilities for your LangCache operations. Think of them as tags or labels that help you organize and manage your cached data with precision. + +The **Attributes settings** section allows you to define attributes for your service. It is collapsed by default. + +{{The Attributes settings section, expanded.}} + +By default, LangCache includes three fixed attributes: +- User ID: Scope operations to a specific user +- Application ID: Manage cache entries related to a particular application +- Session ID: Control cache for a specific user session + +These fixed attributes enable targeted cache operations. For example, you'll be able to: +- Delete all cached entries for a specific user who updated their preferences +- Scope search results to only return entries relevant to the current user +- Clear all cached data related to a particular application version + +Beyond these fixed attributes, LangCache allows you to define up to 5 custom attributes that align with your specific use case. To add a new attribute: + +1. Select **Add attribute**. + + {{The Add attribute button.}} + +1. Give your custom attribute a descriptive name and select the check mark button to save it. + + {{The custom attributes section. Select the Confirm add attribute button to save your attribute.}} + +After you save your custom attribute, it will appear in the list of custom attributes. Use the **Delete** button to remove it. + +{{Select the Delete button to delete the selected attribute.}} + +You can also select **Add attribute** again to add an additional attribute. + +{{The Add attribute button.}} + +### Create service + +When you are done setting the details of your LangCache service, select **Create** to create it. + +{{Use the Create button to create a LangCache service.}} + +You'll be taken to your LangCache service's **Configuration** page. You'll also be able to see your LangCache service in the LangCache service list. + +{{The LangCache service in the LangCache service list.}} + +If an error occurs, verify that: +- Your database is active. +- You have provided a valid OpenAI API key. +- You have provided valid values for all the required fields. + +For help, [contact support](https://redis.io/support/). + +## Next steps + +After your cache is created, you can [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) from your client app. + +You can also [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). \ No newline at end of file diff --git a/content/operate/rc/langcache/monitor-cache.md b/content/operate/rc/langcache/monitor-cache.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md new file mode 100644 index 0000000000..4b13785381 --- /dev/null +++ b/content/operate/rc/langcache/use-langcache.md @@ -0,0 +1,13 @@ +--- +alwaysopen: false +categories: +- docs +- operate +- rc +description: null +hideListLinks: true +linktitle: Use LangCache +title: Use the LangCache API with your GenAI app +weight: 10 +--- + diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md new file mode 100644 index 0000000000..30815ffecc --- /dev/null +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -0,0 +1,12 @@ +--- +alwaysopen: false +categories: +- docs +- operate +- rc +description: null +hideListLinks: true +linktitle: View and edit cache +title: View and edit LangCache service +weight: 15 +--- \ No newline at end of file From 03d8a95162b603d4111784870ed1b5566cc2ada5 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Wed, 11 Jun 2025 16:32:30 -0400 Subject: [PATCH 02/20] checkpoint --- content/operate/rc/langcache/use-langcache.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index 4b13785381..0674a84ba9 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -11,3 +11,73 @@ title: Use the LangCache API with your GenAI app weight: 10 --- +You can use the LangCache API from your client app to store and retrieve LLM responses. + +## Call the REST API + +To access the LangCache API, you need: + +- LangCache API base URL +- LangCache API token +- Cache ID + +All of these values are available in the LangCache service's **Configuration** page. + +When you call the API, you need to pass the LangCache API token in the `Authorization` header as a Bearer token and the Cache ID as the `cacheId` path parameter. + +For example, to check the health of the cache using `cURL`: + +```bash +curl -s -X GET "https://$HOST/v1/caches/$CACHE_ID/health" \ + -H "accept: application/json" \ + -H "Authorization: Bearer $API_KEY" +``` + +- The example expects several variables to be set in the shell: + + - **$HOST** - the LangCache API base URL + - **$CACHE_ID** - the Cache ID of your cache + - **$API_KEY** - The LangCache API token + +{{% info %}} +This example uses `cURL` and Linux shell scripts to demonstrate the API; you can use any standard REST client or library. +{{% /info %}} + +## Check cache health + +Use `GET /v1/caches/{cacheId}/health` to check the health of the cache. + +```sh +GET https://[host]/v1/caches/{cacheId}/health +``` + +## Search LangCache for similar responses + +Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses. + +```sh +POST https://[host]/v1/caches/{cacheId}/search +{ + "prompt": "User prompt text" +} +``` + +Place this call in your client app right before you call your LLM's REST API. If LangCache returns a response, you can send that response back to the user instead of calling the LLM. + +If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. + +## Store a new response in LangCache + +Use `POST /v1/caches/{cacheId}/entries` to store a new response in the cache. + +```sh +POST https://[host]/v1/caches/{cacheId}/entries +{ + "prompt": "User prompt text", + "response": "LLM response text" +} +``` + +Place this call in your client app after you get a response from the LLM. This will store the response in the cache for future use. + +## Delete cached responses \ No newline at end of file From 453c24941574d8722b1e9c85dd368df36cf39fce Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 13 Jun 2025 17:22:24 -0400 Subject: [PATCH 03/20] Monitor cache --- content/operate/rc/langcache/monitor-cache.md | 55 +++++++++++++++++ content/operate/rc/langcache/use-langcache.md | 59 +++++++++++++++++-- .../operate/rc/langcache/view-edit-cache.md | 4 +- 3 files changed, 113 insertions(+), 5 deletions(-) diff --git a/content/operate/rc/langcache/monitor-cache.md b/content/operate/rc/langcache/monitor-cache.md index e69de29bb2..5e0bc4b2d4 100644 --- a/content/operate/rc/langcache/monitor-cache.md +++ b/content/operate/rc/langcache/monitor-cache.md @@ -0,0 +1,55 @@ +--- +alwaysopen: false +categories: +- docs +- operate +- rc +description: null +hideListLinks: true +linktitle: Monitor cache +title: Monitor a LangCache service +weight: 20 +--- + +You can monitor a LangCache service's performance from the **Metrics** tab of the service's page. + +{{The metrics tab of the LangCache service's page.}} + +The **Metrics** tab provides a series of graphs showing performance data for your LangCache service. + +You can switch between daily and weekly stats using the **Day** and **Week** buttons at the top of the page. Each graph also includes minimum, average, maximum, and latest values. + +## LangCache metrics reference + +### Cache hit ratio + +The percentage of requests that were successfully served from the cache without needing to call the LLM API. A healthy cache will generally show an increasing hit ratio over time as it becomes more populated by cached responses. + +Here are some tips to optimize your cache hit ratio: + +- Tune similarity thresholds to capture more semantically related queries. +- Analyze recurring query patterns to fine-tune your embedding strategies. +- Test different embedding models to understand their impact on cache hit rates. + +A higher cache hit ratio does not always mean better performance. If the cache is too lenient in its similarity matching, it may return irrelevant responses, leading to a higher cache hit rate but poorer overall performance. + +### Cache search requests + +The number of read attempts against the cache at the specified time. This metric can help you understand the load on your cache and identify periods of high or low activity. + +### Cache latency + +The average time to process a cache lookup request. This metric can help you identify performance bottlenecks and optimize your cache configuration. + +Cache latency is highly dependent on embedding model performance, since the cache must generate embeddings for each request in order to compare them to the cached responses. + +High cache latency may indicate one of the following: + +- Inefficient embedding generation from the embedding provider +- Large cache requiring longer comparison times +- Network latency between the cache and embedding provider +- Resource constraints + +### Cache items + +The total number of entries stores in your cache. Each item includes the query string, embedding, response, and other metadata. \ No newline at end of file diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index 0674a84ba9..e531da3fa7 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -13,8 +13,6 @@ weight: 10 You can use the LangCache API from your client app to store and retrieve LLM responses. -## Call the REST API - To access the LangCache API, you need: - LangCache API base URL @@ -53,7 +51,7 @@ GET https://[host]/v1/caches/{cacheId}/health ## Search LangCache for similar responses -Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses. +Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses to a user prompt. ```sh POST https://[host]/v1/caches/{cacheId}/search @@ -66,6 +64,23 @@ Place this call in your client app right before you call your LLM's REST API. If If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. +You can also limit the responses returned from LangCache by adding an `attributes` object or `scope` object to the request. LangCache will only return responses that match the attributes you specify. + +```sh +POST https://[host]/v1/caches/{cacheId}/search +{ + "prompt": "User prompt text", + "attributes": { + "customAttributeName": "customAttributeValue" + }, + "scope": { + "applicationId": "applicationId", + "userId": "userId", + "sessionId": "sessionId" + } +} +``` + ## Store a new response in LangCache Use `POST /v1/caches/{cacheId}/entries` to store a new response in the cache. @@ -80,4 +95,40 @@ POST https://[host]/v1/caches/{cacheId}/entries Place this call in your client app after you get a response from the LLM. This will store the response in the cache for future use. -## Delete cached responses \ No newline at end of file +You can also store the responses with custom attributes by adding an `attributes` object to the request. To store a response with one or more of the default attributes, use the `scope` object instead. + +```sh +POST https://[host]/v1/caches/{cacheId}/entries +{ + "prompt": "User prompt text", + "response": "LLM response text", + "attributes": { + "customAttributeName": "customAttributeValue" + }, + "scope": { + "applicationId": "applicationId", + "userId": "userId", + "sessionId": "sessionId" + } +} +``` + +## Delete cached responses + +Use `DELETE /v1/caches/{cacheId}/entries/{entryId}` to delete a cached response from the cache. + +You can also use `DELETE /v1/caches/{cacheId}/entries` to delete multiple cached responses at once. If you provide an `attributes` object or `scope` object, LangCache will delete all responses that match the attributes you specify. + +```sh +DELETE https://[host]/v1/caches/{cacheId}/entries +{ + "attributes": { + "customAttributeName": "customAttributeValue" + }, + "scope": { + "applicationId": "applicationId", + "userId": "userId", + "sessionId": "sessionId" + } +} +``` diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md index 30815ffecc..16087d1b07 100644 --- a/content/operate/rc/langcache/view-edit-cache.md +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -9,4 +9,6 @@ hideListLinks: true linktitle: View and edit cache title: View and edit LangCache service weight: 15 ---- \ No newline at end of file +--- + +Still in progress. \ No newline at end of file From 697a6939b97cb474f506dbcf06071342231e1b3d Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 13 Jun 2025 17:57:14 -0400 Subject: [PATCH 04/20] View/Edit --- .../operate/rc/langcache/view-edit-cache.md | 83 ++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md index 16087d1b07..a069750f56 100644 --- a/content/operate/rc/langcache/view-edit-cache.md +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -11,4 +11,85 @@ title: View and edit LangCache service weight: 15 --- -Still in progress. \ No newline at end of file +After you have [created your first LangCache service]({{< relref "/operate/rc/langcache/create-service" >}}), selecting **LangCache AI** from the Redis Cloud Console menu will take you to the **LangCache Services** page. + +This page displays a list of all LangCache services associated with your account. + +{{The LangCache service in the LangCache service list.}} + +Select your LangCache service from the list to view the service's details. + +## Configuration tab + +The **Configuration** tab lets you view the details of your LangCache service. It contains the following sections: + +- The **Connectivity** section provides the connection details for your LangCache service. +- The **Configuration** section provides the cache settings for your LangCache service. +- The **Actions** section lets you flush or delete your LangCache service. + +### Connectivity + +The **Connectivity** section provides the connection details for your LangCache service. + +{{The connectivity settings for the LangCache service.}} + +| Setting name |Description| +|:----------------------|:----------| +| **API Key** | The Bearer token for your LangCache API requests. | +| **Cache ID** | The unique ID of your LangCache service. | +| **API Base URL** | The base URL for LangCache API requests. | + +Select the **Copy** button next to each value to copy them to the clipboard. See [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) for more information on how to use these values. + +### Configuration + +The **Configuration** section provides configuration details for your LangCache service. + +| Setting name |Description| +|:----------------------|:----------| +| **Service name** | The name of the LangCache service. _(Editable)_ | +| **Database** | The database that stores your cache data. | +| **Distance threshold** | The minimum similarity score required to consider a cached response a match. _(Editable)_ | +| **Embedding Provider** | The embedding provider to use for your service. | + +Some of the configuration settings can be changed after cache creation. To do so, select the **Edit** button. + +### Attributes + +The **Attributes** section provides the custom attributes defined for your LangCache service. + +{{The custom attributes for the LangCache service.}} + +You can not edit custom attributes after cache creation. + +### Actions + +The **Actions** section lets you flush or delete your LangCache service. + +{{The actions for the LangCache service.}} + +#### Flush cache + +Flushing the cache completely erases all cached data while preserving the service configuration and the search index used by the cache. + +To flush the cache: + +1. Select **Flush**. + +1. A confirmation dialog will appear. Select **Flush** again to confirm. + +Flushing the cache is permanent and cannot be undone, and will result in cache misses until the cache is repopulated. + +### Delete service + +Deleting your LangCache service permanently deletes all associated cached data, the service configuration, and the LangCache search index. It also immediately terminates all API keys associated with the service. However, your database and other database data will not be deleted. + +To delete your LangCache service: + +1. Select **Delete**. + +1. A confirmation dialog will appear. Select the checkbox to confirm that you want to delete the service. + +1. Select **Delete** again to confirm. + +Deleting the LangCache service is permanent and cannot be undone. \ No newline at end of file From 5d86971fc14d7fc8bcf8b4830817067e7948cf17 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 13 Jun 2025 18:05:55 -0400 Subject: [PATCH 05/20] Images --- content/operate/rc/langcache/create-service.md | 12 ++++++------ content/operate/rc/langcache/monitor-cache.md | 4 ++-- static/images/rc/langcache-add-attribute.png | Bin 0 -> 4357 bytes .../images/rc/langcache-attribute-settings.png | Bin 0 -> 27589 bytes .../rc/langcache-create-first-service.png | Bin 0 -> 4968 bytes .../images/rc/langcache-custom-attributes.png | Bin 0 -> 8328 bytes .../images/rc/langcache-embedding-settings.png | Bin 0 -> 21083 bytes static/images/rc/langcache-general-settings.png | Bin 0 -> 29470 bytes static/images/rc/langcache-metrics.png | Bin 0 -> 51631 bytes static/images/rc/langcache-new-service.png | Bin 0 -> 4480 bytes static/images/rc/langcache-process.png | Bin 0 -> 54491 bytes static/images/rc/langcache-service-list.png | Bin 0 -> 19629 bytes static/images/rc/langcache-view-actions.png | Bin 0 -> 33947 bytes static/images/rc/langcache-view-attribtes.png | Bin 0 -> 10297 bytes .../images/rc/langcache-view-connectivity.png | Bin 0 -> 22707 bytes 15 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 static/images/rc/langcache-add-attribute.png create mode 100644 static/images/rc/langcache-attribute-settings.png create mode 100644 static/images/rc/langcache-create-first-service.png create mode 100644 static/images/rc/langcache-custom-attributes.png create mode 100644 static/images/rc/langcache-embedding-settings.png create mode 100644 static/images/rc/langcache-general-settings.png create mode 100644 static/images/rc/langcache-metrics.png create mode 100644 static/images/rc/langcache-new-service.png create mode 100644 static/images/rc/langcache-process.png create mode 100644 static/images/rc/langcache-service-list.png create mode 100644 static/images/rc/langcache-view-actions.png create mode 100644 static/images/rc/langcache-view-attribtes.png create mode 100644 static/images/rc/langcache-view-connectivity.png diff --git a/content/operate/rc/langcache/create-service.md b/content/operate/rc/langcache/create-service.md index 4b959f5389..e083c1a04b 100644 --- a/content/operate/rc/langcache/create-service.md +++ b/content/operate/rc/langcache/create-service.md @@ -32,11 +32,11 @@ LangCache does not support the following databases during public preview: 1. When you access the LangCache AI page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. - {{The Let's create a service button.}} + {{The Let's create a service button.}} If you have already created a LangCache service, select **New service** to create another one. - {{The New service button.}} + {{The New service button.}} This takes you to the **Create LangCache service** page. The page is divided into the following sections: @@ -76,9 +76,9 @@ Attributes provide powerful scoping capabilities for your LangCache operations. The **Attributes settings** section allows you to define attributes for your service. It is collapsed by default. -{{The Attributes settings section, expanded.}} +{{The Attributes settings section, expanded.}} -By default, LangCache includes three fixed attributes: +By default, LangCache includes three fixed attributes, which are called the "scope" in the API: - User ID: Scope operations to a specific user - Application ID: Manage cache entries related to a particular application - Session ID: Control cache for a specific user session @@ -92,7 +92,7 @@ Beyond these fixed attributes, LangCache allows you to define up to 5 custom att 1. Select **Add attribute**. - {{The Add attribute button.}} + {{The Add attribute button.}} 1. Give your custom attribute a descriptive name and select the check mark button to save it. @@ -104,7 +104,7 @@ After you save your custom attribute, it will appear in the list of custom attri You can also select **Add attribute** again to add an additional attribute. -{{The Add attribute button.}} +{{The Add attribute button.}} ### Create service diff --git a/content/operate/rc/langcache/monitor-cache.md b/content/operate/rc/langcache/monitor-cache.md index 5e0bc4b2d4..a250230751 100644 --- a/content/operate/rc/langcache/monitor-cache.md +++ b/content/operate/rc/langcache/monitor-cache.md @@ -13,7 +13,7 @@ weight: 20 You can monitor a LangCache service's performance from the **Metrics** tab of the service's page. -{{The metrics tab of the LangCache service's page.}} +{{The metrics tab of the LangCache service's page.}} The **Metrics** tab provides a series of graphs showing performance data for your LangCache service. @@ -25,7 +25,7 @@ You can switch between daily and weekly stats using the **Day** and **Week** but The percentage of requests that were successfully served from the cache without needing to call the LLM API. A healthy cache will generally show an increasing hit ratio over time as it becomes more populated by cached responses. -Here are some tips to optimize your cache hit ratio: +To optimize your cache hit ratio: - Tune similarity thresholds to capture more semantically related queries. - Analyze recurring query patterns to fine-tune your embedding strategies. diff --git a/static/images/rc/langcache-add-attribute.png b/static/images/rc/langcache-add-attribute.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8b2fd0606124dff3e1320500e36ecc181556f9 GIT binary patch literal 4357 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 literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-custom-attributes.png b/static/images/rc/langcache-custom-attributes.png new file mode 100644 index 0000000000000000000000000000000000000000..e11dee8542201d9ee402242fd57a3b9a04dbb089 GIT binary patch literal 8328 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 GAO0U#(yR9X literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-embedding-settings.png b/static/images/rc/langcache-embedding-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..16e3e6ca2f29196ecc31b4571cd5c5ff774e65f7 GIT binary patch literal 21083 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 literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-general-settings.png b/static/images/rc/langcache-general-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..45ede217a15ef57e5a8acdb6af83b7e33f51d52a GIT binary patch literal 29470 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

%tu(c#PrHoyb$qS( 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 Z+k#FRYZu6!#T$Rb*5){~ho;_F{{`+In2i7c literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-view-actions.png b/static/images/rc/langcache-view-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..f9927b89050ff1e125d97ba9104573c7a2e5eb61 GIT binary patch literal 33947 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 literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-view-connectivity.png b/static/images/rc/langcache-view-connectivity.png new file mode 100644 index 0000000000000000000000000000000000000000..395badcac84352e90336f5aa9a2744d81fd04517 GIT binary patch literal 22707 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 Date: Mon, 16 Jun 2025 12:37:15 -0400 Subject: [PATCH 06/20] Update create-service.md We changed the scope attributes so I am removing that from this --- content/operate/rc/langcache/create-service.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/content/operate/rc/langcache/create-service.md b/content/operate/rc/langcache/create-service.md index e083c1a04b..ba571b23a0 100644 --- a/content/operate/rc/langcache/create-service.md +++ b/content/operate/rc/langcache/create-service.md @@ -28,9 +28,9 @@ LangCache does not support the following databases during public preview: ## Create a LangCache service -1. From the [Redis Cloud console](https://cloud.redis.io/), select **LangCache AI** from the left-hand menu. +1. From the [Redis Cloud console](https://cloud.redis.io/), select **LangCache** from the left-hand menu. -1. When you access the LangCache AI page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. +1. When you access the LangCache page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. {{The Let's create a service button.}} @@ -78,17 +78,7 @@ The **Attributes settings** section allows you to define attributes for your ser {{The Attributes settings section, expanded.}} -By default, LangCache includes three fixed attributes, which are called the "scope" in the API: -- User ID: Scope operations to a specific user -- Application ID: Manage cache entries related to a particular application -- Session ID: Control cache for a specific user session - -These fixed attributes enable targeted cache operations. For example, you'll be able to: -- Delete all cached entries for a specific user who updated their preferences -- Scope search results to only return entries relevant to the current user -- Clear all cached data related to a particular application version - -Beyond these fixed attributes, LangCache allows you to define up to 5 custom attributes that align with your specific use case. To add a new attribute: +LangCache allows you to define up to 5 custom attributes that align with your specific use case. To add a new attribute: 1. Select **Add attribute**. @@ -127,4 +117,4 @@ For help, [contact support](https://redis.io/support/). After your cache is created, you can [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) from your client app. -You can also [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). \ No newline at end of file +You can also [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). From 94f6ac99959ddabfd37125994cd12af7cda94cc3 Mon Sep 17 00:00:00 2001 From: Jen Agarwal <109815410+Jenverse@users.noreply.github.com> Date: Mon, 16 Jun 2025 12:43:32 -0400 Subject: [PATCH 07/20] Update use-langcache.md - Removed Scope from the request as we have made that update - Made some other minor changes to the language --- content/operate/rc/langcache/use-langcache.md | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index e531da3fa7..1c156fcc14 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -11,7 +11,7 @@ title: Use the LangCache API with your GenAI app weight: 10 --- -You can use the LangCache API from your client app to store and retrieve LLM responses. +You can use the LangCache API from your client app to store and retrieve LLM, RAG or agent responses. To access the LangCache API, you need: @@ -64,7 +64,7 @@ Place this call in your client app right before you call your LLM's REST API. If If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. -You can also limit the responses returned from LangCache by adding an `attributes` object or `scope` object to the request. LangCache will only return responses that match the attributes you specify. +You can also scope the responses returned from LangCache by adding an `attributes` object or `scope` object to the request. LangCache will only return responses that match the attributes you specify. ```sh POST https://[host]/v1/caches/{cacheId}/search @@ -72,11 +72,6 @@ POST https://[host]/v1/caches/{cacheId}/search "prompt": "User prompt text", "attributes": { "customAttributeName": "customAttributeValue" - }, - "scope": { - "applicationId": "applicationId", - "userId": "userId", - "sessionId": "sessionId" } } ``` @@ -104,11 +99,6 @@ POST https://[host]/v1/caches/{cacheId}/entries "response": "LLM response text", "attributes": { "customAttributeName": "customAttributeValue" - }, - "scope": { - "applicationId": "applicationId", - "userId": "userId", - "sessionId": "sessionId" } } ``` @@ -124,11 +114,6 @@ DELETE https://[host]/v1/caches/{cacheId}/entries { "attributes": { "customAttributeName": "customAttributeValue" - }, - "scope": { - "applicationId": "applicationId", - "userId": "userId", - "sessionId": "sessionId" } } ``` From 639ce6425cf5d0e30639bbb03ad19dafbe3efd31 Mon Sep 17 00:00:00 2001 From: Jen Agarwal <109815410+Jenverse@users.noreply.github.com> Date: Mon, 16 Jun 2025 12:50:20 -0400 Subject: [PATCH 08/20] Update view-edit-cache.md updated the delete functionality a little bit and also changed the name of "configuration" underser configuration page to match what we have now i.e. general --- content/operate/rc/langcache/view-edit-cache.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md index a069750f56..04c49aedd7 100644 --- a/content/operate/rc/langcache/view-edit-cache.md +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -24,7 +24,7 @@ Select your LangCache service from the list to view the service's details. The **Configuration** tab lets you view the details of your LangCache service. It contains the following sections: - The **Connectivity** section provides the connection details for your LangCache service. -- The **Configuration** section provides the cache settings for your LangCache service. +- The **General** section provides the cache settings for your LangCache service. - The **Actions** section lets you flush or delete your LangCache service. ### Connectivity @@ -41,9 +41,9 @@ The **Connectivity** section provides the connection details for your LangCache Select the **Copy** button next to each value to copy them to the clipboard. See [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) for more information on how to use these values. -### Configuration +### General -The **Configuration** section provides configuration details for your LangCache service. +The **General** section provides configuration details for your LangCache service. | Setting name |Description| |:----------------------|:----------| @@ -82,7 +82,7 @@ Flushing the cache is permanent and cannot be undone, and will result in cache m ### Delete service -Deleting your LangCache service permanently deletes all associated cached data, the service configuration, and the LangCache search index. It also immediately terminates all API keys associated with the service. However, your database and other database data will not be deleted. +Deleting your LangCache service permanently deletes all associated cached data, the service configuration, and the LangCache search index. It also immediately terminates all API keys associated with the service. Data stored in other indexes within the same database will remain unaffected. To delete your LangCache service: @@ -92,4 +92,4 @@ To delete your LangCache service: 1. Select **Delete** again to confirm. -Deleting the LangCache service is permanent and cannot be undone. \ No newline at end of file +Deleting the LangCache service is permanent and cannot be undone. From eef63da7f996b26f0ea06375e70c7295662d1fd6 Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Mon, 16 Jun 2025 13:10:58 -0400 Subject: [PATCH 09/20] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- content/operate/rc/langcache/use-langcache.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index 1c156fcc14..54c2260596 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -11,7 +11,7 @@ title: Use the LangCache API with your GenAI app weight: 10 --- -You can use the LangCache API from your client app to store and retrieve LLM, RAG or agent responses. +You can use the LangCache API from your client app to store and retrieve LLM, RAG, or agent responses. To access the LangCache API, you need: @@ -64,7 +64,7 @@ Place this call in your client app right before you call your LLM's REST API. If If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. -You can also scope the responses returned from LangCache by adding an `attributes` object or `scope` object to the request. LangCache will only return responses that match the attributes you specify. +You can also scope the responses returned from LangCache by adding an `attributes` object to the request. LangCache will only return responses that match the attributes you specify. ```sh POST https://[host]/v1/caches/{cacheId}/search From 54b055b38c0651ffd50eca7f0c89855b501c2011 Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Mon, 16 Jun 2025 13:14:43 -0400 Subject: [PATCH 10/20] Apply suggestions from code review --- content/operate/rc/langcache/use-langcache.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index 54c2260596..37719aa73e 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -90,7 +90,7 @@ POST https://[host]/v1/caches/{cacheId}/entries Place this call in your client app after you get a response from the LLM. This will store the response in the cache for future use. -You can also store the responses with custom attributes by adding an `attributes` object to the request. To store a response with one or more of the default attributes, use the `scope` object instead. +You can also store the responses with custom attributes by adding an `attributes` object to the request. ```sh POST https://[host]/v1/caches/{cacheId}/entries @@ -107,7 +107,7 @@ POST https://[host]/v1/caches/{cacheId}/entries Use `DELETE /v1/caches/{cacheId}/entries/{entryId}` to delete a cached response from the cache. -You can also use `DELETE /v1/caches/{cacheId}/entries` to delete multiple cached responses at once. If you provide an `attributes` object or `scope` object, LangCache will delete all responses that match the attributes you specify. +You can also use `DELETE /v1/caches/{cacheId}/entries` to delete multiple cached responses at once. If you provide an `attributes` object, LangCache will delete all responses that match the attributes you specify. ```sh DELETE https://[host]/v1/caches/{cacheId}/entries From ce25f26398afa330befaeddf76d570e40186976d Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Fri, 20 Jun 2025 15:04:21 -0400 Subject: [PATCH 11/20] Update content/operate/rc/langcache/view-edit-cache.md --- content/operate/rc/langcache/view-edit-cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md index 04c49aedd7..dc0c0b3984 100644 --- a/content/operate/rc/langcache/view-edit-cache.md +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -80,7 +80,7 @@ To flush the cache: Flushing the cache is permanent and cannot be undone, and will result in cache misses until the cache is repopulated. -### Delete service +#### Delete service Deleting your LangCache service permanently deletes all associated cached data, the service configuration, and the LangCache search index. It also immediately terminates all API keys associated with the service. Data stored in other indexes within the same database will remain unaffected. From 718eba2035a9aaa943317c88c471b18c19fb7dd3 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 20 Jun 2025 15:05:58 -0400 Subject: [PATCH 12/20] Fix name on an image --- ...-attribtes.png => langcache-view-attributes.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename static/images/rc/{langcache-view-attribtes.png => langcache-view-attributes.png} (100%) diff --git a/static/images/rc/langcache-view-attribtes.png b/static/images/rc/langcache-view-attributes.png similarity index 100% rename from static/images/rc/langcache-view-attribtes.png rename to static/images/rc/langcache-view-attributes.png From 0000190c0eb05d9efa0f00a9f682fb3f481275cb Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Wed, 25 Jun 2025 14:20:41 -0400 Subject: [PATCH 13/20] Get up-to-date --- .../operate/rc/langcache/create-service.md | 24 ++++++++--- content/operate/rc/langcache/use-langcache.md | 8 ++-- .../operate/rc/langcache/view-edit-cache.md | 39 ++++++++++++++++-- static/images/rc/langcache-replace-key.png | Bin 0 -> 4508 bytes static/images/rc/langcache-service-key.png | Bin 0 -> 23523 bytes .../images/rc/langcache-view-connectivity.png | Bin 22707 -> 23912 bytes static/images/rc/langcache-view-general.png | Bin 0 -> 17753 bytes 7 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 static/images/rc/langcache-replace-key.png create mode 100644 static/images/rc/langcache-service-key.png create mode 100644 static/images/rc/langcache-view-general.png diff --git a/content/operate/rc/langcache/create-service.md b/content/operate/rc/langcache/create-service.md index ba571b23a0..f1b1710c8f 100644 --- a/content/operate/rc/langcache/create-service.md +++ b/content/operate/rc/langcache/create-service.md @@ -18,25 +18,27 @@ Redis LangCache provides vector search capabilities and efficient caching for AI To create a LangCache service, you will need: - A Redis Cloud database. If you don't have one, see [Create a database]({{< relref "/operate/rc/databases/create-database" >}}). + {{< note >}} LangCache does not support the following databases during public preview: - Databases with a [CIDR allow list]({{< relref "/operate/rc/security/cidr-whitelist" >}}) - [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) databases - Databases with the [default user]({{< relref "/operate/rc/security/access-control/data-access-control/default-user" >}}) turned off {{< /note >}} + - An [OpenAI API key](https://platform.openai.com/api-keys). LangCache uses OpenAI to generate embeddings for prompts and responses. ## Create a LangCache service -1. From the [Redis Cloud console](https://cloud.redis.io/), select **LangCache** from the left-hand menu. +From the [Redis Cloud console](https://cloud.redis.io/), select **LangCache** from the left-hand menu. -1. When you access the LangCache page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. +When you access the LangCache page for the first time, you will see a page with an introduction to LangCache. Select **Let's create a service** to create your first service. - {{The Let's create a service button.}} +{{The Let's create a service button.}} - If you have already created a LangCache service, select **New service** to create another one. +If you have already created a LangCache service, select **New service** to create another one. - {{The New service button.}} +{{The New service button.}} This takes you to the **Create LangCache service** page. The page is divided into the following sections: @@ -68,7 +70,7 @@ The **Embedding settings** section defines the embedding model used by your serv | **Supported Embedding Provider** | The embedding provider to use for your service. LangCache only supports OpenAI during public preview. | | **Embedding provider API key** | Enter your embedding provider's API key. | | **Model** | Select the embedding model to use for your service. | -| **Similarity threshold** | Set the minimum similarity score required to consider a cached response a match. Range: `0.0` to `1.0`. Default: `0.9`
A higher value means more precise matches, but if it's too high, you will compromise on the number of matches and may lose relevant matches. A lower value means more matches, but may include less relevant matches. We recommend starting between `0.8` and `0.9` and then fine-tuning based on your results. | +| **Similarity threshold** | Set the minimum similarity score required to consider a cached response a match. Range: `0.0` to `1.0`. Default: `0.9`

A higher value means more precise matches, but if it's too high, you will compromise on the number of matches and may lose relevant matches. A lower value means more matches, but may include less relevant matches. We recommend starting between `0.8` and `0.9` and then fine-tuning based on your results. | ### Attributes settings @@ -102,6 +104,16 @@ When you are done setting the details of your LangCache service, select **Create {{Use the Create button to create a LangCache service.}} +A window containing your LangCache service key will appear. Select **Copy** to copy the key to your clipboard. + +{{The LangCache service key window. Use the Copy button to save the service key to the clipboard.}} + +{{}} +This is the only time the value of the user key is available. Save it to a secure location before closing the dialog box.

+ +If you lose the service key value, you will need to [replace the service key]({{< relref "/operate/rc/langcache/view-edit-cache#replace-service-api-key" >}}) to be able to use the LangCache API. +{{
}} + You'll be taken to your LangCache service's **Configuration** page. You'll also be able to see your LangCache service in the LangCache service list. {{The LangCache service in the LangCache service list.}} diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index 37719aa73e..f344b685ef 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -16,12 +16,14 @@ You can use the LangCache API from your client app to store and retrieve LLM, RA To access the LangCache API, you need: - LangCache API base URL -- LangCache API token +- LangCache service API key - Cache ID -All of these values are available in the LangCache service's **Configuration** page. +The base URL and cache ID are available in the LangCache service's **Configuration** page in the [**Connectivity** section]({{< relref "/operate/rc/langcache/view-edit-cache#connectivity" >}}). -When you call the API, you need to pass the LangCache API token in the `Authorization` header as a Bearer token and the Cache ID as the `cacheId` path parameter. +The LangCache API key is only available immediately after you create the LangCache service. If you lost this value, you will need to [replace the service API key]({{< relref "/operate/rc/langcache/view-edit-cache#replace-service-api-key" >}}) to be able to use the LangCache API. + +When you call the API, you need to pass the LangCache API key in the `Authorization` header as a Bearer token and the Cache ID as the `cacheId` path parameter. For example, to check the health of the cache using `cURL`: diff --git a/content/operate/rc/langcache/view-edit-cache.md b/content/operate/rc/langcache/view-edit-cache.md index dc0c0b3984..87250105d5 100644 --- a/content/operate/rc/langcache/view-edit-cache.md +++ b/content/operate/rc/langcache/view-edit-cache.md @@ -39,20 +39,47 @@ The **Connectivity** section provides the connection details for your LangCache | **Cache ID** | The unique ID of your LangCache service. | | **API Base URL** | The base URL for LangCache API requests. | -Select the **Copy** button next to each value to copy them to the clipboard. See [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) for more information on how to use these values. +Select the **Copy** button next to the Cache ID and API Base URL to copy them to the clipboard. If you lost the API key value or need to rotate the key, you can [replace the service API key](#replace-service-api-key) at any time. + +See [use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) for more information on how to use these values. + +#### Replace service API key + +The API key is only available immediately after you create the LangCache service. If you lost this value, or need to rotate the key, you can replace the service key at any time. + +To replace the service key: + +1. Select **Replace key**. + + {{The Replace Key button.}} + +1. A confirmation dialog will appear. Select **Confirm** to confirm. + +1. The new key will appear in a dialog box. Select **Copy** to copy the key to the clipboard. + + {{The LangCache service key window. Use the Copy button to save the service key to the clipboard.}} + + {{}} +This is the only time the value of the user key is available. Save it to a secure location before closing the dialog box.

+ +If you lose the service key value, you will need to replace the key again. + {{
}} ### General The **General** section provides configuration details for your LangCache service. +{{The general settings for the LangCache service.}} + | Setting name |Description| |:----------------------|:----------| -| **Service name** | The name of the LangCache service. _(Editable)_ | +| **Service name** | The name of the LangCache service. | | **Database** | The database that stores your cache data. | -| **Distance threshold** | The minimum similarity score required to consider a cached response a match. _(Editable)_ | +| **Similarity threshold** | The minimum similarity score required to consider a cached response a match. _(Editable)_ | +| **TTL** | The number of seconds to cache entries before they expire. _(Editable)_ | | **Embedding Provider** | The embedding provider to use for your service. | -Some of the configuration settings can be changed after cache creation. To do so, select the **Edit** button. +Some of these settings can be changed after cache creation. To do so, select the **Edit** button. ### Attributes @@ -93,3 +120,7 @@ To delete your LangCache service: 1. Select **Delete** again to confirm. Deleting the LangCache service is permanent and cannot be undone. + +## Metrics tab + +The **Metrics** tab provides a series of graphs showing performance data for your LangCache service. See [Monitor a LangCache service]({{< relref "/operate/rc/langcache/monitor-cache" >}}) for more information. \ No newline at end of file diff --git a/static/images/rc/langcache-replace-key.png b/static/images/rc/langcache-replace-key.png new file mode 100644 index 0000000000000000000000000000000000000000..910e8abc45810b016ccd11b3e83a20413bfe0a8f GIT binary patch literal 4508 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 literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-service-key.png b/static/images/rc/langcache-service-key.png new file mode 100644 index 0000000000000000000000000000000000000000..29e645f24e5ba74aac49a2d1d051778ed63e337e GIT binary patch literal 23523 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 U!Ob$L0w0T^zNuchjzh%%0OaW*Hvj+t literal 0 HcmV?d00001 diff --git a/static/images/rc/langcache-view-connectivity.png b/static/images/rc/langcache-view-connectivity.png index 395badcac84352e90336f5aa9a2744d81fd04517..6e78345a95eb1c081681a4a6d730581c8fd46721 100644 GIT binary patch delta 20642 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 JJhJyo{s*oG5~=_I delta 19445 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 literal 0 HcmV?d00001 From 326f48a730fca31319259bd15453253969263754 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Thu, 26 Jun 2025 10:45:23 -0400 Subject: [PATCH 14/20] Add LLM cost reduction --- content/operate/rc/langcache/_index.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md index ec63131f07..71c498ad98 100644 --- a/content/operate/rc/langcache/_index.md +++ b/content/operate/rc/langcache/_index.md @@ -32,6 +32,29 @@ Using LangCache as a semantic caching service in Redis Cloud has the following b - **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls. - **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. +### LLM Cost reduction with LangCache + +LangCache reduces your LLM costs by caching responses and avoiding repeated API calls. When a response is served from cache, you don’t pay for output tokens. Input token costs are typically offset by embedding and storage costs. + +For every cached response, you'll save the output token cost. To calculate your monthly savings with LangCache, you can use the following formula: + +```bash +Estimated monthly savings with LangCache = (Monthly output token costs) × (Cache hit rate) +``` + +The more requests you serve from LangCache, the more you save, because you’re not paying to regenerate the output. + +Here’s an example: +- Monthly LLM spend: $200 +- Percentage of output tokens in your spend: 60% +- Cost of output tokens: $200 × 60% = $120 +- Cache hit rate: 50% +- Estimated savings: $120 × 50% = $60/month + +{{}} +The forumla and numbers above will provide a rough estimate of your monthly savings. Actual savings will vary depending on your usage. +{{}} + ## LangCache architecture The following diagram displays how you can integrate LangCache into your GenAI app: From 72403d02567bf501317d0d2a75f48066aaa92cb0 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Thu, 26 Jun 2025 10:45:39 -0400 Subject: [PATCH 15/20] Typo --- content/operate/rc/langcache/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md index 71c498ad98..e76c0b6d15 100644 --- a/content/operate/rc/langcache/_index.md +++ b/content/operate/rc/langcache/_index.md @@ -32,7 +32,7 @@ Using LangCache as a semantic caching service in Redis Cloud has the following b - **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls. - **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. -### LLM Cost reduction with LangCache +### LLM cost reduction with LangCache LangCache reduces your LLM costs by caching responses and avoiding repeated API calls. When a response is served from cache, you don’t pay for output tokens. Input token costs are typically offset by embedding and storage costs. From 8baad94d4a04f6978e20579e9abd9f8c22a7fa28 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 27 Jun 2025 10:44:55 -0400 Subject: [PATCH 16/20] Fix formula code block --- content/operate/rc/langcache/_index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md index e76c0b6d15..5f21d18b71 100644 --- a/content/operate/rc/langcache/_index.md +++ b/content/operate/rc/langcache/_index.md @@ -39,7 +39,8 @@ LangCache reduces your LLM costs by caching responses and avoiding repeated API For every cached response, you'll save the output token cost. To calculate your monthly savings with LangCache, you can use the following formula: ```bash -Estimated monthly savings with LangCache = (Monthly output token costs) × (Cache hit rate) +Est. monthly savings with LangCache = + (Monthly output token costs) × (Cache hit rate) ``` The more requests you serve from LangCache, the more you save, because you’re not paying to regenerate the output. @@ -52,7 +53,7 @@ Here’s an example: - Estimated savings: $120 × 50% = $60/month {{}} -The forumla and numbers above will provide a rough estimate of your monthly savings. Actual savings will vary depending on your usage. +The formula and numbers above provide a rough estimate of your monthly savings. Actual savings will vary depending on your usage. {{}} ## LangCache architecture From 72c5045ed65c96945d8db2e8ae2c587d3e674961 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Wed, 2 Jul 2025 16:38:34 -0400 Subject: [PATCH 17/20] LangCache: Move certain docs to develop/ai --- content/develop/ai/langcache.md | 96 -------------- content/develop/ai/langcache/_index.md | 111 +++++++++++++++++ content/develop/ai/langcache/api-reference.md | 117 ++++++++++++++++++ content/embeds/langcache-cost-reduction.md | 21 ++++ content/embeds/rc-langcache-get-started.md | 7 ++ content/operate/rc/langcache/_index.md | 72 ++--------- content/operate/rc/langcache/use-langcache.md | 99 +-------------- 7 files changed, 267 insertions(+), 256 deletions(-) delete mode 100644 content/develop/ai/langcache.md create mode 100644 content/develop/ai/langcache/_index.md create mode 100644 content/develop/ai/langcache/api-reference.md create mode 100644 content/embeds/langcache-cost-reduction.md create mode 100644 content/embeds/rc-langcache-get-started.md diff --git a/content/develop/ai/langcache.md b/content/develop/ai/langcache.md deleted file mode 100644 index 5c6e88927c..0000000000 --- a/content/develop/ai/langcache.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -Title: Redis LangCache -alwaysopen: false -categories: -- docs -- develop -- ai -description: Redis LangCache provides semantic caching-as-a-service to reduce LLM costs and improve response times for AI applications. -linkTitle: LangCache -weight: 30 ---- - -Redis LangCache is a fully-managed semantic caching service that reduces large language model (LLM) costs and improves response times for AI applications. - -## How LangCache works - -LangCache uses semantic caching to store and reuse previous LLM responses for similar queries. Instead of calling the LLM for every request, LangCache: - -- **Checks for similar cached responses** when a new query arrives -- **Returns cached results instantly** if a semantically similar response exists -- **Stores new responses** for future reuse when no cache match is found - -## Key benefits - -### Cost reduction -LangCache significantly reduces LLM costs by eliminating redundant API calls. Since up to 90% of LLM requests are repetitive, caching frequently-requested responses provides substantial cost savings. - -### Improved performance -Cached responses are retrieved from memory, providing response times up to 15 times faster than LLM API calls. This improvement is particularly beneficial for retrieval-augmented generation (RAG) applications. - -### Simple deployment -LangCache is available as a managed service through a REST API. The service includes: - -- Automated embedding generation -- Configurable cache controls -- Simple billing structure -- No database management required - -### Advanced cache management -The service provides comprehensive cache management features: - -- Data access and privacy controls -- Configurable eviction protocols -- Usage monitoring and analytics -- Cache hit rate tracking - -## Use cases - -### AI assistants and chatbots -Optimize conversational AI applications by caching common responses and reducing latency for frequently asked questions. - -### RAG applications -Improve retrieval-augmented generation performance by caching responses to similar queries, reducing both cost and response time. - -### AI agents -Enhance multi-step reasoning chains and agent workflows by caching intermediate results and common reasoning patterns. - -### AI gateways -Integrate LangCache into centralized AI gateway services to manage and control LLM costs across multiple applications. - -## Getting started - -LangCache is currently available through a private preview program. The service is accessible via REST API and supports any programming language. - -### Prerequisites - -To use LangCache, you need: - -- An AI application that makes LLM API calls -- A use case involving repetitive or similar queries -- Willingness to provide feedback during the preview phase - -### Access - -LangCache is offered as a fully-managed cloud service. During the private preview: - -- Participation is free -- Usage limits may apply -- Dedicated support is provided -- Regular feedback sessions are conducted - -## Data security and privacy - -LangCache stores your data on your Redis servers. Redis does not access your data or use it to train AI models. The service maintains enterprise-grade security and privacy standards. - -## Support - -Private preview participants receive: - -- Dedicated onboarding resources -- Documentation and tutorials -- Email and chat support -- Regular check-ins with the product team -- Exclusive roadmap updates - -For more information about joining the private preview, visit the [Redis LangCache website](https://redis.io/langcache/). diff --git a/content/develop/ai/langcache/_index.md b/content/develop/ai/langcache/_index.md new file mode 100644 index 0000000000..a6fbdc352a --- /dev/null +++ b/content/develop/ai/langcache/_index.md @@ -0,0 +1,111 @@ +--- +Title: Redis LangCache +alwaysopen: false +categories: +- docs +- develop +- ai +description: Redis LangCache provides semantic caching-as-a-service to reduce LLM costs and improve response times for AI applications. +linkTitle: LangCache +hideListLinks: true +weight: 30 +--- + +Redis LangCache is a fully-managed semantic caching service that reduces large language model (LLM) costs and improves response times for AI applications. + +## LangCache overview + +LangCache uses semantic caching to store and reuse previous LLM responses for repeated queries. Instead of calling the LLM for every request, LangCache checks if a similar response has already been generated and is stored in the cache. If a match is found, LangCache returns the cached response instantly, saving time and resources. + +Imagine you’re using an LLM to build an agent to answer questions about your company's products. Your users may ask questions like the following: + +- "What are the features of Product A?" +- "Can you list the main features of Product A?" +- "Tell me about Product A’s features." + +These prompts may have slight variations, but they essentially ask the same question. LangCache can help you avoid calling the LLM for each of these prompts by caching the response to the first prompt and returning it for any similar prompts. + +Using LangCache as a semantic caching service has the following benefits: + +- **Lower LLM costs**: Reduce costly LLM calls by easily storing the most frequently-requested responses. +- **Faster AI app responses**: Get faster AI responses by retrieving previously-stored requests from memory. +- **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls, and no database management required. +- **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. + +LangCache works well for the following use cases: + +- **AI assistants and chatbots**: Optimize conversational AI applications by caching common responses and reducing latency for frequently asked questions. +- **RAG applications**: Enhance retrieval-augmented generation performance by caching responses to similar queries, reducing both cost and response time.. +- **AI agents**: Improve multi-step reasoning chains and agent workflows by caching intermediate results and common reasoning patterns. +- **AI gateways**: Integrate LangCache into centralized AI gateway services to manage and control LLM costs across multiple applications.. + +### LLM cost reduction with LangCache + +{{< embed-md "langcache-cost-reduction.md" >}} + +## LangCache architecture + +The following diagram displays how you can integrate LangCache into your GenAI app: + +{{< image filename="images/rc/langcache-process.png" alt="The LangCache process diagram." >}} + +1. A user sends a prompt to your AI app. +1. Your app sends the prompt to LangCache through the `POST /v1/caches/{cacheId}/search` endpoint. +1. LangCache calls an embedding model service to generate an embedding for the prompt. +1. LangCache searches the cache to see if a similar response already exists by matching the embeddings of the new query with the stored embeddings. +1. If a semantically similar entry is found (also known as a cache hit), LangCache gets the cached response and returns it to your app. Your app can then send the cached response back to the user. +1. If no match is found (also known as a cache miss), your app receives an empty response from LangCache. Your app then queries your chosen LLM to generate a new response. +1. Your app sends the prompt and the new response to LangCache through the `POST /v1/caches/{cacheId}/entries` endpoint. +1. LangCache stores the embedding with the new response in the cache for future use. + +See the [LangCache API reference]({{< relref "/develop/ai/langcache/api-reference" >}}) for more information on how to use the LangCache API. + +## Get started + +LangCache is currently in preview through two different ways: + +- Public preview on [Redis Cloud]({{< relref "/operate/rc/langcache" >}}) +- Fully-managed [private preview](https://redis.io/langcache/) + +{{< multitabs id="langcache-get-started" + tab1="Redis Cloud" + tab2="Private preview" >}} + +{{< embed-md "rc-langcache-get-started.md" >}} + +-tab-sep- + +### Prerequisites + +To use LangCache in private preview, you need: + +- An AI application that makes LLM API calls +- A use case involving repetitive or similar queries +- Willingness to provide feedback during the preview phase + +### Access + +LangCache is offered as a fully-managed service. During the private preview: + +- Participation is free +- Usage limits may apply +- Dedicated support is provided +- Regular feedback sessions are conducted + +### Data security and privacy + +LangCache stores your data on your Redis servers. Redis does not access your data or use it to train AI models. The service maintains enterprise-grade security and privacy standards. + +### Support + +Private preview participants receive: + +- Dedicated onboarding resources +- Documentation and tutorials +- Email and chat support +- Regular check-ins with the product team +- Exclusive roadmap updates + +For more information about joining the private preview, visit the [Redis LangCache website](https://redis.io/langcache/). + +{{< /multitabs >}} diff --git a/content/develop/ai/langcache/api-reference.md b/content/develop/ai/langcache/api-reference.md new file mode 100644 index 0000000000..3f8128da42 --- /dev/null +++ b/content/develop/ai/langcache/api-reference.md @@ -0,0 +1,117 @@ +--- +alwaysopen: false +categories: +- docs +- develop +- ai +description: null +hideListLinks: true +linktitle: API reference +title: LangCache API reference +weight: 10 +--- + +You can use the LangCache API from your client app to store and retrieve LLM, RAG, or agent responses. + +To access the LangCache API, you need: + +- LangCache API base URL +- LangCache service API key +- Cache ID + +When you call the API, you need to pass the LangCache API key in the `Authorization` header as a Bearer token and the Cache ID as the `cacheId` path parameter. + +For example, to check the health of the cache using `cURL`: + +```bash +curl -s -X GET "https://$HOST/v1/caches/$CACHE_ID/health" \ + -H "accept: application/json" \ + -H "Authorization: Bearer $API_KEY" +``` + +- The example expects several variables to be set in the shell: + + - **$HOST** - the LangCache API base URL + - **$CACHE_ID** - the Cache ID of your cache + - **$API_KEY** - The LangCache API token + +{{% info %}} +This example uses `cURL` and Linux shell scripts to demonstrate the API; you can use any standard REST client or library. +{{% /info %}} + +## Check cache health + +Use `GET /v1/caches/{cacheId}/health` to check the health of the cache. + +```sh +GET https://[host]/v1/caches/{cacheId}/health +``` + +## Search LangCache for similar responses + +Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses to a user prompt. + +```sh +POST https://[host]/v1/caches/{cacheId}/search +{ + "prompt": "User prompt text" +} +``` + +Place this call in your client app right before you call your LLM's REST API. If LangCache returns a response, you can send that response back to the user instead of calling the LLM. + +If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. + +You can also scope the responses returned from LangCache by adding an `attributes` object to the request. LangCache will only return responses that match the attributes you specify. + +```sh +POST https://[host]/v1/caches/{cacheId}/search +{ + "prompt": "User prompt text", + "attributes": { + "customAttributeName": "customAttributeValue" + } +} +``` + +## Store a new response in LangCache + +Use `POST /v1/caches/{cacheId}/entries` to store a new response in the cache. + +```sh +POST https://[host]/v1/caches/{cacheId}/entries +{ + "prompt": "User prompt text", + "response": "LLM response text" +} +``` + +Place this call in your client app after you get a response from the LLM. This will store the response in the cache for future use. + +You can also store the responses with custom attributes by adding an `attributes` object to the request. + +```sh +POST https://[host]/v1/caches/{cacheId}/entries +{ + "prompt": "User prompt text", + "response": "LLM response text", + "attributes": { + "customAttributeName": "customAttributeValue" + } +} +``` + +## Delete cached responses + +Use `DELETE /v1/caches/{cacheId}/entries/{entryId}` to delete a cached response from the cache. + +You can also use `DELETE /v1/caches/{cacheId}/entries` to delete multiple cached responses at once. If you provide an `attributes` object, LangCache will delete all responses that match the attributes you specify. + +```sh +DELETE https://[host]/v1/caches/{cacheId}/entries +{ + "attributes": { + "customAttributeName": "customAttributeValue" + } +} +``` diff --git a/content/embeds/langcache-cost-reduction.md b/content/embeds/langcache-cost-reduction.md new file mode 100644 index 0000000000..5850486ac2 --- /dev/null +++ b/content/embeds/langcache-cost-reduction.md @@ -0,0 +1,21 @@ +LangCache reduces your LLM costs by caching responses and avoiding repeated API calls. When a response is served from cache, you don’t pay for output tokens. Input token costs are typically offset by embedding and storage costs. + +For every cached response, you'll save the output token cost. To calculate your monthly savings with LangCache, you can use the following formula: + +```bash +Est. monthly savings with LangCache = + (Monthly output token costs) × (Cache hit rate) +``` + +The more requests you serve from LangCache, the more you save, because you’re not paying to regenerate the output. + +Here’s an example: +- Monthly LLM spend: $200 +- Percentage of output tokens in your spend: 60% +- Cost of output tokens: $200 × 60% = $120 +- Cache hit rate: 50% +- Estimated savings: $120 × 50% = $60/month + +{{}} +The formula and numbers above provide a rough estimate of your monthly savings. Actual savings will vary depending on your usage. +{{}} \ No newline at end of file diff --git a/content/embeds/rc-langcache-get-started.md b/content/embeds/rc-langcache-get-started.md new file mode 100644 index 0000000000..8d7e337fc1 --- /dev/null +++ b/content/embeds/rc-langcache-get-started.md @@ -0,0 +1,7 @@ +To set up LangCache on Redis Cloud: + +1. [Create a database]({{< relref "/operate/rc/databases/create-database" >}}) on Redis Cloud. +2. [Create a LangCache service]({{< relref "/operate/rc/langcache/create-service" >}}) for your database on Redis Cloud. +3. [Use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) from your client app. + +After you set up LangCache, you can [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). \ No newline at end of file diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md index 5f21d18b71..9496b06b35 100644 --- a/content/operate/rc/langcache/_index.md +++ b/content/operate/rc/langcache/_index.md @@ -6,77 +6,21 @@ categories: - rc description: Store LLM responses for AI applications in Redis Cloud. hideListLinks: true -linktitle: LangCache -title: Semantic caching with LangCache +linktitle: LangCache +title: Semantic caching with LangCache on Redis Cloud weight: 36 +bannerText: LangCache on Redis Cloud is currently available as a public preview. +bannerChildren: true --- LangCache is a semantic caching service available as a REST API that stores LLM responses for fast and cheaper retrieval, built on the Redis vector database. By using semantic caching, customers can significantly reduce API costs and lower the average latency of their generative AI applications. -## LangCache overview +For more information about how LangCache works, see the [LangCache overview]({{< relref "/develop/ai/langcache" >}}). -LangCache uses semantic caching to store and reuse previous LLM responses for repeated queries. Instead of calling the LLM for every request, LangCache checks if a similar response has already been generated and is stored in the cache. If a match is found, LangCache returns the cached response instantly, saving time and resources. +## LLM cost reduction with LangCache -Imagine you’re using an LLM to build an agent to answer questions about your company's products. Your users may ask questions like the following: - -- "What are the features of Product A?" -- "Can you list the main features of Product A?" -- "Tell me about Product A’s features." - -These prompts may have slight variations, but they essentially ask the same question. LangCache can help you avoid calling the LLM for each of these prompts by caching the response to the first prompt and returning it for any similar prompts. - -Using LangCache as a semantic caching service in Redis Cloud has the following benefits: - -- **Lower LLM costs**: Reduce costly LLM calls by easily storing the most frequently-requested responses. -- **Faster AI app responses**: Get faster AI responses by retrieving previously-stored requests from memory. -- **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls. -- **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. - -### LLM cost reduction with LangCache - -LangCache reduces your LLM costs by caching responses and avoiding repeated API calls. When a response is served from cache, you don’t pay for output tokens. Input token costs are typically offset by embedding and storage costs. - -For every cached response, you'll save the output token cost. To calculate your monthly savings with LangCache, you can use the following formula: - -```bash -Est. monthly savings with LangCache = - (Monthly output token costs) × (Cache hit rate) -``` - -The more requests you serve from LangCache, the more you save, because you’re not paying to regenerate the output. - -Here’s an example: -- Monthly LLM spend: $200 -- Percentage of output tokens in your spend: 60% -- Cost of output tokens: $200 × 60% = $120 -- Cache hit rate: 50% -- Estimated savings: $120 × 50% = $60/month - -{{}} -The formula and numbers above provide a rough estimate of your monthly savings. Actual savings will vary depending on your usage. -{{}} - -## LangCache architecture - -The following diagram displays how you can integrate LangCache into your GenAI app: - -{{< image filename="images/rc/langcache-process.png" >}} - -1. A user sends a prompt to your AI app. -1. Your app sends the prompt to LangCache through the `POST /v1/caches/{cacheId}/search` endpoint. -1. LangCache calls an embedding model service to generate an embedding for the prompt. -1. LangCache searches the cache to see if a similar response already exists by matching the embeddings of the new query with the stored embeddings. -1. If a semantically similar entry is found (also known as a cache hit), LangCache gets the cached response and returns it to your app. Your app can then send the cached response back to the user. -1. If no match is found (also known as a cache miss), your app receives an empty response from LangCache. Your app then queries your chosen LLM to generate a new response. -1. Your app sends the prompt and the new response to LangCache through the `POST /v1/caches/{cacheId}/entries` endpoint. -1. LangCache stores the embedding with the new response in the cache for future use. +{{< embed-md "langcache-cost-reduction.md" >}} ## Get started with LangCache on Redis Cloud -To set up LangCache on Redis Cloud: - -1. [Create a database]({{< relref "/operate/rc/databases/create-database" >}}) on Redis Cloud. -2. [Create a LangCache service]({{< relref "/operate/rc/langcache/create-service" >}}) for your database. -3. [Use the LangCache API]({{< relref "/operate/rc/langcache/use-langcache" >}}) from your client app. - -After you set up LangCache, you can [view and edit the cache]({{< relref "/operate/rc/langcache/view-edit-cache" >}}) and [monitor the cache's performance]({{< relref "/operate/rc/langcache/monitor-cache" >}}). \ No newline at end of file +{{< embed-md "rc-langcache-get-started.md" >}} \ No newline at end of file diff --git a/content/operate/rc/langcache/use-langcache.md b/content/operate/rc/langcache/use-langcache.md index f344b685ef..80713073d1 100644 --- a/content/operate/rc/langcache/use-langcache.md +++ b/content/operate/rc/langcache/use-langcache.md @@ -7,7 +7,7 @@ categories: description: null hideListLinks: true linktitle: Use LangCache -title: Use the LangCache API with your GenAI app +title: Use the LangCache API on Redis Cloud weight: 10 --- @@ -19,103 +19,10 @@ To access the LangCache API, you need: - LangCache service API key - Cache ID -The base URL and cache ID are available in the LangCache service's **Configuration** page in the [**Connectivity** section]({{< relref "/operate/rc/langcache/view-edit-cache#connectivity" >}}). +For LangCache on Redis Cloud, the base URL and cache ID are available in the LangCache service's **Configuration** page in the [**Connectivity** section]({{< relref "/operate/rc/langcache/view-edit-cache#connectivity" >}}). The LangCache API key is only available immediately after you create the LangCache service. If you lost this value, you will need to [replace the service API key]({{< relref "/operate/rc/langcache/view-edit-cache#replace-service-api-key" >}}) to be able to use the LangCache API. When you call the API, you need to pass the LangCache API key in the `Authorization` header as a Bearer token and the Cache ID as the `cacheId` path parameter. -For example, to check the health of the cache using `cURL`: - -```bash -curl -s -X GET "https://$HOST/v1/caches/$CACHE_ID/health" \ - -H "accept: application/json" \ - -H "Authorization: Bearer $API_KEY" -``` - -- The example expects several variables to be set in the shell: - - - **$HOST** - the LangCache API base URL - - **$CACHE_ID** - the Cache ID of your cache - - **$API_KEY** - The LangCache API token - -{{% info %}} -This example uses `cURL` and Linux shell scripts to demonstrate the API; you can use any standard REST client or library. -{{% /info %}} - -## Check cache health - -Use `GET /v1/caches/{cacheId}/health` to check the health of the cache. - -```sh -GET https://[host]/v1/caches/{cacheId}/health -``` - -## Search LangCache for similar responses - -Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses to a user prompt. - -```sh -POST https://[host]/v1/caches/{cacheId}/search -{ - "prompt": "User prompt text" -} -``` - -Place this call in your client app right before you call your LLM's REST API. If LangCache returns a response, you can send that response back to the user instead of calling the LLM. - -If LangCache does not return a response, you should call your LLM's REST API to generate a new response. After you get a response from the LLM, you can [store it in LangCache](#store-a-new-response-in-langcache) for future use. - -You can also scope the responses returned from LangCache by adding an `attributes` object to the request. LangCache will only return responses that match the attributes you specify. - -```sh -POST https://[host]/v1/caches/{cacheId}/search -{ - "prompt": "User prompt text", - "attributes": { - "customAttributeName": "customAttributeValue" - } -} -``` - -## Store a new response in LangCache - -Use `POST /v1/caches/{cacheId}/entries` to store a new response in the cache. - -```sh -POST https://[host]/v1/caches/{cacheId}/entries -{ - "prompt": "User prompt text", - "response": "LLM response text" -} -``` - -Place this call in your client app after you get a response from the LLM. This will store the response in the cache for future use. - -You can also store the responses with custom attributes by adding an `attributes` object to the request. - -```sh -POST https://[host]/v1/caches/{cacheId}/entries -{ - "prompt": "User prompt text", - "response": "LLM response text", - "attributes": { - "customAttributeName": "customAttributeValue" - } -} -``` - -## Delete cached responses - -Use `DELETE /v1/caches/{cacheId}/entries/{entryId}` to delete a cached response from the cache. - -You can also use `DELETE /v1/caches/{cacheId}/entries` to delete multiple cached responses at once. If you provide an `attributes` object, LangCache will delete all responses that match the attributes you specify. - -```sh -DELETE https://[host]/v1/caches/{cacheId}/entries -{ - "attributes": { - "customAttributeName": "customAttributeValue" - } -} -``` +See the [LangCache API reference]({{< relref "/develop/ai/langcache/api-reference" >}}) for more information on how to use the LangCache API. From 6247f382a69e631fe30015ea3447017ee39d4442 Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Thu, 3 Jul 2025 09:53:47 -0400 Subject: [PATCH 18/20] Apply suggestions from code review Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com> --- content/develop/ai/langcache/_index.md | 8 ++++---- content/develop/ai/langcache/api-reference.md | 2 +- content/operate/rc/langcache/_index.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/develop/ai/langcache/_index.md b/content/develop/ai/langcache/_index.md index a6fbdc352a..db56ec3c9c 100644 --- a/content/develop/ai/langcache/_index.md +++ b/content/develop/ai/langcache/_index.md @@ -5,7 +5,7 @@ categories: - docs - develop - ai -description: Redis LangCache provides semantic caching-as-a-service to reduce LLM costs and improve response times for AI applications. +description: Store LLM responses for AI apps in a semantic cache. linkTitle: LangCache hideListLinks: true weight: 30 @@ -29,13 +29,13 @@ Using LangCache as a semantic caching service has the following benefits: - **Lower LLM costs**: Reduce costly LLM calls by easily storing the most frequently-requested responses. - **Faster AI app responses**: Get faster AI responses by retrieving previously-stored requests from memory. -- **Simpler Deployments**: Access our managed service via a REST API with automated embedding generation, configurable controls, and no database management required. +- **Simpler Deployments**: Access our managed service using a REST API with automated embedding generation, configurable controls, and no database management required. - **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates. LangCache works well for the following use cases: - **AI assistants and chatbots**: Optimize conversational AI applications by caching common responses and reducing latency for frequently asked questions. -- **RAG applications**: Enhance retrieval-augmented generation performance by caching responses to similar queries, reducing both cost and response time.. +- **RAG applications**: Enhance retrieval-augmented generation performance by caching responses to similar queries, reducing both cost and response time. - **AI agents**: Improve multi-step reasoning chains and agent workflows by caching intermediate results and common reasoning patterns. - **AI gateways**: Integrate LangCache into centralized AI gateway services to manage and control LLM costs across multiple applications.. @@ -62,7 +62,7 @@ See the [LangCache API reference]({{< relref "/develop/ai/langcache/api-referenc ## Get started -LangCache is currently in preview through two different ways: +LangCache is currently in preview: - Public preview on [Redis Cloud]({{< relref "/operate/rc/langcache" >}}) - Fully-managed [private preview](https://redis.io/langcache/) diff --git a/content/develop/ai/langcache/api-reference.md b/content/develop/ai/langcache/api-reference.md index 3f8128da42..6df372b383 100644 --- a/content/develop/ai/langcache/api-reference.md +++ b/content/develop/ai/langcache/api-reference.md @@ -4,7 +4,7 @@ categories: - docs - develop - ai -description: null +description: Learn to use the Redis LangCache API for semantic caching. hideListLinks: true linktitle: API reference title: LangCache API reference diff --git a/content/operate/rc/langcache/_index.md b/content/operate/rc/langcache/_index.md index 9496b06b35..9d121dd31f 100644 --- a/content/operate/rc/langcache/_index.md +++ b/content/operate/rc/langcache/_index.md @@ -13,7 +13,7 @@ bannerText: LangCache on Redis Cloud is currently available as a public preview. bannerChildren: true --- -LangCache is a semantic caching service available as a REST API that stores LLM responses for fast and cheaper retrieval, built on the Redis vector database. By using semantic caching, customers can significantly reduce API costs and lower the average latency of their generative AI applications. +LangCache is a semantic caching service available as a REST API that stores LLM responses for fast and cheaper retrieval, built on the Redis vector database. By using semantic caching, you can significantly reduce API costs and lower the average latency of your generative AI applications. For more information about how LangCache works, see the [LangCache overview]({{< relref "/develop/ai/langcache" >}}). From f442476ea8e5b99b2652f6696e91d86cc856aa4e Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Thu, 3 Jul 2025 10:07:25 -0400 Subject: [PATCH 19/20] Add LangCache SDK --- content/develop/ai/langcache/api-reference.md | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/content/develop/ai/langcache/api-reference.md b/content/develop/ai/langcache/api-reference.md index 6df372b383..fe0bb10bee 100644 --- a/content/develop/ai/langcache/api-reference.md +++ b/content/develop/ai/langcache/api-reference.md @@ -39,7 +39,11 @@ curl -s -X GET "https://$HOST/v1/caches/$CACHE_ID/health" \ This example uses `cURL` and Linux shell scripts to demonstrate the API; you can use any standard REST client or library. {{% /info %}} -## Check cache health +You can also use the [LangCache SDKs](#langcache-sdk) for Javascript and Python to access the API. + +## API examples + +### Check cache health Use `GET /v1/caches/{cacheId}/health` to check the health of the cache. @@ -47,7 +51,7 @@ Use `GET /v1/caches/{cacheId}/health` to check the health of the cache. GET https://[host]/v1/caches/{cacheId}/health ``` -## Search LangCache for similar responses +### Search LangCache for similar responses Use `POST /v1/caches/{cacheId}/search` to search the cache for matching responses to a user prompt. @@ -74,7 +78,7 @@ POST https://[host]/v1/caches/{cacheId}/search } ``` -## Store a new response in LangCache +### Store a new response in LangCache Use `POST /v1/caches/{cacheId}/entries` to store a new response in the cache. @@ -101,7 +105,7 @@ POST https://[host]/v1/caches/{cacheId}/entries } ``` -## Delete cached responses +### Delete cached responses Use `DELETE /v1/caches/{cacheId}/entries/{entryId}` to delete a cached response from the cache. @@ -115,3 +119,11 @@ DELETE https://[host]/v1/caches/{cacheId}/entries } } ``` +## LangCache SDK + +If your app is written in Javascript or Python, you can also use the LangCache Software Development Kits (SDKs) to access the API. + +To learn how to use the LangCache SDKs: + +- [LangCache SDK for Javascript](https://www.npmjs.com/package/@redis-ai/langcache) +- [LangCache SDK for Python](https://pypi.org/project/langcache/) From 1c2dbef1676efdfbfbdc9022ef4662ed0bd505a7 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Thu, 3 Jul 2025 10:09:21 -0400 Subject: [PATCH 20/20] Add SDK in title and LinkTitle --- content/develop/ai/langcache/api-reference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/develop/ai/langcache/api-reference.md b/content/develop/ai/langcache/api-reference.md index fe0bb10bee..c94ed98dd2 100644 --- a/content/develop/ai/langcache/api-reference.md +++ b/content/develop/ai/langcache/api-reference.md @@ -6,8 +6,8 @@ categories: - ai description: Learn to use the Redis LangCache API for semantic caching. hideListLinks: true -linktitle: API reference -title: LangCache API reference +linktitle: API and SDK reference +title: LangCache API and SDK reference weight: 10 ---