import { GoogleGenerativeAI } from '@google/generative-ai'; const genAI = new GoogleGenerativeAI(process.env.GOOGLE_API_KEY!); const embeddingModel = genAI.getGenerativeModel({ model: 'text-embedding-004', }); /** * Generates a vector embedding for a given text using Google's text-embedding-004 model. * The output is a 768-dimension vector (not 1536 as originally specified). * * @param text - The text to embed * @returns A 768-dimension vector (Array) */ export async function generateEmbedding(text: string): Promise { try { const result = await embeddingModel.embedContent(text); return result.embedding.values; } catch (error) { console.error('Error generating embedding:', error); throw new Error('Failed to generate AI embedding.'); } }