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

Class OllamaEmbedding

paperflow/providers/embedding.py:103–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101
102
103class OllamaEmbedding:
104 name = "ollama"
105
106 def __init__(self, model: str, dimensions: int, base_url: str = "http://localhost:11434", timeout: float = 60.0) -> None:
107 self.model = model
108 self.dimensions = dimensions
109 self._base_url = base_url.rstrip("/")
110 self._timeout = timeout
111
112 def embed(self, text: str) -> List[float]:
113 response = requests.post(
114 f"{self._base_url}/api/embeddings",
115 json={"model": self.model, "prompt": text or " "},
116 timeout=self._timeout,
117 )
118 response.raise_for_status()
119 data = response.json()
120 vector = list(data.get("embedding") or [])
121 return _resize(vector, self.dimensions)
122
123 def embed_batch(self, texts: Iterable[str]) -> List[List[float]]:
124 return [self.embed(text) for text in texts]
125
126
127class HashEmbedding:

Callers 1

build_embedding_providerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected