MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / embed

Method embed

paperflow/providers/embedding.py:140–150  ·  view source on GitHub ↗
(self, text: str)

Source from the content-addressed store, hash-verified

138 self.dimensions = dimensions
139
140 def embed(self, text: str) -> List[float]:
141 digest = hashlib.sha256((text or "").encode("utf-8")).digest()
142 vector: List[float] = []
143 for index in range(self.dimensions):
144 byte_index = index % len(digest)
145 bit = (digest[byte_index] >> (index % 8)) & 1
146 vector.append(1.0 if bit else -1.0)
147 norm = sum(value * value for value in vector) ** 0.5
148 if norm > 0:
149 vector = [value / norm for value in vector]
150 return vector
151
152 def embed_batch(self, texts: Iterable[str]) -> List[List[float]]:
153 return [self.embed(text) for text in texts]

Calls 1

encodeMethod · 0.80