MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / SimpleEmbedder

Class SimpleEmbedder

masfactory/utils/embedding.py:268–297  ·  view source on GitHub ↗

Very simple hashing-based embedder. This is intended for lightweight demos and tests, not for high-quality retrieval.

Source from the content-addressed store, hash-verified

266 return embedding_function
267
268class SimpleEmbedder(BaseEmbedder):
269 """Very simple hashing-based embedder.
270
271 This is intended for lightweight demos and tests, not for high-quality retrieval.
272 """
273
274 def __init__(self, vocab_size: int = 10000):
275 """Create a SimpleEmbedder.
276
277 Args:
278 vocab_size: Size of the hashing vocabulary / embedding dimension.
279 """
280 super().__init__()
281
282 self.vocab_size = vocab_size
283
284 def get_embedding_function(self) -> Callable[[str], np.ndarray]:
285 def embedding_function(text: str) -> np.ndarray:
286 embedding = np.zeros(self.vocab_size)
287
288 for char in text:
289 hash_val = hash(char) % self.vocab_size
290 embedding[hash_val] += 1
291
292 if np.sum(embedding) > 0:
293 embedding = embedding / np.sum(embedding)
294
295 return embedding
296
297 return embedding_function

Callers 2

main.pyFile · 0.90
main.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected