SankethHonavar's picture
Deploy LLM Medical Chatbot with FAISS
76b04ec
import os
from retriever import load_vector_store
from langgraph_graph import generate_answer
def medchat(query):
"""
Full MedMCQA pipeline.
1. Retrieve top matches
2. Prompt LLM with strict instruction to avoid hallucination
"""
retriever = load_vector_store()
matches = retriever.similarity_search(query, k=3)
context = "\n\n".join([match.page_content for match in matches])
prompt = f"""
You are a helpful medical assistant. Use only the dataset context below to answer.
Context:
{context}
Question: {query}
If you are unsure, say 'Sorry, I couldn't find an answer based on the dataset.'
"""
return generate_answer(prompt)
if __name__ == "__main__":
print("\n🩺 MedMCQA Chatbot")
print("Ask a medical question and get answers from MedMCQA dataset.\n")
while True:
user_q = input("Ask a medical question (or type 'exit'): ")
if user_q.lower() == "exit":
break
response = medchat(user_q)
print("\n🧠 Answer:", response, "\n")