🔥

Genkit で Gemini 2.0 を試す

2024/12/15に公開

この記事は Google Cloud Champion Innovators Advent Calendar 2024 15 日目の記事です。

Gemini 2.0

2024/12/11 に Gemini の新しいモデルである Gemini 2.0 が発表されました。一般向けには来年の初旬にリリースされますが、デベロッパー向けには API が公開されているので Genkit で呼び出してみます。

Gemini 2.0 によってパフォーマンスの改善だけではなく様々な機能が追加されていますので詳しく知りたい方は以下の公式記事を参考にしてください。
https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers/

手順

1. API キーの取得

Google AI Studio の以下のページから API キーを取得します。
https://aistudio.google.com/app/apikey

2. Genkit プロジェクトの初期設定

まず以下のコマンドで Genkit アプリケーションのセットアップをします。このとき genkit のバージョンは 0.9.12 以上である必要があります。

mkdir hello-genkit && cd hello-genkit
npm init -y
npm i -D genkit-cli
npm i genkit @genkit-ai/googleai
mkdir src && touch src/index.ts

API キーを環境変数にセットします。 <your API key> の部分を先程取得した API キーに差し替えます。

export GOOGLE_GENAI_API_KEY=<your API key>

3. 実装

以下のコードを src/index.ts ファイルに貼り付けます。

src/index.ts
import { genkit, z } from 'genkit'
import { googleAI, gemini20FlashExp } from '@genkit-ai/googleai'
import { logger } from 'genkit/logging'
logger.setLogLevel('debug')

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

const mainFlow = ai.defineFlow({
  name: 'mainFlow',
  inputSchema: z.string(),
}, async (input) => {
  const { text } = await ai.generate(input)
  return text
})

ai.startFlowServer({ flows: [mainFlow] })

これまでのコードと違う部分のみ説明します。

まず以下のように gemini20FlashExp のモデルを読み込みます。

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

Genkit の設定を行う関数で model 引数に gemini20FlashExp を指定します。以上です。

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

4. ローカル起動

以上でセットアップは完了なので、以下のコマンドを叩いてローカル環境で Devloper Tools を起動してみます。

npx genkit start -o -- npx tsx --watch src/index.ts

Genkit について聞いてみました。

Genkit で Gemini 2.0 を試す - Flows

View Trace を選択して gemini-2.0-flash-exp モデルが呼び出されていることが確認できました。

Genkit で Gemini 2.0 を試す - Traces

Next step

Gemini 2.0 で Code Execution や Function Calling も動作することを確認できました。以下気になる方は試してみてください。

Discussion