Google Üretken Yapay Zeka eklentisi, Google'ın Gemini modellerine arayüz sağlar Gemini API aracılığıyla iletişim kurabilirsiniz.
Yapılandırma
Bu eklentiyi kullanmak için googleai
paketini içe aktarın ve googleai.Init()
çağrısı yapın:
import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
return err
}
Eklenti, Gemini API için şu API'den alabileceğiniz bir API anahtarı gerektirir: Google AI Studio.
Aşağıdakilerden birini yaparak eklentiyi, API anahtarınızı kullanacak şekilde yapılandırın:
GOOGLE_GENAI_API_KEY
ortam değişkenini API anahtarınıza ayarlayın.Eklentiyi başlatırken API anahtarını belirtin:
if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil { return err }
Ancak API anahtarınızı doğrudan koda yerleştirmeyin. Yalnızca bu özelliği kullan Google Cloud Secret Manager gibi bir hizmetle bağlantılı şekilde kullanabilirsiniz.
Kullanım
Üretici modeller
Desteklenen bir modele referans almak için tanımlayıcıyı belirtin:
model := googleai.Model("gemini-1.5-flash")
Şu modeller desteklenir: gemini-1.0-pro
, gemini-1.5-pro
ve
gemini-1.5-flash
.
Model referansları, Google AI API'yi çağıran bir Generate()
yöntemine sahiptir:
text, err := ai.GenerateText(ctx, model, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
Daha fazla bilgi için İçerik oluşturma bölümüne bakın.
Modelleri yerleştirme
Desteklenen bir yerleştirme modeline referans almak için tanımlayıcısını belirtin:
embeddingModel := googleai.Embedder("text-embedding-004")
Şu modeller desteklenir: text-embedding-004
ve embedding-001
.
Yerleştirme referansları, Google AI API'yi çağıran bir Embed()
yöntemine sahiptir:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
Bir Yerleştirme aracını, dizinleyicinin Index()
yöntemine ve bir retriever'ın yöntemine de iletebilirsiniz.
Retrieve()
yöntemi:
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
}
Daha fazla bilgi için Almayla artırılmış oluşturma (RAG) bölümüne bakın.