Google Generative AI プラグイン

Google Generative AI プラグインは、Gemini API を介して Google の Gemini モデルへのインターフェースを提供します。

インストール

npm i --save @genkit-ai/googleai

構成

このプラグインを使用するには、configureGenkit() を呼び出すときに指定します。

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

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

このプラグインには、Gemini API の API キーが必要です。API キーは次の場所から取得できます: Google AI Studio

次のいずれかの方法で、API キーを使用するようにプラグインを設定します。

  • GOOGLE_GENAI_API_KEY 環境変数を API キーに設定します。

  • プラグインを初期化するときに API キーを指定します。

    googleAI({ apiKey: yourKey });
    

    ただし、API キーはコードに直接埋め込まないでください。この機能のみを使用する Cloud Secret Manager などのサービスと組み合わせて使用できます。

一部のモデル(Gemini 1.5 Pro など)はプレビュー版であり、 v1beta API。これらのモデルにアクセスするには、apiVersion を指定します。

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

異なるバージョンの VM を使用する場合は、複数のバージョンを指定することもできます。 構築できます

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

用途

このプラグインは、サポートされているモデルへの参照を静的にエクスポートします。

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

これらの参照を使用して、generate() が使用するモデルを指定できます。

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

埋め込みツール(例:textEmbeddingGecko001 など)を embed または Retriever と併用します。

const embedding = await embed({
  embedder: textEmbeddingGecko001,
  content: input,
});

Gemini Files API

Gemini Files API にアップロードされたファイルを 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}}
  ]
});