Date: 2026-02-10 Version: v0.9.19 Status: ✅ Production Ready
Weave CLI v0.9.19 is production ready and ready for active use. All core features are implemented, tested, and documented, including the newly released OSS embedding provider support for cost-effective, high-quality vector search.
Key Achievements:
- 🎯 100% of planned features implemented
- ✅ 10 vector databases + Mock fully supported
- 🆕 OSS Embedding Providers (v0.9.19+): sentence-transformers, Ollama
- 🚀 Fast Re-embedding: 20x faster model switching without re-ingestion
- 🤖 AI-powered schema and chunking suggestions
- 🔌 Full MCP server integration (23 tools)
- 📊 Comprehensive testing (38+ tests, 100% passing)
- 📚 Complete documentation for users and developers
- Collection Management - Create, list, delete, query collections
- Document Operations - CRUD operations across all VDBs
- Batch Processing - Bulk import with progress tracking
- Statistics - Collection and document statistics
- Search - Semantic search with multiple algorithms
- Configuration - YAML + environment variable support
- REPL Mode - Interactive exploration and queries
- Schema Suggestion - AI analyzes documents and suggests optimal schemas
- Chunking Recommendations - AI provides chunking strategies
- Configurable Agents - weave-agents.yaml for customization
- Config Command -
weave config agentsfor easy setup - MCP Integration - AI tools accessible via MCP API
Production VDBs (10):
- ✅ Weaviate (Cloud + Local)
- ✅ Supabase (PostgreSQL pgvector)
- ✅ MongoDB Atlas (Vector Search)
- ✅ Milvus (Local + Cloud)
- ✅ Chroma (Local + Cloud, macOS only)
- ✅ Qdrant (Local + Cloud)
- ✅ Neo4j (Local + Aura Cloud)
- ✅ Pinecone (Cloud only)
- ✅ OpenSearch (Beta)
- ✅ Elasticsearch (Beta)
Testing VDB:
- ✅ Mock (for testing and development)
- Unit Tests - Core functionality covered
- Integration Tests - End-to-end workflows tested
- AI Feature Tests - Schema and chunking agents tested
- CI/CD - Build, test, lint all passing
- Test Coverage - 38+ tests, 100% passing
- Linting - Go, YAML, Markdown all passing
- README.md - Project overview and quick start
- USER_GUIDE.md - End-to-end user workflows
- ARCHITECTURE.md - System design and components
- VDB_SUPPORT_MATRIX.md - Feature comparison across VDBs
- CHANGELOG.md - Complete version history
- Integration Guides - GitHub Actions, Argo, Airflow
- MCP Documentation - API reference and examples
- Agent Configuration - configs/README.md
- CI/CD Pipelines - GitHub Actions examples
- Workflow Orchestration - Argo Workflows examples
- Data Pipelines - Apache Airflow examples
- MCP Server - v0.9.0 with 23 tools
- Output Formats - JSON, YAML, text standardization
PDF Processing Limited to Weaviate✅ FIXED (2026-01-06)- Status: PDF processing now works for all 10 VDBs
- Tested: Weaviate, MongoDB, Supabase all working
- Implementation: Generic PDF processor using existing pdf package
- Details: src/cmd/utils/document.go:455-518 (processPDFFileGeneric)
-
Some Agent Types Not Fully Implemented
- Available: schema_agent, chunking_agent, query_agent, planning_agent, eval_agent, report_agent
- Missing: search_agent, rag_agent (from issue #14)
- Impact: Configuration exists but agents not used in commands yet
- Fix Effort: 1-2 hours per agent
-
Command Help Could Be Enhanced (Issue #12)
- Request: Add tips and examples to help output
- Fix Effort: 2-3 hours
-
Commands Could Be Streamlined (Issue #11)
- Request: Add shortcuts and aliases
- Fix Effort: 3-4 hours
- Videos Need Updates (Issue #17)
- PDF Version Testing Incomplete (Issue #8)
Verified Compatible (tested 2026-01-06):
# Health check
curl http://localhost:8030/health
{"status":"healthy","database":{"status":"healthy","type":"weaviate-cloud"}}
# Tool count
curl http://localhost:8030/mcp/tools/list | jq '.tools | length'
23
# AI tools tested
- suggest_schema: ✅ Working (85% confidence)
- suggest_chunking: ✅ Working (85% confidence)MCP Tools Available (23 total):
- Collection Management: 7 tools
- Document Management: 11 tools
- Query Operations: 2 tools
- AI-Powered Tools: 2 tools
- Health & Monitoring: 1 tool
- Embedding Management: 2 tools
New in v0.9.0:
- get_collection_stats
- show_document_by_name
- delete_document_by_name
- delete_all_documents
- execute_query (cross-collection search)
- HTTPS/TLS support with auto-redirect
Open-source embedding support enables cost-free, high-quality embeddings without external API dependencies. Production-validated with Client0's 426-document collection showing 11% quality improvement over OpenAI with 100% cost savings.
Supported Providers:
- OpenAI (text-embedding-3-small/large) - Baseline quality, $0.02/1M tokens
- sentence-transformers (all-mpnet-base-v2, all-MiniLM-L6-v2) - 92-95% OpenAI quality, $0
- Ollama (nomic-embed-text, mxbai-embed-large) - 90-93% OpenAI quality, $0, local
Installation:
# Install Python 3.8+
python3 --version
# Install sentence-transformers
pip3 install sentence-transformers
# Verify installation
python3 -c "import sentence_transformers; print('OK')"System Requirements:
- CPU Mode: 4GB+ RAM, works on any system
- GPU Mode (optional): CUDA-enabled GPU for 3-5x speedup
# Enable GPU (if available) export CUDA_VISIBLE_DEVICES=0
Model Selection:
all-mpnet-base-v2(768 dims, 420MB): Highest quality, slightly slowerall-MiniLM-L6-v2(384 dims, 80MB): Fastest, good quality, smaller vectors
Installation:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull embedding model
ollama pull nomic-embed-text
# Verify
ollama list | grep nomic-embed-textModels:
nomic-embed-text(768 dims): General purpose, balancedmxbai-embed-large(1024 dims): Higher quality, larger
Memory Requirements:
- ~2GB RAM per model
- Ollama handles concurrent requests automatically
sentence-transformers:
-
Batch Size: Larger batches (100-500) for better throughput
weave collection re-embed MyCollection \ --new-embedding sentence-transformers/all-mpnet-base-v2 \ --output MyCollection_OSS \ --batch-size 200 # Optimal for most systems -
CPU vs GPU:
- CPU: 150+ docs/min (sufficient for most use cases)
- GPU: 450+ docs/min (set CUDA_VISIBLE_DEVICES)
-
Model Choice:
- Production:
all-mpnet-base-v2(best quality) - Development/Testing:
all-MiniLM-L6-v2(faster)
- Production:
Ollama:
- Concurrent Requests: Ollama handles automatically, no tuning needed
- Network: Runs on localhost:11434 (no external dependencies)
- Memory: Pre-allocates model memory on first request
Example: 1 million documents, monthly re-embedding
| Provider | Cost/Month | Speed | Quality | Annual Cost |
|---|---|---|---|---|
| OpenAI text-embedding-3-small | $20 | 200 docs/min | 100% (baseline) | $240 |
| sentence-transformers all-mpnet-base-v2 | $0 | 150 docs/min | 92-95% | $0 |
| Ollama nomic-embed-text | $0 | 180 docs/min | 90-93% | $0 |
Annual Savings: $240/year per million documents
Client0 Production Results (426 documents):
- Quality: 0.673 avg (OSS) vs 0.606 avg (OpenAI) = +11% improvement
- Speed: 308 docs/min (85 seconds for 426 docs)
- Cost: $0 vs $0.008 = 100% savings
- Dimensions: 768 (OSS) vs 1536 (OpenAI) = 50% smaller vectors
# List available models
weave embeddings list
# Re-embed small sample (100 docs) for quality testing
weave collection re-embed MyCollection \
--new-embedding sentence-transformers/all-mpnet-base-v2 \
--output MyCollection_OSS_Test \
--batch-size 100
# Query both collections and compare results
weave query search MyCollection "test query" --top-k 5
weave query search MyCollection_OSS_Test "test query" --top-k 5
# Compare quality scores manually or generate report# Re-embed full collection
weave collection re-embed MyCollection \
--new-embedding sentence-transformers/all-mpnet-base-v2 \
--output MyCollection_OSS \
--batch-size 200
# Expected output:
# 🔍 Validating source collection 'MyCollection'...
# ✓ Source collection 'MyCollection' exists
# 📐 Detecting dimensions for embedding model...
# ✓ Auto-detected: 768 dimensions for sentence-transformers/all-mpnet-base-v2 (OSS)
# 📊 Counting documents in 'MyCollection'...
# ✓ Found 426 documents to re-embed
# 🔨 Creating output collection 'MyCollection_OSS' with 768 dimensions...
# ✓ Created collection 'MyCollection_OSS'
# 🚀 Initializing re-embedding pipeline (batch size: 200)...
# ✓ Pipeline initialized
#
# 📈 Re-embedding 426 documents from 'MyCollection' to 'MyCollection_OSS'...
# [========================================] 426/426 (100%)
#
# 🎉 Successfully re-embedded 426 documents to 'MyCollection_OSS'
# ✓ New embedding model: sentence-transformers/all-mpnet-base-v2 (768 dimensions)
# ✓ Output collection contains 426 documents# Queries automatically use collection's embedding model
weave query search MyCollection_OSS "vintage camera" --top-k 5
# Behind the scenes:
# 1. Retrieves collection schema (vectorizer=sentence-transformers/all-mpnet-base-v2)
# 2. Creates sentence-transformers provider
# 3. Generates query embedding with 768 dimensions
# 4. Searches with matching dimensions ✅Gradual Migration (Recommended):
# Keep original collection (for rollback)
# MyCollection (OpenAI, 1536 dims)
# Deploy OSS collection alongside
# MyCollection_OSS (sentence-transformers, 768 dims)
# A/B test traffic:
# - 10% to MyCollection_OSS (monitor quality)
# - 90% to MyCollection (baseline)
# Gradually shift traffic based on quality metrics
# - Week 1: 10% OSS
# - Week 2: 50% OSS
# - Week 3: 100% OSS (if quality acceptable)
# Archive original collection after successful cutover-
Embedding Generation Time (per document)
- OpenAI: ~100ms
- sentence-transformers: ~400ms (CPU), ~150ms (GPU)
- Ollama: ~300ms
-
Batch Processing Throughput (docs/min)
- Target: 150+ docs/min
- Alert if < 100 docs/min
-
Provider Availability
- sentence-transformers: Python import success
- Ollama: HTTP 200 on localhost:11434/api/tags
-
Error Rate by Provider
- Target: <0.1% failures
- Alert on provider-specific errors
-
Search Quality (relevance scores)
- Track average relevance score over time
- Alert if >10% drop vs baseline
# Check sentence-transformers availability
python3 -c "from sentence_transformers import SentenceTransformer; print('Available')"
# Check Ollama availability
curl -s http://localhost:11434/api/tags | jq '.models[].name'
# Test embedding generation
weave embeddings list # Shows available models-
Keep Original Collection (don't delete!)
# Original collection: MyCollection (OpenAI, 1536 dims) # New collection: MyCollection_OSS (sentence-transformers, 768 dims) # Both exist simultaneously
-
Document Baseline Metrics
# Capture baseline quality scores weave query search MyCollection "test query 1" --top-k 10 > baseline_query1.txt weave query search MyCollection "test query 2" --top-k 10 > baseline_query2.txt
-
Test OSS Collection
# Same queries on OSS collection weave query search MyCollection_OSS "test query 1" --top-k 10 > oss_query1.txt weave query search MyCollection_OSS "test query 2" --top-k 10 > oss_query2.txt # Compare results (manual or automated) diff baseline_query1.txt oss_query1.txt
If OSS quality is insufficient:
# Instant rollback: Just switch back to original collection name
# Original collection unchanged, zero data loss
# Example: If using config to specify collection
# Change: collection_name = "MyCollection_OSS"
# Back to: collection_name = "MyCollection"
# Or delete OSS collection if not needed
weave cols delete MyCollection_OSSRollback Time: Instant (config change only) Data Loss: None (original collection preserved)
-
Prerequisites Installed
- Python 3.8+ available
- sentence-transformers installed (
pip3 install sentence-transformers) - Ollama installed (optional)
-
Quality Testing Complete
- Small sample re-embedded (100 docs)
- Quality comparison report generated
- Relevance scores acceptable (>85% of baseline)
-
Performance Validated
- Throughput meets requirements (>100 docs/min)
- Memory usage acceptable (<8GB typical)
- Provider availability confirmed
-
Production Setup
- Original collection backed up
- Full re-embedding completed
- Query tests passed (dimension matching works)
- Monitoring dashboards configured
-
Rollback Plan Ready
- Rollback procedure documented
- Team trained on rollback steps
- Original collection name preserved
-
Team Training
- Team knows OSS providers available
- Query behavior understood (auto-matching)
- Troubleshooting guide reviewed
# Solution: Install sentence-transformers
pip3 install sentence-transformers
# Verify installation
python3 -c "from sentence_transformers import SentenceTransformer; print('OK')"# Solution: Start Ollama service
ollama serve # Runs in foreground
# OR
brew services start ollama # macOS, runs in background
# Verify
curl http://localhost:11434/api/tags# Solution 1: Increase batch size
--batch-size 200 # Default is 100
# Solution 2: Use GPU (if available)
export CUDA_VISIBLE_DEVICES=0
# Solution 3: Use faster model
--new-embedding sentence-transformers/all-MiniLM-L6-v2 # 2-3x faster# Solution: Use highest quality model
--new-embedding sentence-transformers/all-mpnet-base-v2
# Or try Ollama's larger model
--new-embedding mxbai-embed-large # 1024 dims- Start Small: Test on 100-doc sample before full re-embedding
- Monitor Quality: Track relevance scores continuously
- Keep Baselines: Preserve original collections for comparison
- Gradual Rollout: A/B test before 100% cutover
- Document Everything: Record quality metrics, performance, costs
- Plan Rollback: Have instant rollback strategy ready
- Train Team: Ensure team understands OSS workflow
# Clone repository
git clone https://github.com/maximilien/weave-cli.git
cd weave-cli
# Build
./build.sh
# Verify installation
./bin/weave --version# Create configuration files
weave config create
# Create AI agent configuration
weave config agents
# Edit configuration
# - config.yaml: Vector database settings
# - .env: Environment variables
# - weave-agents.yaml: AI agent customization# Analyze your documents with AI
weave schema suggest ./docs --collection MyDocs
# Get chunking recommendations
weave chunking suggest ./docs
# Create collection
weave cols create MyDocs --text
# Import documents
weave batch import ./docs --collection MyDocs
# Query documents
weave query "search term" --collection MyDocs --limit 5
# Get statistics
weave stats --collection MyDocs# Start MCP server
cd /path/to/weave-mcp
./start.sh http
# Or use stdio mode for Claude Desktop/Cursor
./start.sh stdio- Use Environment Variables for sensitive data (API keys)
- Version Control config.yaml templates (not actual credentials)
- Test Configurations in staging before production
- Document Custom Settings for your team
- Enable Logging for debugging (--verbose flag)
- Monitor API Quotas for vector databases
- Track Performance with --output json for metrics
- Set Timeouts appropriate for your data volume
- Rotate API Keys regularly
- Use Read-Only Keys when possible
- Limit Network Access to vector database endpoints
- Review Metadata before ingestion (no PII)
- Use Batch Commands for large datasets
- Tune Chunk Sizes based on AI recommendations
- Enable Caching for repeated operations
- Monitor Memory Usage during large imports
- Documentation: Start with README.md and USER_GUIDE.md
- Examples: Check docs/examples/ for real-world use cases
- Issues: Report bugs at https://github.com/maximilien/weave-cli/issues
- Troubleshooting: See docs/VDB_SUPPORT.md for VDB-specific issues
When reporting issues, include:
- Weave CLI version (
weave --version) - Vector database type and version
- Command that failed (with --verbose output)
- Error messages and stack traces
- Sample data (if not sensitive)
Contributions welcome! Focus areas:
- Additional VDB implementations
- Performance optimizations
- Documentation improvements
- Bug fixes and tests
- Real-world use case examples
- ✅ 7/7 planned features (100%)
- ✅ 10 production VDBs + Mock
- ✅ AI schema and chunking agents
- ✅ MCP server with 23 tools
- ✅ CI/CD integration examples
- ✅ 38+ tests passing (100%)
- ✅ All linting passing
- ✅ CI/CD green across all checks
- ✅ 6,000+ lines of production code
- ✅ User guide complete
- ✅ Integration guides (3 platforms)
- ✅ API reference complete
- ✅ 10 production examples
Deductions:
- -2 points: Some agent types not fully implemented
Critical (3-4 hours):
- Fix PDF processing for all VDBs (2-3h)
- Full code audit (1-2h)
Important (4-6 hours):
- Implement remaining agent types (2-3h)
- Add command help tips (2-3h)
Nice to Have (3-5 hours):
- Update videos/presentations (2-3h)
- Streamline commands (1-2h)
v1.0 Criteria:
- All VDBs support PDF
- All planned agent types implemented
- Command help enhanced
- Videos updated
- Full audit complete
- No critical issues open
Estimated Release: Q1 2026 (pending real-world feedback)
Weave CLI v0.8.3 is production ready for real-world use. While some enhancements remain for v1.0, the core functionality is stable, tested, and documented.
Recommendation: Start using weave-cli and weave-mcp for actual projects. Report issues and feedback to guide future development priorities.
Contact: https://github.com/maximilien/weave-cli
Document Version: 1.0 Last Updated: 2026-01-06 Next Review: Based on production feedback