Trình bổ trợ Vertex AI cung cấp giao diện cho một số mô hình AI tạo sinh của Google thông qua Vertex AI API.
Yêu cầu
Nếu muốn chạy cục bộ các luồng sử dụng trình bổ trợ này, bạn cần có Đã cài đặt công cụ Google Cloud CLI.
Cấu hình
Để sử dụng trình bổ trợ này, hãy nhập gói vertexai
và gọi vertexai.Init()
:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
Trình bổ trợ này yêu cầu bạn chỉ định mã dự án trên Google Cloud, khu vực mà bạn muốn đưa ra yêu cầu Vertex API và dự án Google Cloud của bạn thông tin xác thực.
Theo mặc định,
vertexai.Init()
lấy mã dự án trên Google Cloud từ Biến môi trườngGCLOUD_PROJECT
.Bạn cũng có thể chuyển trực tiếp giá trị này:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
Theo mặc định,
vertexai.Init()
sẽ lấy vị trí Vertex AI API từ Biến môi trườngGCLOUD_LOCATION
.Bạn cũng có thể chuyển trực tiếp giá trị này:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
Để cung cấp thông tin đăng nhập API, bạn cần thiết lập Google Cloud Application Thông tin xác thực mặc định.
Để chỉ định thông tin đăng nhập của bạn:
Nếu bạn đang chạy quy trình từ môi trường Google Cloud (Đám mây Hàm, Cloud Run, v.v.), các hàm này sẽ được đặt tự động.
Trên môi trường nhà phát triển cục bộ, hãy thực hiện việc này bằng cách chạy:
gcloud auth application-default login
- Đối với các môi trường khác, hãy xem phần Thông tin xác thực mặc định của ứng dụng tài liệu.
Ngoài ra, hãy đảm bảo tài khoản được cấp vai trò IAM của người dùng Vertex AI (
roles/aiplatform.user
). Xem chế độ kiểm soát quyền truy cập của Vertex AI tài liệu.
Cách sử dụng
Mô hình tạo sinh
Để tham chiếu đến một mô hình được hỗ trợ, hãy chỉ định giá trị nhận dạng của mô hình đó:
langModel := vertexai.Model("gemini-1.5-flash")
Các mô hình sau được hỗ trợ: gemini-1.0-pro
, gemini-1.5-pro
và
gemini-1.5-flash
.
Các tham chiếu mô hình có phương thức Generate()
để gọi Vertex AI API:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
Hãy xem phần Tạo nội dung để biết thêm thông tin.
Mô hình nhúng
Để tham chiếu đến một mô hình nhúng được hỗ trợ, hãy chỉ định giá trị nhận dạng của mô hình đó:
embeddingModel := vertexai.Embedder("text-embedding-004")
Các mô hình sau được hỗ trợ: textembedding-gecko@003
,
textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
và
multimodalembedding
.
Các tệp tham chiếu trình nhúng có phương thức Embed()
để gọi Vertex AI API:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
Bạn cũng có thể truyền một Trình nhúng đến phương thức Index()
của trình lập chỉ mục và phương thức truy xuất
Phương thức 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
}
Hãy xem bài viết Tạo tăng cường truy xuất (RAG) để biết thêm thông tin.