Conversation
manju956
commented
Feb 3, 2026
- Introduce Opensearch Vectordb as a replacement for Milvus
- Contains manifest file changes replacing references of milvus with opensearch. Additionally, opensearch uses user authentication for db interactions
- Opensearch relavant changes in python backend code
ai-services/assets/applications/rag/templates/chat-bot.yaml.tmpl
Outdated
Show resolved
Hide resolved
ai-services/assets/applications/rag-dev/templates/chat-bot.yaml.tmpl
Outdated
Show resolved
Hide resolved
ai-services/assets/applications/rag/templates/opensearch.yaml.tmpl
Outdated
Show resolved
Hide resolved
spyre-rag/src/common/db_utils.py
Outdated
| "description": "Post-processor for hybrid search using RRF", | ||
| "phase_results_processors": [ | ||
| { | ||
| "normalization-processor": { |
There was a problem hiding this comment.
Seems normalization-processor & rrf are different techniques
You have used normalization-processor but only in id you have mentioned as rrf
For our use case normalization-processor is better suitable it seems.
But adding weights is critical
Can you please revisit this block?
There was a problem hiding this comment.
exploring semantic heavy weights, will run tests for accurancy verification
ai-services/assets/applications/rag-dev/templates/chat-bot.yaml.tmpl
Outdated
Show resolved
Hide resolved
|
a small comment - to handle the db-status call on opensearch. Without this, the UI fails to display response. |
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
with latest commit in the PR, the issue is fixed. |
yussufsh
left a comment
There was a problem hiding this comment.
Follow the OpenSearch trademark.
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
dharaneeshvrd
left a comment
There was a problem hiding this comment.
Can you bump the rag version as well?
ai-services/assets/applications/rag-dev/templates/opensearch.yaml.tmpl
Outdated
Show resolved
Hide resolved
ai-services/assets/applications/rag/templates/opensearch.yaml.tmpl
Outdated
Show resolved
Hide resolved
| } | ||
|
|
||
| try: | ||
| self.client.search_pipeline.delete(id="hybrid_rrf_pipeline") |
There was a problem hiding this comment.
why are we recreating here?
why can't we just check whether it exists or not?
also don't use rrf in id
Signed-off-by: manju956 <manjunath.ac956@gmail.com>
| from abc import ABC, abstractmethod | ||
| from typing import List, Dict, Optional | ||
|
|
||
| class VectorStore(ABC): |
There was a problem hiding this comment.
Please add details to these methods as much as possible
|
|
||
| class VectorStore(ABC): | ||
| @abstractmethod | ||
| def insert_chunks(self, emb_model: str, emb_endpoint: str, max_tokens: int, chunks: List[Dict], batch_size: int = 10): |
There was a problem hiding this comment.
Can we take the embedding out of this class so that we can use this class more efficiently? may be send a embedder class which has a method containing all the logic for embedding, I'm looking at this class should support 2 ways of searching/inserting 1. pure embedding 2. send text chunks(with embedding class)
|
|
||
| class VectorStoreNotReadyError(): | ||
| """Raised when the database is unreachable or initializing.""" | ||
| pass No newline at end of file |