wuthomas's picture
new rag
34345fa
"""
Test script for the RAG-based Boston Schools Chatbot
This script provides a simple way to test the RAG functionality
by asking questions and showing both the retrieved documents
and the final model response.
"""
from src.chat import SchoolChatbot
import argparse
def test_rag_chatbot(query):
"""
Test the RAG-based chatbot with a specific query.
Args:
query (str): The question to ask the chatbot
"""
print(f"Initializing chatbot with RAG capability...")
chatbot = SchoolChatbot()
print("\n" + "="*50)
print(f"QUERY: {query}")
print("="*50)
# Get the retrieved documents
retrieved_docs = chatbot.rag_engine.retrieve(query, top_k=3)
print("\nRetrieved Documents:")
print("-"*50)
for i, doc in enumerate(retrieved_docs, 1):
print(f"{i}. {doc.school_name}")
print(f" {doc.content}")
print(f" Neighborhood: {doc.metadata.get('neighborhood', 'Unknown')}")
print(f" Grades: {doc.metadata.get('grades', 'Unknown')}")
print(f" Programs: {', '.join(doc.metadata.get('programs', []))}")
print()
# Get the chatbot's response
print("\nChatbot Response:")
print("-"*50)
response = chatbot.get_response(query)
print(response)
print("="*50)
def main():
parser = argparse.ArgumentParser(description="Test the RAG-based Boston Schools Chatbot")
parser.add_argument("--query", type=str,
default="My child is starting kindergarten and we live in Jamaica Plain. What are our options?",
help="The question to ask the chatbot")
args = parser.parse_args()
test_rag_chatbot(args.query)
if __name__ == "__main__":
main()