Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions surfsense_backend/app/retriever/chunks_hybrid_search.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import logging
from datetime import datetime

logger = logging.getLogger(__name__)

class ChucksHybridSearchRetriever:

class ChunksHybridSearchRetriever:
def __init__(self, db_session):
"""
Initialize the hybrid search retriever with a database session.
Expand Down Expand Up @@ -39,8 +42,12 @@ async def vector_search(
from app.db import Chunk, Document

# Get embedding for the query
embedding_model = config.embedding_model_instance
query_embedding = embedding_model.embed(query_text)
try:
embedding_model = config.embedding_model_instance
query_embedding = embedding_model.embed(query_text)
except Exception as e:
logger.error(f"fail to call embedding model: {e!s}")
return []

# Build the query filtered by search space
query = (
Expand Down
4 changes: 2 additions & 2 deletions surfsense_backend/app/services/connector_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
SearchSourceConnector,
SearchSourceConnectorType,
)
from app.retriever.chunks_hybrid_search import ChucksHybridSearchRetriever
from app.retriever.chunks_hybrid_search import ChunksHybridSearchRetriever
from app.retriever.documents_hybrid_search import DocumentHybridSearchRetriever


class ConnectorService:
def __init__(self, session: AsyncSession, search_space_id: int | None = None):
self.session = session
self.chunk_retriever = ChucksHybridSearchRetriever(session)
self.chunk_retriever = ChunksHybridSearchRetriever(session)
self.document_retriever = DocumentHybridSearchRetriever(session)
self.search_space_id = search_space_id
self.source_id_counter = (
Expand Down
Loading