Google-Plug-in für generative KI

Das Google Generative AI-Plug-in bietet über die Gemini API Schnittstellen zu den Gemini-Modellen von Google.

Installation

npm i --save @genkit-ai/googleai

Konfiguration

Wenn Sie dieses Plug-in verwenden möchten, geben Sie es an, wenn Sie Genkit initialisieren:

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

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

Für das Plug-in ist ein API-Schlüssel für die Gemini API erforderlich, den Sie in Google AI Studio abrufen können.

Konfigurieren Sie das Plug-in so, dass es Ihren API-Schlüssel verwendet. Gehen Sie dazu so vor:

  • Legen Sie die Umgebungsvariable GOOGLE_GENAI_API_KEY auf Ihren API-Schlüssel fest.
  • Geben Sie den API-Schlüssel an, wenn Sie das Plug-in initialisieren:

    googleAI({ apiKey: yourKey });
    

    Betten Sie Ihren API-Schlüssel jedoch nicht direkt in den Code ein. Verwenden Sie diese Funktion nur in Verbindung mit einem Dienst wie Cloud Secret Manager oder einem ähnlichen Dienst.

Nutzung

Dieses Plug-in exportiert statisch Verweise auf die unterstützten Modelle:

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

Mit diesen Referenzen können Sie angeben, welches Modell für generate() verwendet wird:

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

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

oder Einbettungstools (z. B. textEmbedding004) mit embed oder Abrufen:

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

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

Gemini Files API

Sie können Dateien, die mit Genkit in die Gemini Files API hochgeladen wurden, so verwenden:

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

Optimierte Modelle

Sie können Modelle verwenden, die mit der Google Gemini API optimiert wurden. Folgen Sie der Anleitung in der Gemini API oder optimieren Sie ein Modell mit AI Studio.

Bei der Tuning-Aufgabe wird ein Basismodell (z. B. Gemini 1.5 Flash) und Ihre bereitgestellten Beispiele verwendet, um ein neues abgestimmtes Modell zu erstellen. Notieren Sie sich das verwendete Basismodell und kopieren Sie die ID des neuen Modells.

Verwenden Sie beim Aufrufen des optimierten Modells in Genkit das Basismodell als model-Parameter und geben Sie die ID des optimierten Modells als Teil des config-Blocks an. Wenn Sie beispielsweise Gemini 1.5 Flash als Basismodell verwendet und die Modell-ID tunedModels/my-example-model-apbm8oqbvuv2 erhalten haben, können Sie es mit folgendem Code aufrufen:

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