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

Geben Sie dieses Plug-in an, wenn Sie configureGenkit() aufrufen, um es zu verwenden:

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

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

Das Plug-in benötigt einen API-Schlüssel für die Gemini API, den Sie hier abrufen können: Google AI Studio

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.

Einige Modelle (wie Gemini 1.5 Pro) befinden sich in der Vorabversion und können nur über die v1beta-API. Sie können die apiVersion angeben, um auf diese Modelle zuzugreifen:

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

Sie können auch mehrere Versionen angeben, wenn Sie unterschiedliche Versionen gleichzeitig mit Modellen arbeiten.

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

Nutzung

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

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

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

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

oder Einbettungstools (z. B. textEmbeddingGecko001) mit embed oder Retrievern:

const embedding = await embed({
  embedder: textEmbeddingGecko001,
  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';

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

Optimierte Modelle

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

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

Wenn Sie das abgestimmte Modell in Genkit aufrufen, verwenden Sie das Basismodell als model-Parameter und übergeben Sie die ID des abgestimmten Modells als Teil des config-Blocks. 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 einem Block wie dem folgenden aufrufen:

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