tipitaka / webapp /tipitaka-api /test_rag_query.py
dhammawatthumpra's picture
feat: complete turbovec search backend integration, ignore tvim file in git, and stabilize mobile UI transitions
603ead8
Raw
History Blame Contribute Delete
1.49 kB
import os
import sys
import asyncio
import logging
# Fix: ZMQ + CUDA conflict on Windows (STATUS_ACCESS_VIOLATION)
os.environ['CUDA_MODULE_LOADING'] = 'EAGER'
# Add project root to sys.path so we can import app
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from app.services.rag_service import RAGService
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
logger = logging.getLogger(__name__)
async def test_retrieval():
logger.info("Initializing RAGService...")
service = RAGService()
logger.info(f"Target turbovec index is: {service._tv_path}")
queries = [
"พระสุทินเสพเมถุนธรรมกับอดีตภรรยา 3 ครั้ง เพราะยังไม่มีสิกขาบท",
"พระวินัยบัญญัติเรื่องการเสพเมถุนของพระภิกษุมีโทษอย่างไร"
]
for i, q in enumerate(queries, 1):
logger.info(f"\n--- Query {i}: '{q}' ---")
try:
result = await service.query(q, n_results=3, threshold=0.1)
print("\nRetrieved Context:")
print(result)
print("-" * 60)
except Exception as e:
logger.error(f"Failed to query: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(test_retrieval())