Feature: Configuring search modes for RAG - Address review

Signed-off-by: Varsha Prasad Narsing <varshaprasad96@gmail.com>
This commit is contained in:
Varsha Prasad Narsing 2025-05-21 10:57:37 -07:00
parent 2060fdba7f
commit 6a2a0836c5
11 changed files with 11 additions and 13 deletions

View file

@ -11611,7 +11611,7 @@
},
"mode": {
"type": "string",
"description": "Search mode for retrieval—either \"vector\" or \"keyword\"."
"description": "Search mode for retrieval—either \"vector\" or \"keyword\". Default \"vector\"."
}
},
"additionalProperties": false,

View file

@ -8089,7 +8089,7 @@ components:
mode:
type: string
description: >-
Search mode for retrieval—either "vector" or "keyword".
Search mode for retrieval—either "vector" or "keyword". Default "vector".
additionalProperties: false
required:
- query_generator_config

View file

@ -76,7 +76,7 @@ class RAGQueryConfig(BaseModel):
:param chunk_template: Template for formatting each retrieved chunk in the context.
Available placeholders: {index} (1-based chunk ordinal), {chunk.content} (chunk content string), {metadata} (chunk metadata dict).
Default: "Result {index}\\nContent: {chunk.content}\\nMetadata: {metadata}\\n"
:param mode: Search mode for retrievaleither "vector" or "keyword".
:param mode: Search mode for retrievaleither "vector" or "keyword". Default "vector".
"""
# This config defines how a query is generated using the messages

View file

@ -118,7 +118,7 @@ class FaissIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -203,8 +203,6 @@ class SQLiteVecIndex(EmbeddingIndex):
"""
Performs vector-based search using a virtual table for vector similarity.
"""
if embedding is None:
raise ValueError("embedding is required for vector search.")
def _execute_query():
connection = _create_sqlite_connection(self.db_path)
@ -243,7 +241,7 @@ class SQLiteVecIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -86,7 +86,7 @@ class ChromaIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -88,7 +88,7 @@ class MilvusIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -122,7 +122,7 @@ class PGVectorIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -97,7 +97,7 @@ class QdrantIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -86,7 +86,7 @@ class WeaviateIndex(EmbeddingIndex):
async def query_keyword(
self,
query_string: str | None,
query_string: str,
k: int,
score_threshold: float,
) -> QueryChunksResponse:

View file

@ -181,7 +181,7 @@ class EmbeddingIndex(ABC):
raise NotImplementedError()
@abstractmethod
async def query_keyword(self, query_string: str | None, k: int, score_threshold: float) -> QueryChunksResponse:
async def query_keyword(self, query_string: str, k: int, score_threshold: float) -> QueryChunksResponse:
raise NotImplementedError()
@abstractmethod