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