Add graph and vector search features

This commit is contained in:
2025-11-09 14:24:50 -05:00
parent 14d37f23e4
commit 40d4f41f6e
12 changed files with 2983 additions and 273 deletions

View File

@@ -20,13 +20,13 @@ from typing import Optional
try:
from dotenv import load_dotenv
import logging
_logger = logging.getLogger(__name__)
_logger = logging.getLogger(__name__)
_env_path = Path(__file__).parent / ".env"
if _env_path.exists():
_logger.info(f"Loading .env from: {_env_path}")
_logger.info("Loading .env from: %s", _env_path)
result = load_dotenv(_env_path, override=True)
_logger.info(f"load_dotenv result: {result}")
_logger.info("load_dotenv result: %s", result)
except ImportError:
pass # python-dotenv not installed
@@ -58,6 +58,11 @@ class AppConfig:
elastic: ElasticSettings
data: DataSettings
youtube: YoutubeSettings
qdrant_url: str
qdrant_collection: str
qdrant_vector_name: Optional[str]
qdrant_vector_size: int
qdrant_embed_model: str
def _env(name: str, default: Optional[str] = None) -> Optional[str]:
@@ -89,7 +94,16 @@ def load_config() -> AppConfig:
)
data = DataSettings(root=data_root)
youtube = YoutubeSettings(api_key=_env("YOUTUBE_API_KEY"))
return AppConfig(elastic=elastic, data=data, youtube=youtube)
return AppConfig(
elastic=elastic,
data=data,
youtube=youtube,
qdrant_url=_env("QDRANT_URL", "http://localhost:6333"),
qdrant_collection=_env("QDRANT_COLLECTION", "tlc_embeddings"),
qdrant_vector_name=_env("QDRANT_VECTOR_NAME"),
qdrant_vector_size=int(_env("QDRANT_VECTOR_SIZE", "1024")),
qdrant_embed_model=_env("QDRANT_EMBED_MODEL", "BAAI/bge-large-en-v1.5"),
)
CONFIG = load_config()