Plug-in Google IA générative

Le plug-in Google Generative AI fournit des interfaces avec les modèles Gemini de Google via l'API Gemini.

Installation

npm i --save @genkit-ai/googleai

Configuration

Pour utiliser ce plug-in, spécifiez-le lorsque vous initialisez Genkit:

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

const ai = genkit({
  plugins: [googleAI()],
});

Le plug-in nécessite une clé API pour l'API Gemini, que vous pouvez obtenir dans Google AI Studio.

Configurez le plug-in pour qu'il utilise votre clé API en procédant comme suit:

  • Définissez la variable d'environnement GOOGLE_GENAI_API_KEY sur votre clé API.
  • Spécifiez la clé API lorsque vous initialisez le plug-in:

    googleAI({ apiKey: yourKey });
    

    Toutefois, n'intégrez pas votre clé API directement dans le code. N'utilisez cette fonctionnalité qu'en conjonction avec un service tel que Cloud Secret Manager ou un service similaire.

Utilisation

Ce plug-in exporte de manière statique les références à ses modèles compatibles:

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

Vous pouvez utiliser ces références pour spécifier le modèle utilisé par generate():

const ai = genkit({
  plugins: [googleAI()],
  model: gemini15Flash,
});

const llmResponse = await ai.generate('Tell me a joke.');

ou utiliser des outils d'intégration (par exemple, textEmbedding004) avec embed ou des récupérateurs:

const ai = genkit({
  plugins: [googleAI()],
});

const embedding = await ai.embed({
  embedder: textEmbedding004,
  content: input,
});

API Gemini Files

Vous pouvez utiliser les fichiers importés dans l'API Gemini Files avec Genkit:

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

const ai = genkit({
  plugins: [googleAI()],
});

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 ai.generate({
  model: gemini15Flash,
  prompt: [
    {text: 'Describe this image:'},
    {media: {contentType: uploadResult.file.mimeType, url: uploadResult.file.uri}}
  ]
});

Modèles affinés

Vous pouvez utiliser des modèles affinés avec l'API Google Gemini. Suivez les instructions de l'API Gemini ou affinez un modèle à l'aide de AI Studio.

Le processus de réglage utilise un modèle de base (par exemple, Gemini 1.5 Flash) et les exemples que vous avez fournis pour créer un modèle réglé. N'oubliez pas le modèle de base que vous avez utilisé et copiez l'ID du nouveau modèle.

Lorsque vous appelez le modèle affiné dans Genkit, utilisez le modèle de base comme paramètre model et transmettez l'ID du modèle affiné dans le bloc config. Par exemple, si vous avez utilisé Gemini 1.5 Flash comme modèle de base et que vous avez obtenu l'ID de modèle tunedModels/my-example-model-apbm8oqbvuv2, vous pouvez l'appeler avec:

const ai = genkit({
  plugins: [googleAI()],
});

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