rob
|
5159450feb
|
Add semantic search (RAG) for registry tool discovery
Users can now find tools by describing what they need in natural language.
Uses Ollama embeddings (nomic-embed-text) on AI-Server for vector similarity
search. Available via CLI (registry describe), GUI (AI search row), and API.
New files:
- registry/embeddings.py: core embedding logic (Ollama API, cosine similarity,
pack/unpack vectors, backfill)
- tests/test_embeddings.py: 16 unit tests
Modified:
- registry/db.py: tool_embeddings table (schema + migration)
- registry/settings.py: embeddings.* settings (ollama_url, model, enabled, min_score)
- registry/app.py: semantic-search endpoint, publish hook, admin backfill/status
- registry_client.py: semantic_search() method with error surfacing
- gui/pages/registry_page.py: AI search row with SemanticSearchWorker
- cli/__init__.py + registry_commands.py: registry describe subcommand
Backfill required after deploy: POST /api/v1/admin/embeddings/backfill
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-02 01:52:27 -04:00 |