redis / redis/redis-vl-python

Make semantic cache observability easier out of the box

Open
#684 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
427
Forks
101
Avg merge
6d 3h
Merged PRs (30d)
20

Description

Problem

RedisVL semantic caching can reduce LLM latency and cost, but customers do not currently have an easy, built-in way to understand how effectively a cache is working.

RedisVL exposes useful search index statistics, but those do not answer common semantic cache questions such as:

  • What is the cache hit ratio?
  • How many checks result in hits, misses, or errors?
  • How long do cache lookups take?
  • Is cache effectiveness improving or regressing over time?

Today, customers need to wrap cache calls with their own instrumentation. This adds setup work, leads to inconsistent metric definitions, and makes it harder to demonstrate the value of semantic caching. Redis server keyspace hit and miss statistics are not a substitute because they do not represent whether a semantic search produced an acceptable cache match.

Customer value

A more plug-and-play observability experience would help customers:

  • Quantify latency and LLM cost savings from semantic caching.
  • Tune thresholds, TTLs, and cache strategy using real workload data.
  • Detect drops in cache effectiveness or increases in lookup errors and latency.
  • Compare behavior across environments and releases.
  • Connect semantic cache signals to the monitoring tools they already use with minimal application code.

Desired experience

Customers should be able to opt into semantic cache observability with very little setup and get clearly defined, documented signals for each cache. The experience should be consistent across synchronous and asynchronous usage and, where practical, across RedisVL semantic cache backends.

Useful signals may include cache checks, hits, misses, hit ratio, lookup latency, errors, stores, cache size, and match-distance information. This list is intended to describe customer needs rather than prescribe a particular API, metrics library, or implementation.

Observability should add minimal overhead, avoid exposing prompt or response content, and have metric semantics that customers can rely on in dashboards and alerts.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or existing observability entry points. Start by locating the synchronous and asynchronous semantic cache implementations and their backend integrations, then review how cache checks, hits, misses, errors, latency, and stores are currently represented. Done means a defined opt-in observability experience with documented signal semantics and consistent sync and async behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, redis
Domain
backend, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.