Complemento de IA generativa de Google

El complemento de IA generativa de Google proporciona interfaces para los modelos de Gemini de Google a través de la API de Gemini.

Instalación

npm i --save @genkit-ai/googleai

Configuración

Para usar este complemento, especifícalo cuando llames a configureGenkit():

import { googleAI } from '@genkit-ai/googleai';

export default configureGenkit({
  plugins: [googleAI()],
  // ...
});

El complemento requiere una clave de API para la API de Gemini, que puedes obtener en Google AI Studio

Configura el complemento para usar tu clave de API mediante una de las siguientes acciones:

  • Establece la variable de entorno GOOGLE_GENAI_API_KEY en tu clave de API.

  • Especifica la clave de API cuando inicialices el complemento:

    googleAI({ apiKey: yourKey });
    

    Sin embargo, no incorpores tu clave de API directamente en el código. Usa solo esta característica junto con un servicio como Cloud Secret Manager o uno similar.

Algunos modelos (como Gemini 1.5 Pro) están en versión preliminar y solo están disponibles a través del API de v1beta. Puedes especificar el apiVersion para obtener acceso a esos modelos:

configureGenkit({
  plugins: [googleAI({ apiVersion: 'v1beta' })],
});

o puedes especificar varias versiones si deseas usar diferentes versiones de modelos de AA al mismo tiempo.

configureGenkit({
  plugins: [googleAI({ apiVersion: ['v1', 'v1beta'] })],
});

Uso

Este complemento exporta de forma estática referencias a sus modelos compatibles:

import {
  gemini15Flash,
  gemini15Pro,
  textEmbeddingGecko001,
} from '@genkit-ai/googleai';

Puedes usar estas referencias para especificar qué modelo usa generate():

const llmResponse = await generate({
  model: gemini15Flash,
  prompt: 'Tell me a joke.',
});

o usar incorporaciones (p. ej., textEmbeddingGecko001) con embed o retrievers:

const embedding = await embed({
  embedder: textEmbeddingGecko001,
  content: input,
});

API de Gemini Files

Puedes usar los archivos subidos a la API de archivos de Gemini con Genkit:

import { GoogleAIFileManager } from '@google/generative-ai/server';

const fileManager = new GoogleAIFileManager(process.env.GOOGLE_GENAI_API_KEY);
const uploadResult = await fileManager.uploadFile(
  'path/to/file.jpg',
  {
    mimeType: 'image/jpeg',
    displayName: 'Your Image',
  }
);

const response = await generate({
  model: gemini15Flash,
  prompt: [
    {text: 'Describe this image:'},
    {media: {contentType: uploadResult.file.mimeType, url: uploadResult.file.uri}}
  ]
});