Go를 사용하여 Genkit 시작하기

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

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

첫 번째 요청하기

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

  2. Genkit 패키지로 새 Go 프로젝트 디렉터리를 초기화합니다.

    mkdir genkit-intro && cd genkit-intro
    go mod init example/genkit-intro
    go get github.com/firebase/genkit/go
  3. 다음 샘플 코드로 main.go 파일을 만듭니다.

    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 Genkit with the Google AI plugin and Gemini 2.0 Flash.
        g, err := genkit.Init(ctx,
            genkit.WithPlugins(&googlegenai.GoogleAI{}),
            genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
        )
        if err != nil {
            log.Fatalf("could not initialize Genkit: %w", err)
        }
    
        resp, err := genkit.Generate(ctx, g, ai.WithPrompt("What is the meaning of life?"))
        if err != nil {
            log.Fatal("could not generate model response: %w", err)
        }
    
        log.Println(resp.Text())
    }
    
  4. GEMINI_API_KEY 환경 변수를 설정하여 Gemini API 키를 구성합니다.

    export GEMINI_API_KEY=<your API key>

    아직 키가 없으면 Google AI Studio에서 키를 만듭니다. Google AI는 충분한 할당량이 포함된 무료 등급을 제공하므로 신용카드가 없어도 시작할 수 있습니다.

  5. 앱을 실행하여 모델 응답을 확인합니다.

    go run .
    There is no single universally agreed-upon meaning of life; it's a deeply
    personal question. Many find meaning through connection, growth,
    contribution, happiness, or discovering their own purpose.

다음 단계

Genkit로 모델을 요청할 수 있도록 설정했으니 이제 더 많은 Genkit 기능을 사용하여 AI 기반 앱과 워크플로를 빌드하는 방법을 알아보세요. 추가 Genkit 기능을 시작하려면 다음 가이드를 참조하세요.

  • 개발자 도구: 로컬에서 앱을 테스트하고 디버그하는 데 도움이 되는 Genkit의 CLI 및 개발자 UI를 설정하고 사용하는 방법을 알아봅니다.
  • 콘텐츠 생성: Genkit의 통합된 생성 API를 사용하여 지원되는 모든 모델에서 텍스트 및 정형 데이터를 생성하는 방법을 알아봅니다.
  • 플로우 만들기: 워크플로에 대한 엔드 투 엔드 모니터링 가능성을 제공하고 Genkit 도구의 풍부한 디버깅을 제공하는 '플로우'라는 특수 Genkit 함수를 사용하는 방법을 알아봅니다.
  • 프롬프트 관리: Genkit가 프롬프트와 구성을 코드로서 함께 관리하는 데 어떤 도움이 되는지 알아봅니다.