UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

12 lines (11 loc) 590 B
import { nanoid as createId } from "nanoid"; import { embedTexts } from "../model-function/embed-text/embedText.js"; export async function upsertTextChunks({ vectorIndex, embeddingModel, generateId = createId, chunks, ids, }, options) { // many embedding models support bulk embedding, so we first embed all texts: const { embeddings } = await embedTexts(embeddingModel, chunks.map((chunk) => chunk.content), options); await vectorIndex.upsertMany(chunks.map((chunk, i) => ({ id: ids?.[i] ?? generateId(), vector: embeddings[i], data: chunk, }))); }