SemanticCache vector index algorithm is hardcoded to FLAT; no way to configure HNSW
I maintainer di solito rispondono entro 5 giorni
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia con SemanticCacheIndexSchema.from_params in redisvl/extensions/cache/llm/schema.py:115 e ispeziona il costruttore di SemanticCache per tracciare come vengono passate le impostazioni dell’indice durante la creazione. Aggiungi una configurazione in fase di costruzione per l’algoritmo vettoriale e i relativi parametri HNSW, mantenendo FLAT come valore predefinito; il lavoro è completo quando le nuove cache possono selezionare HNSW senza creare manualmente l’indice.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Current behavior
SemanticCacheIndexSchema.from_params (redisvl/extensions/cache/llm/schema.py:115) hardcodes the vector field's algorithm to "flat":
{
"name": CACHE_VECTOR_FIELD_NAME,
"type": "vector",
"attrs": {
"dims": vector_dims,
"datatype": dtype,
"distance_metric": "cosine",
"algorithm": "flat",
},
},
There is no constructor argument on SemanticCache to override this. FLAT is exact KNN — fine to the low millions of entries, latency-degrading beyond that. For large multi-tenant deployments or per-tenant player-facing caches (10M–100M entries), HNSW is required. Today the only workaround is to bypass SemanticCache entirely and build the index manually.
Proposed API
SemanticCache(
name="cache",
redis_url=...,
vector_index_config={
"algorithm": "hnsw", # or "flat" (default)
"m": 16,
"ef_construction": 200,
"ef_runtime": 10,
},
)
A simpler form taking just algorithm: Literal["flat", "hnsw"] = "flat" plus a default HNSW parameter preset would also be acceptable for a first cut.
Compatibility notes
The algorithm is fixed at index creation; existing FLAT caches cannot be hot-swapped to HNSW. Customers wanting to switch must build a new cache (new name), re-warm, and cut over — same migration shape as a schema change. This is acceptable as long as the option exists at construction time.
Notes
Surfaced while writing a scoped semantic caching architecture spec for customers running large-scale, multi-tenant deployments.
- Lingua principale
- Python
- Stelle
- 431
- Fork
- 107
- Merge medio
- 5g 17h
- PR unite (30g)
- 16
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di redis/redis-vl-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
redis/redis-vl-python#773 ·
I maintainer di solito rispondono entro 5 giorni
-
Vector field with index_missing=True cannot be createdForse già presa @RaphaelFakhri l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
redis/redis-vl-python#770 ·
I maintainer di solito rispondono entro 5 giorni
-
Add Python 3.15 supportForse già presa @vishal-bala l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
redis/redis-vl-python#757 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 5 giorni
-
SearchIndex.drop_keys does not validate cluster hash-tag co-location (inconsistent with drop_documents)Forse già presa @Hashim1999164 l’ha presa oggi. Apertabug good first issue index
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
redis/redis-vl-python#601 ·
I maintainer di solito rispondono entro 5 giorni
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
redis/redis-vl-python#300 ·
I maintainer di solito rispondono entro 5 giorni
Tutte le issue di redis/redis-vl-python
Issue simili
-
comp/cli P3 type/security
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NousResearch/hermes-agent#141420 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
vendor-pitch
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
I maintainer di solito rispondono entro 1 giorno
-
bug llm p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
New tool: ZIPZAX Python Notebook StudioForse già presa @github-actions l’ha presa oggi. Apertasubmission triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
kausalflow/tools#226 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100