-
Notifications
You must be signed in to change notification settings - Fork 35
Implement Embedding Search Plugin #60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Implement Embedding Search Plugin #60
Conversation
…tool-calling-protocol/dev Add docs and update http to 1.0.2
…tool-calling-protocol/dev Fix response json parsing when content type is wrong
Co-authored-by: Copilot <[email protected]>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR moves embedding search functionality into a dedicated plugin structure and improves the model configuration with comprehensive documentation.
- Moved embedding search files from core to the new
plugins/tool_search/in_mem_embeddings
structure - Added comprehensive description for the
model_name
field with examples and guidance - Created complete plugin package with tests, documentation, and proper entry point registration
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
plugins/tool_search/in_mem_embeddings/tests/test_in_mem_embeddings_search.py | Comprehensive test suite covering initialization, embedding generation, search functionality, and error handling |
plugins/tool_search/in_mem_embeddings/test_plugin.py | Basic plugin functionality verification script |
plugins/tool_search/in_mem_embeddings/test_performance.py | Performance testing script for plugin with multiple tools and timing measurements |
plugins/tool_search/in_mem_embeddings/test_integration.py | Integration test verifying plugin works with core UTCP system |
plugins/tool_search/in_mem_embeddings/src/utcp_in_mem_embeddings/in_mem_embeddings_search.py | Main plugin implementation with enhanced model_name documentation |
plugins/tool_search/in_mem_embeddings/src/utcp_in_mem_embeddings/init.py | Plugin registration entry point |
plugins/tool_search/in_mem_embeddings/pyproject.toml | Plugin package configuration with proper dependencies |
plugins/tool_search/in_mem_embeddings/README.md | Plugin documentation and installation instructions |
plugins/tool_search/embedding/README.md | Legacy embedding plugin documentation update |
core/src/utcp/plugins/plugin_loader.py | Core plugin loader updated to include in-memory embeddings |
core/pyproject.toml | Core package updated with numpy dependency and embedding extras |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
@@ -0,0 +1,343 @@ | |||
"""Tests for the InMemEmbeddingsSearchStrategy implementation.""" | |||
"""just test""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The second docstring line 'just test' appears to be a placeholder comment that should be removed. It doesn't provide meaningful documentation.
"""just test""" |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
19 issues found across 11 files
React with 👍 or 👎 to teach cubic. You can also tag @cubic-dev-ai
to give feedback, ask questions, or re-run the review.
@@ -0,0 +1,7 @@ | |||
from utcp.plugins.discovery import register_tool_search_strategy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imported symbol appears undefined in the codebase; this import is likely to raise ImportError at plugin load. Verify correct module path or function name.
Prompt for AI agents
Address the following comment on plugins/tool_search/in_mem_embeddings/src/utcp_in_mem_embeddings/__init__.py at line 1:
<comment>Imported symbol appears undefined in the codebase; this import is likely to raise ImportError at plugin load. Verify correct module path or function name.</comment>
<file context>
@@ -0,0 +1,7 @@
+from utcp.plugins.discovery import register_tool_search_strategy
+from utcp_in_mem_embeddings.in_mem_embeddings_search import InMemEmbeddingsSearchStrategyConfigSerializer
+
</file context>
implements #17 |
Please address the Cubic reviews. If you're not sure about some, you can let them for me to review |
Also the base branch to merge into should be dev |
Hi @h3xxit. I've updated the code by referring to all cubic-dev comments successfully. let me know if there are any more changes. Can't wait to implement embedding search 😊 haha. |
@cubic-dev-ai review |
@h3xxit I've started the AI code review. It'll take a few minutes to complete. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 10 files
Things that are updated for embedding search issue:
Summary by cubic
Adds an in-memory embedding-based tool search strategy as a plugin to enable semantic search. Registers the strategy in core, adds docs and tests, and supports optional Sentence-Transformers for better results.
New Features
Dependencies