Update .env loading and add API authentication to RAG evaluator
• Load .env from current directory • Support LIGHTRAG_API_KEY auth header • Override=False for env precedence • Add Bearer token to API requests • Enable per-instance .env configs
This commit is contained in:
parent
ad2d3c2cc0
commit
72db042667
2 changed files with 15 additions and 3 deletions
|
|
@ -50,6 +50,8 @@ OLLAMA_EMULATING_MODEL_TAG=latest
|
||||||
# JWT_ALGORITHM=HS256
|
# JWT_ALGORITHM=HS256
|
||||||
|
|
||||||
### API-Key to access LightRAG Server API
|
### API-Key to access LightRAG Server API
|
||||||
|
### Use this key in HTTP requests with the 'X-API-Key' header
|
||||||
|
### Example: curl -H "X-API-Key: your-secure-api-key-here" http://localhost:9621/query
|
||||||
# LIGHTRAG_API_KEY=your-secure-api-key-here
|
# LIGHTRAG_API_KEY=your-secure-api-key-here
|
||||||
# WHITELIST_PATHS=/health,/api/*
|
# WHITELIST_PATHS=/health,/api/*
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,10 @@ from lightrag.utils import logger
|
||||||
# Add parent directory to path
|
# Add parent directory to path
|
||||||
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
|
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
|
||||||
|
|
||||||
# Load .env from project root
|
# use the .env that is inside the current folder
|
||||||
project_root = Path(__file__).parent.parent.parent
|
# allows to use different .env file for each lightrag instance
|
||||||
load_dotenv(project_root / ".env")
|
# the OS environment variables take precedence over the .env file
|
||||||
|
load_dotenv(dotenv_path=".env", override=False)
|
||||||
|
|
||||||
# Conditional imports - will raise ImportError if dependencies not installed
|
# Conditional imports - will raise ImportError if dependencies not installed
|
||||||
try:
|
try:
|
||||||
|
|
@ -165,10 +166,19 @@ class RAGEvaluator:
|
||||||
"top_k": 10,
|
"top_k": 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get API key from environment for authentication
|
||||||
|
api_key = os.getenv("LIGHTRAG_API_KEY")
|
||||||
|
|
||||||
|
# Prepare headers with optional authentication
|
||||||
|
headers = {}
|
||||||
|
if api_key:
|
||||||
|
headers["X-API-Key"] = api_key
|
||||||
|
|
||||||
# Single optimized API call - gets both answer AND chunk content
|
# Single optimized API call - gets both answer AND chunk content
|
||||||
response = await client.post(
|
response = await client.post(
|
||||||
f"{self.rag_api_url}/query",
|
f"{self.rag_api_url}/query",
|
||||||
json=payload,
|
json=payload,
|
||||||
|
headers=headers if headers else None,
|
||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
result = response.json()
|
result = response.json()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue