QDrant Loader Core
Shared core library for the QDrant Loader ecosystem. It provides a providerβagnostic LLM layer (embeddings and chat), configuration mapping, safe logging, and normalized error handling used by the CLI and MCP Server packages.
For provider, configuration, and architecture details, use the documentation links below.
π― What It Provides
- Provider-agnostic LLM facade for OpenAI, Azure OpenAI, OpenAI-compatible endpoints, and Ollama
- Unified async APIs for embeddings and chat clients
- Typed settings and mapping:
LLMSettings.from_global_config(...)supports the newglobal.llmschema and maps legacy fields with deprecation warnings - Structured logging with redaction:
LoggingConfig.setup(...)masks secrets and reduces noisy logs - Normalized errors: consistent exceptions across providers (
TimeoutError,RateLimitedError,InvalidRequestError,AuthError,ServerError) - Optional dependencies via extras:
openai,ollama
π¦ Installation
pip install qdrant-loader-core
With extras:
pip install "qdrant-loader-core[openai]"
pip install "qdrant-loader-core[ollama]"
π Logging
Use built-in structured logging:
from qdrant_loader_core.logging import LoggingConfig
LoggingConfig.setup(level="INFO", format="console", file=None)
logger = LoggingConfig.get_logger(__name__)
logger.info("LLM ready", provider=settings.provider)
π Notes
- Secrets (keys/tokens) are masked in both stdlib and structlog output
- Noisy thirdβparty logs are toned down; Qdrant version checks are filtered
- For MCP integration, set
MCP_DISABLE_CONSOLE_LOGGING=trueto disable console output
β Error Handling
Catch provider-normalized exceptions from qdrant_loader_core.llm.errors:
TimeoutErrorβ request timed outRateLimitedErrorβ rate limit exceededInvalidRequestErrorβ bad parameters or unsupported operationAuthErrorβ authentication/authorization failedServerErrorβ transport/server failures
π Documentation
- Getting Started - Quick start and core concepts
- Monorepo overview - Project structure, packages, and high-level navigation across the repository.
- Quick start - Fast setup path from install to first successful ingestion.
- User Guides - Detailed usage instructions
- Developer hub - Developer guides for architecture, testing, deployment, and contribution workflows.
- Architecture hub - System design, component interactions, and core technical decisions.
- Basic Configuration - Getting started with configuration
π Support
- Issues - Bug reports and feature requests
- Discussions - Community Q&A
π€ Contributing
See CONTRIBUTING - Contribution guidelines, development standards, and pull request process.
π License
This project is licensed under the GNU GPLv3 - see the LICENSE file for details.
Ready to get started? Check out our Quick Start Guide or browse the complete documentation.