Go(ベータ版)を使用して Genkit を使ってみる

このガイドでは、Go アプリで Genkit を使用する方法について説明します。

このライブラリやドキュメントに関する問題を発見した場合は、GitHub リポジトリで報告してください。

要件

  • Go 1.24 以降。Go の公式ドキュメントのダウンロードとインストールをご覧ください。

  • Node.js 20 以降(Genkit CLI と UI 用)。Node のインストールに関する簡単なガイドについては、次のセクションをご覧ください。

Genkit をインストールする

  1. システムに Node 20 以降がインストールされていない場合は、今すぐインストールします。

    推奨: nvm ツールと nvm-windows ツールは、まだシステムにインストールされていない場合に、Node の特定のバージョンをインストールする便利な方法です。これらのツールはユーザーごとに Node をインストールするため、システム全体に変更を加える必要はありません。

    nvm をインストールするには:

    Linux、macOS など

    次のコマンドを実行します。

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

    Windows

    nvm-windows ドキュメントに記載されている手順に沿って、インストーラをダウンロードして実行します。

    Node と npm をインストールするには、新しいシェルを開いて次のコマンドを実行します。

    nvm install 20
  2. 次のコマンドを実行して、Genkit CLI をインストールします。

    npm i -g genkit-cli

    このコマンドは、Genkit CLI を Node インストール ディレクトリにインストールし、Node プロジェクトの外部で使用できるようにします。

サンプル プロジェクトを作成して確認する

  1. 新しいプロジェクト ディレクトリを作成します。

    mkdir genkit-intro && cd genkit-intro
  2. Go モジュールを初期化して Genkit パッケージを取得します。

    go mod init example/genkit-intro
    go get github.com/firebase/genkit/go

モデル API キーの構成

このガイドでは、Gemini API の使用方法を説明します。この API は無料枠が充実しており、利用を開始する際にクレジット カードは必要ありません。Gemini API を使用するには、API キーが必要です。キーがない場合は、Google AI Studio でキーを作成します。

API キーを作成したら、次のコマンドを使用して GEMINI_API_KEY 環境変数をキーに設定します。

export GEMINI_API_KEY=<your API key>

最初のリクエストを送信する

数行のコードで Genkit を使用できます。

package main

import (
    "context"
    "log"

    "github.com/firebase/genkit/go/ai"
    "github.com/firebase/genkit/go/genkit"
    "github.com/firebase/genkit/go/plugins/googlegenai"
)

func main() {
    ctx := context.Background()

    // Initialize a Genkit instance.
    g, err := genkit.Init(ctx,
        // Install the Google AI plugin which provides Gemini models.
        genkit.WithPlugins(&googlegenai.GoogleAI{}),
        // Set the default model to use for generate calls.
        genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
    )
    if err != nil {
        log.Fatal(err)
    }

    // Generate a model response.
    resp, err := genkit.Generate(ctx, g, ai.WithPrompt("Hello, Gemini!"))
    if err != nil {
        log.Fatal(err)
    }

    log.Println(resp.Text())
}

次のステップ

Genkit でモデルのリクエストを行うための設定が完了したら、次は Genkit の機能をさらに活用して AI ベースのアプリとワークフローを構築する方法を確認します。Genkit のその他の機能の使用を開始するには、次のガイドをご覧ください。

  • デベロッパー ツール: Genkit の CLI とデベロッパー UI を設定して使用し、アプリをローカルでテストしてデバッグする方法を確認します。
  • コンテンツの生成: Genkit の統合生成 API を使用して、サポートされている任意のモデルからテキストと構造化データを生成する方法を確認します。
  • フローの作成: フローという特別な Genkit 関数を使用して、ワークフローのエンドツーエンドのオブザーバビリティと、Genkit ツールによる豊富なデバッグ機能を実現する方法を確認します。
  • プロンプトの管理: Genkit を使用して、プロンプトと構成をコードとして一緒に管理する方法について確認します。