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 de la 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 recuperadores:

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}}
  ]
});

Modelos ajustados

Puedes usar modelos ajustados con la API de Google Gemini. Sigue las instrucciones de la API de Gemini o ajusta un modelo con AI Studio.

El proceso de ajuste usa un modelo base (por ejemplo, Gemini 1.5 Flash) y los ejemplos que proporcionaste para crear un nuevo modelo ajustado. Recuerda el modelo base que usaste y copia el ID del modelo nuevo.

Cuando llames al modelo ajustado en Genkit, usa el modelo base como el parámetro model y pasa el ID del modelo ajustado como parte del bloque config. Por ejemplo, si usaste Gemini 1.5 Flash como modelo base y obtuviste el ID de modelo tunedModels/my-example-model-apbm8oqbvuv2, puedes llamarlo con un bloque como el siguiente:

const llmResponse = await generate({
  prompt: `Suggest an item for the menu of fish themed restruant`,
  model: gemini15Flash,
  config: {
    version: "tunedModels/my-example-model-apbm8oqbvuv2",
  },
});