Commit 029f760
Adds initial semantic search crate (#1774)
* [feat]: Add a new semantic_search_client crate that provides vector embedding and
semantic search capabilities for the Amazon Q CLI. This implementation:
- Supports text embedding generation using Candle and ONNX runtimes
- Provides hardware acceleration via Metal on macOS
- Implements efficient vector indexing for semantic search
- Includes file processing utilities for various file types
- Supports persistent storage of semantic contexts
- Includes comprehensive test coverage
This crate will enable memory bank functionality for Amazon Q, allowing
users to create, manage, and search through semantic memory contexts.
🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)
* Update semantic_search_client dependencies in Cargo.toml
* Refactor embedder implementation for Linux platforms to use trait objects
This change modifies the semantic search client to use Box<dyn TextEmbedderTrait>
on Linux platforms instead of directly using CandleTextEmbedder. This provides
more flexibility and consistency with the implementation on macOS and Windows,
allowing for better extensibility and polymorphic behavior across all platforms.
* Update Cargo.lock file
* Remove redundant CandleTextEmbedder import for non-macOS/Windows platforms
---------
Co-authored-by: Kenneth Sanchez V <[email protected]>1 parent da850bf commit 029f760
File tree
37 files changed
+6432
-19
lines changed- .github/workflows
- crates/semantic_search_client
- src
- client
- embedding
- index
- processing
- tests
37 files changed
+6432
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments