Check ollama alive for embedder (#1057)

This commit is contained in:
Timothy Carambat 2024-04-06 12:16:30 -07:00 committed by GitHub
parent 6f52a2b729
commit 1c11a47f93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,12 +18,28 @@ class OllamaEmbedder {
console.log(`\x1b[36m[${this.constructor.name}]\x1b[0m ${text}`, ...args);
}
async #isAlive() {
return await fetch(process.env.EMBEDDING_BASE_PATH, {
method: "HEAD",
})
.then((res) => res.ok)
.catch((e) => {
this.log(e.message);
return false;
});
}
async embedTextInput(textInput) {
const result = await this.embedChunks([textInput]);
return result?.[0] || [];
}
async embedChunks(textChunks = []) {
if (!(await this.#isAlive()))
throw new Error(
`Ollama service could not be reached. Is Ollama running?`
);
const embeddingRequests = [];
this.log(
`Embedding ${textChunks.length} chunks of text with ${this.model}.`