27 lines
688 B
Python
27 lines
688 B
Python
# rag_core/client.py
|
|
import os
|
|
from .config import QDRANT_URL, QDRANT_API_KEY
|
|
from typing import Optional
|
|
from qdrant_client import QdrantClient
|
|
|
|
|
|
|
|
def create_qdrant_client(
|
|
url: Optional[str] = None,
|
|
api_key: Optional[str] = None,
|
|
timeout: int = 300, # 索引构建需要较长超时
|
|
) -> 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) |