Ventahana commited on
Commit
d775e08
·
verified ·
1 Parent(s): feb1f9c

Update retriever.py

Browse files
Files changed (1) hide show
  1. retriever.py +30 -12
retriever.py CHANGED
@@ -38,25 +38,43 @@ class GuestInfoRetrieverTool(Tool):
38
  for guest in guest_dataset
39
  ]
40
 
41
- # Create retriever
42
- self.retriever = BM25Retriever.from_documents(self.docs)
43
- print(" Guest retriever ready")
44
 
45
  def forward(self, query: str):
46
- print(f" Searching guest database for: '{query}'")
47
 
48
  # Safety check
49
  if self.retriever is None:
50
  return "ERROR: Guest database not initialized."
51
 
52
- results = self.retriever.get_relevant_documents(query)
53
-
54
- if results:
55
- print(f" Found {len(results)} matches")
56
- return "\n\n".join([doc.page_content for doc in results[:3]])
57
- else:
58
- print(" No matches found")
59
- return "No matching guest information found."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
 
62
  def load_guest_dataset():
 
38
  for guest in guest_dataset
39
  ]
40
 
41
+ # Create retriever with k parameter for better results
42
+ self.retriever = BM25Retriever.from_documents(self.docs, k=10)
43
+ print(" Guest retriever ready")
44
 
45
  def forward(self, query: str):
46
+ print(f"🔍 Searching guest database for: '{query}'")
47
 
48
  # Safety check
49
  if self.retriever is None:
50
  return "ERROR: Guest database not initialized."
51
 
52
+ try:
53
+ # Use invoke() instead of get_relevant_documents()
54
+ results = self.retriever.invoke(query)
55
+
56
+ if results:
57
+ print(f"✅ Found {len(results)} matches")
58
+ # Return more results
59
+ return "\n\n".join([doc.page_content for doc in results[:5]])
60
+ else:
61
+ print("❌ No matches found")
62
+ return "No matching guest information found."
63
+
64
+ except AttributeError:
65
+ # Fallback for older LangChain versions
66
+ try:
67
+ results = self.retriever.get_relevant_documents(query)
68
+ if results:
69
+ print(f"✅ Found {len(results)} matches (using old method)")
70
+ return "\n\n".join([doc.page_content for doc in results[:5]])
71
+ else:
72
+ print("❌ No matches found")
73
+ return "No matching guest information found."
74
+ except Exception as e:
75
+ return f"ERROR: Failed to retrieve documents - {str(e)}"
76
+ except Exception as e:
77
+ return f"ERROR: {str(e)}"
78
 
79
 
80
  def load_guest_dataset():