Skip to content

Commit f1f7ab6

Browse files
committed
debugging rag pipeline
1 parent dc2464a commit f1f7ab6

2 files changed

Lines changed: 41 additions & 4 deletions

File tree

backend/agents/onboarding/agent.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,14 @@ def execute(payload: Dict[str, Any]) -> Tuple[Dict, Dict]:
4242
docs = retrieve(q, k=8)
4343

4444
# Filter for relevant sources
45-
allowed_paths = ["data/policies", "data/handbook.md"]
45+
allowed_paths = ["policies/", "handbook.md"]
4646
docs = [d for d in docs if any(p in d.metadata.get("source", "") for p in allowed_paths)]
47+
48+
# Debug: Print filtered results
49+
print(f"🔍 After filtering: {len(docs)} documents")
50+
for i, doc in enumerate(docs):
51+
source = doc.metadata.get("source", "unknown")
52+
print(f" Filtered Doc {i+1}: {source}")
4753

4854
if not docs:
4955
ans = "I don't know from current context. Please check HR."

backend/rag.py

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,15 @@ def _get_vectorstore():
5050
global _vectorstore, _vector_ok
5151

5252
if _vectorstore is None:
53+
print("🔄 Initializing vector store...")
5354
embeddings = _get_embeddings()
5455
_vectorstore = init_vector_store(embeddings)
5556
_vector_ok = _vectorstore is not None
57+
58+
if _vector_ok:
59+
print("✅ Vector store initialized successfully")
60+
else:
61+
print("❌ Vector store initialization failed")
5662

5763
return _vectorstore
5864

@@ -104,12 +110,34 @@ def retrieve(query: str, k: int = None):
104110
return []
105111

106112
try:
107-
# Use similarity_search directly
108-
results = vs.similarity_search(query, k=k)
109-
print(f"🔍 Retrieved {len(results)} documents for query: '{query[:50]}...'")
113+
# Debug: Check if embeddings are available
114+
if hasattr(vs, 'embeddings') and vs.embeddings is not None:
115+
print("✅ Vector store has embeddings available")
116+
elif hasattr(vs, 'embedding_function') and vs.embedding_function is not None:
117+
print("✅ Vector store has embedding_function available")
118+
else:
119+
print("⚠️ Vector store has no embeddings available!")
120+
121+
# Try using retriever first, fallback to similarity_search
122+
try:
123+
retriever = vs.as_retriever(search_kwargs={"k": k})
124+
results = retriever.get_relevant_documents(query)
125+
print(f"🔍 Retrieved {len(results)} documents using retriever for query: '{query[:50]}...'")
126+
except Exception as retriever_error:
127+
print(f"⚠️ Retriever failed: {retriever_error}, trying similarity_search")
128+
results = vs.similarity_search(query, k=k)
129+
print(f"🔍 Retrieved {len(results)} documents using similarity_search for query: '{query[:50]}...'")
130+
131+
# Debug: Print source paths for debugging
132+
for i, doc in enumerate(results):
133+
source = doc.metadata.get("source", "unknown")
134+
print(f" Doc {i+1}: {source}")
135+
110136
return results
111137
except Exception as e:
112138
print(f"❌ Vector store retrieval failed for query: '{query[:50]}...' - {e}")
139+
import traceback
140+
traceback.print_exc()
113141
return []
114142

115143
def get_document_count():
@@ -180,6 +208,7 @@ def initialize_vectorstore_with_auto_ingest():
180208
"""Initialize vector store with auto-ingestion if enabled and store is empty."""
181209
# Check if auto-ingest is enabled
182210
auto_ingest = os.getenv("AUTO_INGEST", "0").strip() == "1"
211+
print(f"🔍 Auto-ingest enabled: {auto_ingest}")
183212

184213
# Initialize vector store
185214
embeddings = _get_embeddings()
@@ -202,6 +231,8 @@ def initialize_vectorstore_with_auto_ingest():
202231
print(f"Vector doc count: {new_count}")
203232
else:
204233
print("⚠️ Auto-ingest failed, continuing with empty store")
234+
elif n > 0:
235+
print(f"✅ Vector store already has {n} documents, skipping auto-ingest")
205236

206237
def is_vectorstore_available():
207238
"""Check if vector store is available and working."""

0 commit comments

Comments
 (0)