Skip to content

Commit 702e800

Browse files
committed
welcome agent logging
1 parent f1f7ab6 commit 702e800

3 files changed

Lines changed: 34 additions & 6 deletions

File tree

backend/agents/onboarding/agent.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ def _llm(prompt: str) -> str:
3939
def execute(payload: Dict[str, Any]) -> Tuple[Dict, Dict]:
4040
q = payload.get("input",{}).get("question","").strip()
4141
t0 = time.time()
42+
43+
print(f"🤖 Onboarding Agent - Question: '{q}'")
44+
4245
docs = retrieve(q, k=8)
46+
print(f"🔍 Retrieved {len(docs)} documents before filtering")
4347

4448
# Filter for relevant sources
4549
allowed_paths = ["policies/", "handbook.md"]
@@ -53,15 +57,28 @@ def execute(payload: Dict[str, Any]) -> Tuple[Dict, Dict]:
5357

5458
if not docs:
5559
ans = "I don't know from current context. Please check HR."
60+
print(f"❌ No relevant documents found - returning default response")
61+
print(f"📝 Agent Response: {ans}")
5662
return ({"answer": ans, "citations": ""}, {"latency_ms": int((time.time()-t0)*1000)})
5763

5864
context = "\n\n---\n\n".join(d.page_content for d in docs[:4])
65+
print(f"📚 Context length: {len(context)} characters")
66+
print(f"📚 Context preview: {context[:200]}...")
67+
5968
prompt = f"CONTEXT:\n{context}\n\nQUESTION:\n{q}\n\nANSWER:"
69+
print(f"🤖 Sending prompt to LLM (length: {len(prompt)} chars)")
70+
6071
answer = _llm(prompt)
72+
print(f"🤖 LLM Response: {answer}")
6173

6274
if "Sources:" not in answer:
6375
answer = answer.strip() + "\n\nSources:\n" + build_citations(docs[:4])
76+
print(f"📝 Added sources to response")
6477

6578
answer = redact(answer)
79+
print(f"📝 Final Agent Response: {answer}")
80+
6681
meta = {"citations": build_citations(docs[:4]), "latency_ms": int((time.time()-t0)*1000)}
82+
print(f"⏱️ Response time: {meta['latency_ms']}ms")
83+
6784
return ({"answer": answer, "citations": meta["citations"]}, meta)

backend/app.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,11 @@ def stream_response(text: str):
253253
@app.post("/agents/welcome/stream")
254254
def welcome_stream(req: StreamReq):
255255
"""Streaming endpoint for Welcome Agent - matches frontend expectations"""
256+
print(f"🌐 Welcome Stream Request - Message: '{req.msg}'")
257+
print(f"🌐 Request details - org_id: {req.org_id}, user_id: {req.user_id}, consent: {req.consent}")
258+
256259
if not req.consent:
260+
print("❌ Consent not provided - returning error")
257261
def error_stream():
258262
yield "Consent required to proceed."
259263
return StreamingResponse(error_stream(), media_type="text/plain")
@@ -267,11 +271,16 @@ def error_stream():
267271
}
268272

269273
try:
274+
print("🔄 Calling onboarding agent...")
270275
output, meta = execute_agent("onboarding", payload)
271276
answer = output.get("answer", "I couldn't generate a response.")
277+
print(f"✅ Onboarding agent response received (length: {len(answer)} chars)")
278+
print(f"📝 Final answer preview: {answer[:200]}...")
279+
272280
return StreamingResponse(stream_response(answer), media_type="text/plain")
273281
except Exception as e:
274-
error_msg = str(e) # Capture the error message
282+
error_msg = str(e)
283+
print(f"❌ Error in welcome stream: {error_msg}")
275284
def error_stream():
276285
yield f"Error: {error_msg}"
277286
return StreamingResponse(error_stream(), media_type="text/plain")

backend/rag.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ def retrieve(query: str, k: int = None):
104104
if k is None:
105105
k = int(os.getenv("RETRIEVAL_K", "4"))
106106

107+
print(f"🔍 RAG Retrieve - Query: '{query}', k={k}")
108+
107109
vs = get_vectorstore()
108110
if vs is None:
109111
print(f"⚠️ Vector store not available - returning empty results for query: '{query[:50]}...'")
@@ -122,22 +124,22 @@ def retrieve(query: str, k: int = None):
122124
try:
123125
retriever = vs.as_retriever(search_kwargs={"k": k})
124126
results = retriever.get_relevant_documents(query)
125-
print(f"🔍 Retrieved {len(results)} documents using retriever for query: '{query[:50]}...'")
127+
print(f" Retrieved {len(results)} documents using retriever")
126128
except Exception as retriever_error:
127129
print(f"⚠️ Retriever failed: {retriever_error}, trying similarity_search")
128130
results = vs.similarity_search(query, k=k)
129-
print(f"🔍 Retrieved {len(results)} documents using similarity_search for query: '{query[:50]}...'")
131+
print(f" Retrieved {len(results)} documents using similarity_search")
130132

131133
# Debug: Print source paths for debugging
132134
for i, doc in enumerate(results):
133135
source = doc.metadata.get("source", "unknown")
134-
print(f" Doc {i+1}: {source}")
136+
content_preview = doc.page_content[:100].replace('\n', ' ')
137+
print(f" 📄 Doc {i+1}: {source}")
138+
print(f" Content: {content_preview}...")
135139

136140
return results
137141
except Exception as e:
138142
print(f"❌ Vector store retrieval failed for query: '{query[:50]}...' - {e}")
139-
import traceback
140-
traceback.print_exc()
141143
return []
142144

143145
def get_document_count():

0 commit comments

Comments
 (0)