Commit 0351318
* feat(chat): Add semantic search crate to Q CLI (#1860)
* [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
* fix(semantic_search): Update conditional compilation flags for embedders
Update conditional compilation flags to match the new embedding model selection logic:
- Replace target_env="musl" conditions with target_os conditions
- Update TextEmbedder trait implementation to use macOS/Windows condition
- Ensure consistent conditions across all files
🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)
---------
Co-authored-by: Kenneth Sanchez V <[email protected]>1 parent cb90e38 commit 0351318
File tree
40 files changed
+7169
-15
lines changed- .github/workflows
- crates/semantic_search_client
- src
- client
- embedding
- index
- processing
- tests
40 files changed
+7169
-15
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