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