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>
This commit is contained in:
yusyus
2026-02-05 23:38:12 +03:00
parent 1552e1212d
commit baccbf9d81
4 changed files with 454 additions and 2 deletions

View File

@@ -215,7 +215,7 @@ For more information: https://github.com/yusufkaraaslan/Skill_Seekers
package_parser.add_argument("--upload", action="store_true", help="Auto-upload after packaging")
package_parser.add_argument(
"--target",
choices=["claude", "gemini", "openai", "markdown", "langchain", "llama-index"],
choices=["claude", "gemini", "openai", "markdown", "langchain", "llama-index", "weaviate"],
default="claude",
help="Target LLM platform (default: claude)",
)