66 lines
2.6 KiB
Python
66 lines
2.6 KiB
Python
"""
|
|
Test to verify Jina rerank configuration changes.
|
|
This shows what would happen when the server is restarted with Jina rerank enabled.
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
|
|
# Add LightRAG to path
|
|
sys.path.insert(0, 'LightRAG-main')
|
|
|
|
# Test the rerank module directly
|
|
try:
|
|
from lightrag.rerank import jina_rerank
|
|
print("✓ Jina rerank module imported successfully")
|
|
|
|
# Check what environment variables are needed
|
|
print("\nEnvironment variables needed for Jina rerank:")
|
|
print("1. JINA_API_KEY or RERANK_BINDING_API_KEY")
|
|
print("2. Optional: RERANK_MODEL (default: 'jina-reranker-v2-base-multilingual')")
|
|
print("3. Optional: RERANK_BINDING_HOST (default: 'https://api.jina.ai/v1/rerank')")
|
|
|
|
# Show current environment
|
|
print("\nCurrent environment variables:")
|
|
jina_key = os.getenv('JINA_API_KEY') or os.getenv('RERANK_BINDING_API_KEY')
|
|
if jina_key:
|
|
if jina_key == 'your-jina-api-key-here':
|
|
print("✗ JINA_API_KEY: Set to placeholder value (needs real API key)")
|
|
else:
|
|
print(f"✓ JINA_API_KEY: Set (length: {len(jina_key)} chars)")
|
|
else:
|
|
print("✗ JINA_API_KEY: Not set")
|
|
|
|
print(f"RERANK_MODEL: {os.getenv('RERANK_MODEL', 'Not set (will use default)')}")
|
|
print(f"RERANK_BINDING_HOST: {os.getenv('RERANK_BINDING_HOST', 'Not set (will use default)')}")
|
|
|
|
# Show server configuration changes
|
|
print("\n" + "="*50)
|
|
print("SERVER CONFIGURATION CHANGES MADE:")
|
|
print("1. Changed --rerank-binding from 'null' to 'jina'")
|
|
print("2. Added JINA_API_KEY and RERANK_BINDING_API_KEY environment variables")
|
|
print("3. Note: Need to restart server for changes to take effect")
|
|
|
|
# What happens when querying with enable_rerank=True
|
|
print("\n" + "="*50)
|
|
print("EXPECTED BEHAVIOR AFTER SERVER RESTART:")
|
|
print("1. Server config will show: rerank_binding='jina'")
|
|
print("2. Query with enable_rerank=True will call Jina AI API")
|
|
print("3. Without valid API key: Will get 401/403 error from Jina API")
|
|
print("4. With valid API key: Documents will be reranked by relevance")
|
|
|
|
except ImportError as e:
|
|
print(f"✗ Error importing: {e}")
|
|
except Exception as e:
|
|
print(f"✗ Error: {e}")
|
|
|
|
# Check start_server.py changes
|
|
print("\n" + "="*50)
|
|
print("MODIFIED start_server.py HIGHLIGHTS:")
|
|
with open('LightRAG-main/start_server.py', 'r') as f:
|
|
lines = f.readlines()
|
|
for i, line in enumerate(lines):
|
|
if 'rerank-binding' in line:
|
|
print(f"Line {i+1}: {line.strip()}")
|
|
if 'JINA_API_KEY' in line:
|
|
print(f"Line {i+1}: {line.strip()}") |