Go(베타)를 사용하여 Genkit 시작하기

이 가이드에서는 Go 앱에서 Genkit를 시작하는 방법을 보여줍니다.

라이브러리 또는 이 문서에서 문제를 발견하면 GitHub 저장소에 신고하세요.

요구사항

  • Go 1.24 이상. 공식 Go 문서에서 다운로드 및 설치를 참조하세요.

  • Node.js 20 이상(Genkit CLI 및 UI용). 노드 설치에 대한 간단한 가이드는 다음 섹션을 참조하세요.

Genkit 설치

  1. 시스템에 아직 Node 20 이상이 설치되어 있지 않다면 지금 설치합니다.

    권장사항: nvmnvm-windows 도구는 시스템에 아직 설치되지 않은 경우 특정 버전의 Node.js를 설치할 수 있는 편리한 방법입니다. 이러한 도구는 사용자별로 노드를 설치하므로 시스템 전체를 변경할 필요가 없습니다.

    nvm을 설치하려면 다음 안내를 따르세요.

    Linux, macOS 등

    다음 명령어를 실행합니다.

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

    Windows

    nvm-windows 문서에 설명된 대로 설치 프로그램을 다운로드하고 실행합니다.

    그런 다음 노드 및 npm을 설치하려면 새 셸을 열고 다음 명령어를 실행합니다.

    nvm install 20
  2. 다음 명령어를 실행하여 Genkit CLI를 설치합니다.

    npm i -g genkit-cli

    이 명령어는 Genkit CLI를 노드 설치 디렉터리에 설치하여 노드 프로젝트 외부에서 사용할 수 있습니다.

샘플 프로젝트 만들기 및 살펴보기

  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를 사용하는 방법을 보여줍니다. 충분한 할당량이 포함된 무료 등급을 제공하므로 신용카드 없이도 시작할 수 있습니다. 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가 프롬프트와 구성을 코드로서 함께 관리하는 데 어떤 도움이 되는지 알아봅니다.