Skip to content

Commit 029f760

Browse files
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

37 files changed

+6432
-19
lines changed

.github/workflows/typos.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,5 @@ jobs:
1818
uses: actions/checkout@v4
1919
- name: Check spelling
2020
uses: crate-ci/typos@master
21+
with:
22+
config: .typos.toml

.lintstagedrc.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ export default {
88
],
99
"*.py": ["ruff format --check", "ruff check"],
1010
"*.{ts,js,tsx,jsx,mjs}": "prettier --check",
11-
"!(*test*)*": "typos",
11+
"!(*test*)*": "typos --config .typos.toml",
1212
};

.typos.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[files]
2+
3+
[default.extend-words]
4+
mmaped = "mmaped"

0 commit comments

Comments
 (0)