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",
}),
});