#!/usr/bin/env python """Test chatbot response with increased token limit.""" from components.vector_store import VectorStore from components.embedder import HuggingFaceEmbedder from components.retriever import Retriever from components.llm_handler import LLMHandler from components.prompt_template import build_prompt from app.config import VECTOR_DB_PATH # Setup embedder = HuggingFaceEmbedder() vs = VectorStore(embedder=embedder, index_path=VECTOR_DB_PATH) vs.load() retriever = Retriever(vs, use_reranker=True) llm = LLMHandler() # Query query = 'Tell me about culture of Pakistan' docs = retriever.retrieve_documents(query) prompt = build_prompt(query, docs) print(f'\nšŸ” Query: "{query}"') print(f'šŸ“š Retrieved {len(docs)} chunks\n') print('=' * 80) print('šŸ“ RESPONSE:') print('=' * 80) answer = llm.generate(prompt) print(answer) print('=' * 80) print(f'\nāœ… Complete response generated ({len(answer)} chars)') # Check for complete sentences sentence_terminators = {'.', '!', '?'} ends_complete = answer.rstrip() and answer.rstrip()[-1] in sentence_terminators status = "āœ“ Complete sentence" if ends_complete else "⚠ Incomplete" print(f' Last character: "{answer.rstrip()[-1]}" — {status}\n')