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:
- Tạo văn bản Gemini 1.0 Pro và Gemini 1.0 Pro
- Tạo hình ảnh Imagen2
- Tạo nhúng văn bản tắc kè
Ngoài ra, giải pháp này còn cấp quyền truy cập vào một số chỉ số đánh giá thông qua API Đánh giá nhanh của Vertex AI.
- BLEU
- Hàm ROG
- Mức độ thành thạo
- Tính an toàn
- Lý do
- Chất lượng tóm tắt
- Mức độ hữu ích của tính năng tóm tắt
- Độ chi tiết của tính năng tóm tắt
Cài đặt
npm i --save @genkit-ai/vertexai
Nếu muốn chạy các luồng sử dụng trình bổ trợ này trên máy, bạn cũng cần cài đặt công cụ Google Cloud CLI.
Cấu hình
Để sử dụng trình bổ trợ này, hãy chỉ định trình bổ trợ khi bạn gọi configureGenkit()
:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
Trình bổ trợ này yêu cầu bạn chỉ định mã dự án Google Cloud, khu vực mà bạn muốn gửi yêu cầu API Vertex và thông tin xác thực dự án Google Cloud của bạn.
Bạn có thể chỉ định mã dự án trên Google Cloud bằng cách đặt
projectId
trong cấu hìnhvertexAI()
hoặc bằng cách đặt biến môi trườngGCLOUD_PROJECT
. Nếu bạn đang chạy flow từ một môi trường Google Cloud (Chức năng đám mây, Cloud Run, v.v.),GCLOUD_PROJECT
sẽ tự động được đặt thành mã dự án của môi trường.Bạn có thể chỉ định vị trí API bằng cách đặt
location
trong cấu hìnhvertexAI()
hoặc bằng cách đặt biến môi trườngGCLOUD_LOCATION
.Để cung cấp thông tin đăng nhập API, bạn cần thiết lập Thông tin xác thực mặc định của ứng dụng Google Cloud.
Cách chỉ định thông tin đăng nhập của bạn:
Nếu bạn đang chạy flow từ một môi trường Google Cloud (Chức năng đám mây, Cloud Run, v.v.), thì quy trình này sẽ được đặt tự động.
Trên môi trường 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 tài liệu về Thông tin xác thực mặc định của ứng dụng.
Ngoài ra, hãy đảm bảo rằng tài khoản đã được cấp vai trò IAM cho người dùng Vertex AI (
roles/aiplatform.user
). Xem tài liệu về kiểm soát quyền truy cập của Vertex AI.
Hoạt động sử dụng
Mô hình AI tạo sinh
Trình bổ trợ này xuất tĩnh các tệp đối chiếu sang các mô hình AI tạo sinh được hỗ trợ:
import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
Bạn có thể sử dụng các tham chiếu này để chỉ định mô hình mà generate()
sử dụng:
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Trình bổ trợ này cũng xuất tĩnh tham chiếu đến mô hình nhúng văn bản Gecko:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Bạn có thể sử dụng tham chiếu này để chỉ định trình nhúng mà trình lập chỉ mục hoặc trình truy xuất sử dụng. Ví dụ: nếu bạn sử dụng Chroma DB:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Hoặc bạn có thể tạo một video nhúng trực tiếp:
// import { embed, EmbedderArgument } from '@genkit-ai/ai/embedder';
const embedding = await embed({
embedder: textEmbeddingGecko,
content: 'How many widgets do you have in stock?',
});
Nhân hình Claude 3 trên Vườn mô hình Vertex AI
Nếu có quyền sử dụng các mô hình Claude 3 (haiku, sonnet hoặc opus) trong Vườn mô hình Vertex AI, bạn có thể sử dụng các mô hình đó cùng với Genkit.
Dưới đây là cấu hình mẫu để bật các mô hình Vertex AI Model Vườn:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
}),
],
});
Sau đó, sử dụng chúng dưới dạng mô hình thông thường:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Người đánh giá
Để sử dụng đội ngũ nhân viên đánh giá trong công cụ Đánh giá nhanh của Vertex AI, hãy thêm một khối evaluation
vào cấu hình trình bổ trợ vertexAI
.
import { vertexAI, VertexAIEvaluationMetricType } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
projectId: 'your-cloud-project',
location: 'us-central1',
evaluation: {
metrics: [
VertexAIEvaluationMetricType.SAFETY,
{
type: VertexAIEvaluationMetricType.ROUGE,
metricSpec: {
rougeType: 'rougeLsum',
},
},
],
},
}),
],
// ...
});
Cấu hình ở trên thêm nhân viên đánh giá cho chỉ số Safety
và ROUGE
. Ví dụ này cho thấy 2 cách tiếp cận – chỉ số Safety
sử dụng thông số kỹ thuật mặc định, trong khi chỉ số ROUGE
cung cấp thông số kỹ thuật tuỳ chỉnh để đặt loại rouge thành rougeLsum
.
Bạn có thể chạy cả hai trình đánh giá bằng lệnh genkit eval:run
với một tập dữ liệu tương thích, tức là một tập dữ liệu có các trường output
và reference
. Bạn cũng có thể chạy trình đánh giá Safety
bằng lệnh genkit eval:flow -e vertexai/safety
vì lệnh này chỉ yêu cầu output
.