Google Generative AI プラグイン

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

インストール

npm i --save @genkit-ai/googleai

構成

このプラグインを使用するには、Genkit の初期化時に指定します。

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

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

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

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

  • GOOGLE_GENAI_API_KEY 環境変数を API キーに設定します。
  • プラグインを初期化するときに API キーを指定します。

    googleAI({ apiKey: yourKey });
    

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

用途

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

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

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

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

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

または埋め込みツール(textEmbedding004)を embed または Retriever に置き換えます。

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

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

Gemini Files API

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

ファイン チューニングされたモデル

Google Gemini API でファインチューニングされたモデルを使用できます。Gemini API の手順に沿って、または AI Studio を使用してモデルをファインチューニングします。

チューニング プロセスでは、ベースモデル(Gemini 1.5 Flash など)と指定されたサンプルを使用して、新しいチューニング済みモデルが作成されます。使用したベースモデルをメモし、新しいモデルの ID をコピーします。

Genkit でチューニング済みモデルを呼び出す場合は、ベースモデルを model パラメータとして使用し、チューニング済みモデルの ID を config ブロックの一部として渡します。たとえば、ベースモデルとして Gemini 1.5 Flash を使用し、モデル ID tunedModels/my-example-model-apbm8oqbvuv2 を取得した場合は、次のように呼び出すことができます。

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