ChAbhishek28 commited on
Commit
df5eb6f
·
1 Parent(s): 55067b7

FIX: Add missing search_documents method to LanceDBService - resolves enhanced search errors

Browse files
Files changed (1) hide show
  1. lancedb_service.py +31 -0
lancedb_service.py CHANGED
@@ -409,6 +409,37 @@ class LanceDBService:
409
  logger.error(f"❌ Error deleting document: {e}")
410
  return False
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  async def search_all_knowledge_bases(self, query: str, k: int = 4):
413
  """Search across all knowledge bases"""
414
  try:
 
409
  logger.error(f"❌ Error deleting document: {e}")
410
  return False
411
 
412
+ async def search_documents(self, query: str, limit: int = 5, knowledge_base: str = None):
413
+ """Search for documents with specific query and limit"""
414
+ try:
415
+ query_embedding = self.embedding_model.embed_query(query)
416
+
417
+ tbl = self.db.open_table("documents")
418
+
419
+ # Build search query
420
+ search_query = tbl.search(query_embedding).limit(limit)
421
+
422
+ # Add knowledge base filter if specified
423
+ if knowledge_base:
424
+ search_query = search_query.where(f"knowledge_base = '{knowledge_base}'")
425
+
426
+ results = search_query.to_list()
427
+
428
+ docs = []
429
+ for result in results:
430
+ docs.append({
431
+ 'content': result['content'],
432
+ 'metadata': json.loads(result['metadata']) if result['metadata'] else {},
433
+ 'score': result.get('_distance', 0.0),
434
+ 'knowledge_base': result.get('knowledge_base', 'unknown')
435
+ })
436
+
437
+ return docs
438
+
439
+ except Exception as e:
440
+ logger.error(f"❌ Error searching documents: {e}")
441
+ return []
442
+
443
  async def search_all_knowledge_bases(self, query: str, k: int = 4):
444
  """Search across all knowledge bases"""
445
  try: