Skip to content

v0.9.20: OSS Embedding Support

Choose a tag to compare

@maximilien maximilien released this 11 Feb 19:48
· 2 commits to main since this release

🚀 weave-mcp v0.9.20: OSS Embedding Support

This release integrates weave-cli v0.9.20 features, focusing on Phase 0: OSS Embedding Support - enabling cost-effective, local embedding generation with no API keys required.

✨ New Features

🎯 3 New MCP Tools

1. list_embedding_models

Discover all available embedding models with metadata:

  • 16+ models across 5 providers:
    • OpenAI (text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002)
    • Ollama (nomic-embed-text, mxbai-embed-large, snowflake-arctic-embed)
    • sentence-transformers (all-mpnet-base-v2, all-minilm-l6-v2, multi-qa-mpnet-base-dot-v1, and more)
    • Cohere (embed-english-v3.0, embed-multilingual-v3.0)
    • Voyage (voyage-2, voyage-large-2)
  • Filter by provider or OSS status
  • Shows dimensions, max tokens, and provider info

2. reembed_collection

Switch embedding models 20x faster than re-ingestion:

  • Re-generates embeddings from existing document chunks
  • No need to re-ingest documents
  • Supports batch processing for efficiency
  • Works with all supported providers (OpenAI, Ollama, sentence-transformers)
  • Validated: +11% quality improvement, $240/year savings per million docs

3. check_embedding_provider_availability

Verify provider configuration before use:

  • Checks if API keys are configured (OpenAI)
  • Tests local services (Ollama, sentence-transformers)
  • Validates connectivity and authentication

🎁 Key Benefits

  • 💰 Cost Savings: Use free OSS models instead of paid APIs
  • 🔒 Privacy: 100% local embedding generation (no data sent to third parties)
  • ⚡ Performance: 20x faster model switching via re-embedding
  • 🎯 Quality: Choose the best model for your use case
  • 🔄 Flexibility: Easy to experiment with different models

📦 Dependencies

  • Updated weave-cli from v0.9.15 to v0.9.20
  • Added support for:
    • embeddings package (model registry with auto-dimension detection)
    • reembedding package (efficient embedding regeneration)
    • reembedding/providers package (OpenAI, Ollama, sentence-transformers)

🔧 Technical Details

  • Model Registry: Auto-detects dimensions for 16+ models
  • Provider Factory: Unified interface for all embedding providers
  • Batch Processing: Efficient re-embedding with configurable batch sizes
  • Error Handling: Graceful fallbacks and detailed error messages
  • Metrics: All new tools instrumented with Prometheus metrics

📊 Production Validation

Results from Client0 validation (documented in weave-cli):

  • +11% quality improvement with sentence-transformers vs OpenAI
  • $240/year savings per million documents
  • 20x faster model switching (minutes vs hours)

🚀 Usage Examples

List all OSS models:

```json
{
"tool": "list_embedding_models",
"arguments": {
"oss_only": true
}
}
```

Re-embed a collection:

```json
{
"tool": "reembed_collection",
"arguments": {
"collection": "articles",
"new_model": "sentence-transformers/all-mpnet-base-v2",
"batch_size": 100
}
}
```

Check if Ollama is available:

```json
{
"tool": "check_embedding_provider_availability",
"arguments": {
"provider": "ollama"
}
}
```

📝 What's Next (Optional Enhancements)

Future releases may include:

  • Update create_collection to support embedding_model parameter
  • Auto-detect collection embedding model in query/search tools

🙏 Credits

Built with weave-cli v0.9.20


🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com