UNPKG

genkitx-mistral

Version:

Firebase Genkit AI framework plugin for Mistral AI APIs.

54 lines 1.42 kB
import { __async } from "./chunk-MLCSNVBT.mjs"; import { embedderRef, z } from "genkit"; const TextEmbeddingConfigSchema = z.object({ embeddingTypes: z.literal("float").optional(), encodingFormat: z.union([z.literal("float"), z.literal("base64")]).optional() }); function mistralEmbedder(ai, name, client) { const model = SUPPORTED_EMBEDDING_MODELS[name]; if (!model) throw new Error(`Unsupported model: ${name}`); ai.defineEmbedder( { info: model.info, configSchema: TextEmbeddingConfigSchema, name: model.name }, (input, _) => __async(this, null, function* () { const embeddings = yield client.embeddings.create({ model: name, inputs: input.map((d) => d.text) }); return { embeddings: embeddings.data.map((d) => { if (!d.embedding) { throw new Error("Embedding is undefined"); } return { embedding: d.embedding }; }) }; }) ); } const mistralembed = embedderRef({ name: "mistral/mistral-embed", configSchema: TextEmbeddingConfigSchema, info: { dimensions: 1024, label: "Mistral - Mistral Embed", supports: { input: ["text"] } } }); const SUPPORTED_EMBEDDING_MODELS = { "mistral-embed": mistralembed }; export { SUPPORTED_EMBEDDING_MODELS, TextEmbeddingConfigSchema, mistralEmbedder, mistralembed }; //# sourceMappingURL=embedders.mjs.map