24 lines
736 B
Python
24 lines
736 B
Python
# rag_core/client.py
|
|
import os
|
|
from typing import Optional
|
|
from qdrant_client import QdrantClient
|
|
|
|
QDRANT_URL = os.getenv("QDRANT_URL", "http://127.0.0.1:6333")
|
|
QDRANT_API_KEY = os.getenv("QDRANT_API_KEY")
|
|
|
|
def create_qdrant_client(
|
|
url: Optional[str] = None,
|
|
api_key: Optional[str] = None,
|
|
timeout: int = 120, # 索引构建需要较长超时
|
|
) -> QdrantClient:
|
|
effective_url = url or QDRANT_URL
|
|
effective_api_key = api_key or QDRANT_API_KEY
|
|
|
|
if not effective_url:
|
|
raise ValueError("Qdrant URL 未配置")
|
|
|
|
client_kwargs = {"url": effective_url, "timeout": timeout}
|
|
if effective_api_key:
|
|
client_kwargs["api_key"] = effective_api_key
|
|
|
|
return QdrantClient(**client_kwargs) |