Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

# Default target
help:
@echo "Knowledge ChromaDB Management"
@echo "Knowledge Vector Database Management"
@echo ""
@echo "Usage:"
@echo " make up - Start ChromaDB and embedding server"
@echo " make up - Start Qdrant and embedding server"
@echo " make down - Stop all services"
@echo " make logs - Tail service logs"
@echo " make status - Check service status"
Expand All @@ -16,18 +16,17 @@ help:

# Start services
up:
@echo "Starting ChromaDB and embedding server..."
@echo "Starting Qdrant and embedding server..."
@docker compose up -d
@echo "Waiting for services to be healthy..."
@sleep 5
@docker compose ps
@echo ""
@echo "Services ready!"
@echo " ChromaDB: http://localhost:8000"
@echo " Qdrant: http://localhost:6333"
@echo " Embeddings: http://localhost:8001"
@echo ""
@echo "Enable in .env:"
@echo " CHROMADB_ENABLED=true"
@echo " SEMANTIC_SEARCH_ENABLED=true"

# Stop services
Expand All @@ -43,7 +42,7 @@ status:
@docker compose ps
@echo ""
@echo "Health checks:"
@curl -sf http://localhost:8000/api/v1/heartbeat > /dev/null && echo " ChromaDB: OK" || echo " ChromaDB: NOT RUNNING"
@curl -sf http://localhost:6333/collections > /dev/null && echo " Qdrant: OK" || echo " Qdrant: NOT RUNNING"
@curl -sf http://localhost:8001/health > /dev/null && echo " Embeddings: OK" || echo " Embeddings: NOT RUNNING"

# Restart services
Expand Down
24 changes: 15 additions & 9 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
services:
chromadb:
image: chromadb/chroma:latest
container_name: knowledge-chromadb
qdrant:
image: qdrant/qdrant:latest
container_name: knowledge-qdrant
restart: unless-stopped
ports:
- "8000:8000"
- "6333:6333"
- "6334:6334"
volumes:
- chromadb_data:/data
- qdrant_storage:/qdrant/storage
environment:
- IS_PERSISTENT=TRUE
- ANONYMIZED_TELEMETRY=FALSE
- QDRANT__SERVICE__HTTP_PORT=6333
- QDRANT__SERVICE__GRPC_PORT=6334
healthcheck:
test: ["CMD", "bash", "-c", "echo > /dev/tcp/localhost/6333"]
interval: 30s
timeout: 10s
retries: 3

embedding-server:
build:
Expand All @@ -22,8 +28,8 @@ services:
volumes:
- embedding_cache:/root/.cache
depends_on:
- chromadb
- qdrant

volumes:
chromadb_data:
qdrant_storage:
embedding_cache:
10 changes: 0 additions & 10 deletions tests/Feature/AppServiceProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,6 @@
expect($service)->toBeInstanceOf(StubEmbeddingService::class);
});

it('registers EmbeddingService when provider is chromadb', function (): void {
config(['search.embedding_provider' => 'chromadb']);

app()->forgetInstance(EmbeddingServiceInterface::class);

$service = app(EmbeddingServiceInterface::class);

expect($service)->toBeInstanceOf(EmbeddingService::class);
});

it('registers EmbeddingService when provider is qdrant', function (): void {
config(['search.embedding_provider' => 'qdrant']);

Expand Down
Loading