added logging of RAG chunks for debugging
This commit is contained in:
@@ -22,9 +22,16 @@ class ChatRequest(BaseModel):
|
||||
message: str
|
||||
|
||||
|
||||
class RetrievedChunk(BaseModel):
|
||||
content: str
|
||||
source: str
|
||||
page: int | None
|
||||
|
||||
|
||||
class ChatResponse(BaseModel):
|
||||
answer: str
|
||||
error: str | None = None
|
||||
retrieved: list[RetrievedChunk] | None = None
|
||||
|
||||
|
||||
@app.get("/", response_class=HTMLResponse)
|
||||
@@ -42,8 +49,21 @@ def chat(request: ChatRequest):
|
||||
if not request.message or not request.message.strip():
|
||||
return ChatResponse(answer="", error="Message cannot be empty")
|
||||
try:
|
||||
answer = rag.query(request.message.strip())
|
||||
return ChatResponse(answer=answer)
|
||||
result = rag.query(request.message.strip())
|
||||
answer = result["answer"]
|
||||
retrieved = result.get("retrieved", [])
|
||||
|
||||
# Server-side console trace: log retrieved chunks before LLM answer
|
||||
if retrieved:
|
||||
print(f"\n[RAG] Retrieved {len(retrieved)} chunk(s) for query: {request.message[:80]!r}")
|
||||
for i, chunk in enumerate(retrieved):
|
||||
content = chunk.get("content", "")
|
||||
preview = (content[:1000] + "...") if len(content) > 1000 else content
|
||||
print(f" [{i + 1}] source={chunk.get('source', '')} page={chunk.get('page')} | {preview!r}")
|
||||
else:
|
||||
print(f"\n[RAG] Retrieved 0 chunks for query: {request.message[:80]!r}")
|
||||
|
||||
return ChatResponse(answer=answer, retrieved=retrieved)
|
||||
except Exception as e:
|
||||
return ChatResponse(answer="", error=str(e))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user