MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / get_embedding

Method get_embedding

atomic-core/src/pristine/txn/read.rs:1098–1121  ·  view source on GitHub ↗
(&self, path: &str, chunk_idx: u32)

Source from the content-addressed store, hash-verified

1096
1097impl EmbeddingsTxnT for ReadTxn {
1098 fn get_embedding(&self, path: &str, chunk_idx: u32) -> PristineResult<Option<EmbeddingRecord>> {
1099 let table = match self.txn.open_table(EMBEDDINGS) {
1100 Ok(table) => table,
1101 Err(redb::TableError::TableDoesNotExist(_)) => return Ok(None),
1102 Err(e) => return Err(PristineError::from(e)),
1103 };
1104
1105 let key = encode_embedding_key(path, chunk_idx);
1106 let result = match table.get(key.as_str())? {
1107 Some(guard) => {
1108 let bytes = guard.value();
1109 let record: EmbeddingRecord =
1110 postcard::from_bytes(bytes).map_err(|e| PristineError::Serialization {
1111 message: format!(
1112 "failed to deserialize EmbeddingRecord at '{}': {}",
1113 key, e
1114 ),
1115 })?;
1116 Ok(Some(record))
1117 }
1118 None => Ok(None),
1119 };
1120 result
1121 }
1122
1123 fn list_embeddings(&self, path: &str) -> PristineResult<Vec<(u32, EmbeddingRecord)>> {
1124 let table = match self.txn.open_table(EMBEDDINGS) {

Callers 1

vault_embedMethod · 0.45

Calls 3

encode_embedding_keyFunction · 0.85
getMethod · 0.65
as_strMethod · 0.45

Tested by

no test coverage detected