Skip to content

Commit 6e71d32

Browse files
committed
Merge branch 'main' into preview-rc-security-reorg
2 parents e60a8ea + 866d9aa commit 6e71d32

File tree

158 files changed

+4240
-1813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+4240
-1813
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,10 @@ jobs:
193193
bucket_path=`echo "version/${{ github.ref_name }}" | sed 's/-build$//'`
194194
else
195195
bucket_path=staging/${{ github.ref_name }}
196-
fi \
197-
&& gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/$bucket_path
196+
fi
197+
198+
gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/$bucket_path
199+
gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/docs/$bucket_path
198200
199201
if [[ "${{ github.ref_name }}" == "latest" ]]
200202
then
@@ -203,8 +205,10 @@ jobs:
203205
product=$(awk 'BEGIN{FS=OFS="-"}{NF--; print}' <<< $versioned_build)
204206
if [[ "${product}" == "redis-data-integration" ]]; then
205207
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/integrate/${product}" "gs://${BUCKET}/${versioned_build}/integrate/${product}"
208+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/integrate/${product}" "gs://${BUCKET}/docs/${versioned_build}/integrate/${product}"
206209
else
207210
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${versioned_build}/operate/${product}"
211+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/docs/${versioned_build}/operate/${product}"
208212
fi
209213
done
210214
fi
@@ -216,8 +220,10 @@ jobs:
216220
product=$(awk 'BEGIN{FS=OFS="-"}{NF--; print}' <<< $versioned_build)
217221
if [[ "${product}" == "redis-data-integration" ]]; then
218222
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/integrate/${product}" "gs://${BUCKET}/${bucket_path}/${versioned_build}/integrate/${product}"
223+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/integrate/${product}" "gs://${BUCKET}/docs/${bucket_path}/${versioned_build}/integrate/${product}"
219224
else
220225
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${bucket_path}/${versioned_build}/operate/${product}"
226+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/docs/${bucket_path}/${versioned_build}/operate/${product}"
221227
fi
222228
done
223229
fi

config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ rdi_redis_gears_version = "1.2.6"
5555
rdi_debezium_server_version = "2.3.0.Final"
5656
rdi_db_types = "cassandra|mysql|oracle|postgresql|sqlserver"
5757
rdi_cli_latest = "latest"
58-
rdi_current_version = "1.12.2"
58+
rdi_current_version = "1.12.3"
5959

6060
[params.clientsConfig]
6161
"Python"={quickstartSlug="redis-py"}

content/commands/ts.range.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,13 @@ Next, aggregate without using `ALIGN`, defaulting to alignment 0.
343343
2) 100
344344
2) 1) (integer) 1020
345345
2) 120
346-
3) 1) (integer) 1040
347-
2) 210
348-
4) 1) (integer) 1060
346+
3) 1) (integer) 2000
347+
2) 200
348+
4) 1) (integer) 2020
349+
2) 220
350+
5) 1) (integer) 3000
349351
2) 300
350-
5) 1) (integer) 1080
352+
6) 1) (integer) 3020
351353
2) 320
352354
{{< / highlight >}}
353355

content/develop/ai/langcache.md

Lines changed: 0 additions & 96 deletions
This file was deleted.
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
Title: Redis LangCache
3+
alwaysopen: false
4+
categories:
5+
- docs
6+
- develop
7+
- ai
8+
description: Store LLM responses for AI apps in a semantic cache.
9+
linkTitle: LangCache
10+
hideListLinks: true
11+
weight: 30
12+
bannerText: LangCache is currently available in preview. Features and behavior are subject to change.
13+
bannerChildren: true
14+
---
15+
16+
Redis LangCache is a fully-managed semantic caching service that reduces large language model (LLM) costs and improves response times for AI applications.
17+
18+
## LangCache overview
19+
20+
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.
21+
22+
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:
23+
24+
- "What are the features of Product A?"
25+
- "Can you list the main features of Product A?"
26+
- "Tell me about Product A’s features."
27+
28+
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.
29+
30+
Using LangCache as a semantic caching service has the following benefits:
31+
32+
- **Lower LLM costs**: Reduce costly LLM calls by easily storing the most frequently-requested responses.
33+
- **Faster AI app responses**: Get faster AI responses by retrieving previously-stored requests from memory.
34+
- **Simpler Deployments**: Access our managed service using a REST API with automated embedding generation, configurable controls, and no database management required.
35+
- **Advanced cache management**: Manage data access and privacy, eviction protocols, and monitor usage and cache hit rates.
36+
37+
LangCache works well for the following use cases:
38+
39+
- **AI assistants and chatbots**: Optimize conversational AI applications by caching common responses and reducing latency for frequently asked questions.
40+
- **RAG applications**: Enhance retrieval-augmented generation performance by caching responses to similar queries, reducing both cost and response time.
41+
- **AI agents**: Improve multi-step reasoning chains and agent workflows by caching intermediate results and common reasoning patterns.
42+
- **AI gateways**: Integrate LangCache into centralized AI gateway services to manage and control LLM costs across multiple applications..
43+
44+
### LLM cost reduction with LangCache
45+
46+
{{< embed-md "langcache-cost-reduction.md" >}}
47+
48+
## LangCache architecture
49+
50+
The following diagram displays how you can integrate LangCache into your GenAI app:
51+
52+
{{< image filename="images/rc/langcache-process.png" alt="The LangCache process diagram." >}}
53+
54+
1. A user sends a prompt to your AI app.
55+
1. Your app sends the prompt to LangCache through the `POST /v1/caches/{cacheId}/search` endpoint.
56+
1. LangCache calls an embedding model service to generate an embedding for the prompt.
57+
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.
58+
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.
59+
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.
60+
1. Your app sends the prompt and the new response to LangCache through the `POST /v1/caches/{cacheId}/entries` endpoint.
61+
1. LangCache stores the embedding with the new response in the cache for future use.
62+
63+
See the [LangCache API reference]({{< relref "/develop/ai/langcache/api-reference" >}}) for more information on how to use the LangCache API.
64+
65+
## Get started
66+
67+
LangCache is currently in preview:
68+
69+
- Public preview on [Redis Cloud]({{< relref "/operate/rc/langcache" >}})
70+
- Fully-managed [private preview](https://redis.io/langcache/)
71+
72+
{{< multitabs id="langcache-get-started"
73+
tab1="Redis Cloud"
74+
tab2="Private preview" >}}
75+
76+
{{< embed-md "rc-langcache-get-started.md" >}}
77+
78+
-tab-sep-
79+
80+
### Prerequisites
81+
82+
To use LangCache in private preview, you need:
83+
84+
- An AI application that makes LLM API calls
85+
- A use case involving repetitive or similar queries
86+
- Willingness to provide feedback during the preview phase
87+
88+
### Access
89+
90+
LangCache is offered as a fully-managed service. During the private preview:
91+
92+
- Participation is free
93+
- Usage limits may apply
94+
- Dedicated support is provided
95+
- Regular feedback sessions are conducted
96+
97+
### Data security and privacy
98+
99+
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.
100+
101+
### Support
102+
103+
Private preview participants receive:
104+
105+
- Dedicated onboarding resources
106+
- Documentation and tutorials
107+
- Email and chat support
108+
- Regular check-ins with the product team
109+
- Exclusive roadmap updates
110+
111+
For more information about joining the private preview, visit the [Redis LangCache website](https://redis.io/langcache/).
112+
113+
{{< /multitabs >}}

0 commit comments

Comments
 (0)