File size: 1,492 Bytes
7805140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
603ead8
7805140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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())