Google 생성형 AI 플러그인은 Gemini API를 통해 Google의 Gemini 모델에 대한 인터페이스를 제공합니다.
구성
이 플러그인을 사용하려면 googleai
패키지를 가져오고 googleai.Init()
을 호출합니다.
import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
return err
}
플러그인에는 Gemini API용 API 키가 필요하며 Google AI Studio에서 가져올 수 있습니다.
다음 중 하나를 수행하여 API 키를 사용하도록 플러그인을 구성합니다.
GOOGLE_GENAI_API_KEY
환경 변수를 API 키로 설정합니다.플러그인을 초기화할 때 API 키를 지정합니다.
if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil { return err }
하지만 API 키를 코드에 직접 삽입하지 마세요. Cloud Secret Manager 또는 이와 유사한 서비스에서만 함께 사용할 수 있습니다
용도
생성 모델
지원되는 모델에 대한 참조를 가져오려면 식별자를 지정합니다.
model := googleai.Model("gemini-1.5-flash")
지원되는 모델은 gemini-1.0-pro
, gemini-1.5-pro
, gemini-1.5-flash
입니다.
모델 참조에는 Google AI API를 호출하는 Generate()
메서드가 있습니다.
text, err := ai.GenerateText(ctx, model, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
자세한 내용은 콘텐츠 생성을 참조하세요.
임베딩 모델
지원되는 임베딩 모델에 대한 참조를 가져오려면 식별자를 지정합니다.
embeddingModel := googleai.Embedder("text-embedding-004")
지원되는 모델은 text-embedding-004
, embedding-001
입니다.
삽입기 참조에는 Google AI API를 호출하는 Embed()
메서드가 있습니다.
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
색인 생성기의 Index()
메서드와 검색기의 Retrieve()
메서드에 삽입기를 전달할 수도 있습니다.
if err := ai.Index(ctx, myIndexer, ai.WithIndexerDocs(docsToIndex...)); err != nil {
return err
}
retrieveRes, err := ai.Retrieve(ctx, myRetriever, ai.WithRetrieverText(userInput))
if err != nil {
return err
}
자세한 내용은 검색 증강 생성(RAG)을 참조하세요.