Vertex AI eklentisi, Google'ın çeşitli üretken yapay zeka modellerine arayüz sağlar Vertex AI API aracılığıyla iletişim kurabilirsiniz.
Şartlar
Bu eklentiyi kullanan akışları yerel olarak çalıştırmak istiyorsanız Google Cloud CLI aracı yüklenmiş olmalıdır.
Yapılandırma
Bu eklentiyi kullanmak için vertexai
paketini içe aktarın ve vertexai.Init()
çağrısı yapın:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
Eklenti, Google Cloud projenizin kimliğini belirtmenizi gerektirir. region [bölge] Vertex API isteklerinde bulunmak istediğiniz paket ve Google Cloud projeniz kimlik bilgileri.
vertexai.Init()
, varsayılan olarak Google Cloud proje kimliğiniziGCLOUD_PROJECT
ortam değişkeni.Bu değeri doğrudan da aktarabilirsiniz:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
vertexai.Init()
, Vertex AI API konumunu varsayılan olarak şuradan alır:GCLOUD_LOCATION
ortam değişkeni.Bu değeri doğrudan da aktarabilirsiniz:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
API kimlik bilgilerini sağlamak için Google Cloud uygulamasını kurmanız gerekir. Varsayılan Kimlik Bilgileri.
Kimlik bilgilerinizi belirtmek için:
Akışınızı bir Google Cloud ortamından (Cloud) çalıştırıyorsanız Functions, Cloud Run ve benzeri) otomatik olarak ayarlanır.
Yerel geliştirme ortamınızda bu işlemi aşağıdaki komutu çalıştırarak yapın:
gcloud auth application-default login
- Diğer ortamlar için Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri) sayfasına bakın. dokümanlar.
Ayrıca hesaba Vertex AI Kullanıcısı IAM rolü verildiğinden emin olun. (
roles/aiplatform.user
). Vertex AI erişim denetimine göz atın. dokümanlar.
Kullanım
Üretici modeller
Desteklenen bir modele referans almak için tanımlayıcıyı belirtin:
langModel := vertexai.Model("gemini-1.5-flash")
Şu modeller desteklenir: gemini-1.0-pro
, gemini-1.5-pro
ve
gemini-1.5-flash
.
Model referansları, Vertex AI API'yi çağıran bir Generate()
yöntemine sahiptir:
genRes, err := ai.GenerateText(ctx, langModel, 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 := vertexai.Embedder("text-embedding-004")
Şu modeller desteklenir: textembedding-gecko@003
,
textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
,
textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
ve
multimodalembedding
.
Yerleştirme referansları, Vertex 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.