The Document class previously allowed multiple media entries while also having a text field, leading to ambiguity in content handling. This change enforces a clear separation between text and media documents to prevent content type confusion and simplify document processing. A Document now must contain either text content or a single media entry, but never both. This aligns with the class's primary use in ETL pipelines where clear content type boundaries are essential for proper embedding generation and vector database storage. Additional architectural changes: - Document now implements a cleaner API by removing deprecated methods - Removed MediaContent interface implementation from Document class - Document.getMedia() now returns a single Media object instead of Collection - Removed EMPTY_TEXT constant in favor of proper null handling - Constructor signatures simplified and streamlined - Builder pattern improved to enforce single content type constraint The breaking changes include: - Media is now a single entry instead of a collection - Content field renamed to text for clarity - Removed support for mixed content types - Simplified builder API to prevent ambiguous construction Prefer using text-related methods over deprecated content methods to better reflect the actual content type being handled and improve API clarity.
Qdrant Vector Store
Run locally
Accessing the Web UI
First, run the Docker container:
docker run -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage:z \
qdrant/qdrant
Security: Adding API Key to Qdrant Container
To enhance security, you can add an API key to your Qdrant container using the environment variable.
-e QDRANT__SERVICE__API_KEY=<your_generated_api_key_here>
This ensures that only authorized users with the correct API key can access the Qdrant service.
The GUI is available at http://localhost:6333/dashboard