yusyus
baccbf9d81
feat(weaviate): Add Weaviate vector database adaptor (Task #10)
Implements native Weaviate integration for RAG pipelines as part of
Week 2 vector store integrations.
## Features
- **Auto-generated schema** - Creates Weaviate class definition from metadata
- **Deterministic UUIDs** - Stable IDs for consistent re-imports
- **Rich metadata** - All properties indexed for filtering
- **Batch-ready format** - Optimized for batch import
- **Example code** - Complete usage examples in upload()
## Output Format
JSON file containing:
- `schema`: Weaviate class definition with properties
- `objects`: Array of objects ready for batch import
- `class_name`: Derived from skill name
## Properties
- content (text, searchable)
- source (filterable, searchable)
- category (filterable, searchable)
- file (filterable)
- type (filterable)
- version (filterable)
## CLI Integration
```bash
skill-seekers package output/django --target weaviate
# → output/django-weaviate.json
```
## Files Added
- src/skill_seekers/cli/adaptors/weaviate.py (428 lines)
* Complete Weaviate adaptor implementation
* Schema auto-generation
* UUID generation from content hash
* Example code for import/query
## Files Modified
- src/skill_seekers/cli/adaptors/__init__.py
* Import WeaviateAdaptor
* Register "weaviate" in ADAPTORS
- src/skill_seekers/cli/package_skill.py
* Add "weaviate" to --target choices
- src/skill_seekers/cli/main.py
* Add "weaviate" to --target choices
## Testing
Tested with ansible skill:
- ✅ Schema generation works
- ✅ Object format correct
- ✅ UUID generation deterministic
- ✅ Metadata preserved
- ✅ CLI integration working
Output: output/ansible-weaviate.json (10.7 KB, 1 object)
## Week 2 Progress
- ✅ Task #10: Weaviate adaptor (Complete)
- ⏳ Task #11: Chroma adaptor (Next)
- ⏳ Task #12: FAISS helpers
- ⏳ Task #13: Qdrant adaptor
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 23:38:12 +03:00
..
2026-02-05 23:38:12 +03:00
2026-02-01 19:41:14 +03:00
2026-01-31 17:03:40 +03:00
2026-02-01 17:03:33 +03:00
2025-12-30 23:52:27 +03:00