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 API Vertex AI:
- Tạo văn bản Gemini 1.0 Pro và Gemini 1.0 Pro Vision
- Tạo hình ảnh Imagen2
- Tạo nhúng văn bản Gecko
Dịch vụ này cũng cấp quyền truy cập vào một số chỉ số đánh giá thông qua Quick Đánh giá API của Vertex AI.
- BLEU
- Hàm ROUGE
- Sự trôi chảy
- An toàn
- Cơ sở
- Chất lượng tóm tắt
- Tính hữu ích của nội dung tóm tắt
- Độ chi tiết tóm tắt
Lắp đặt
npm i --save @genkit-ai/vertexai
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ũng 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 chỉ định trình bổ trợ này 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 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.
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 môi trườngGCLOUD_PROJECT
biế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.),GCLOUD_PROJECT
sẽ được tự động đặ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 phần Cấu hìnhvertexAI()
hoặc bằng cách đặt môi trườngGCLOUD_LOCATION
biến.Để 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 AI tạo sinh
Trình bổ trợ này xuất tĩnh các tệp tham chiếu đến các mô hình AI tạo sinh được hỗ trợ:
import { gemini15Flash, gemini15Pro, 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: gemini15Flash,
prompt: 'What should I do when I visit Melbourne?',
});
Trình bổ trợ này cũng xuất tĩnh một tham chiếu đến văn bản Gecko mô hình:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Bạn có thể sử dụng tham chiếu này để chỉ định trình nhúng hoặc trình truy xuất nào 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 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 vật âm nghẹt thở 3 trên công viên Vertex AI Model Garden
Nếu có quyền sử dụng mô hình CRO 3 (haiku, sonnet hoặc opus) trong Vertex AI Model Garden, bạn có thể sử dụng các mô hình đó với Genkit.
Dưới đây là cấu hình mẫu để bật các mô hình Vertex AI Model Garden:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [claude3Haiku, claude3Sonnet, claude3Opus],
},
}),
],
});
Sau đó, hãy sử dụng chúng làm các mô hình thông thường:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Llama 3.1 405b trên Vertex AI Model Garden
Trước tiên, bạn cần bật Llama 3.1 API Service trong Vertex AI Model Garden.
Dưới đây là cấu hình mẫu cho Llama 3.1 405b trong trình bổ trợ Vertex AI:
import { vertexAI, llama3 } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [llama3],
},
}),
],
});
Sau đó, hãy sử dụng nó làm các mô hình thông thường:
const llmResponse = await generate({
model: llama3,
prompt: 'Write a function that adds two numbers together',
});
Người đánh giá
Để sử dụng người đánh giá của chương trình Đá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ững người đánh giá cho các chỉ số Safety
và ROUGE
. Ví dụ này cho thấy hai cách tiếp cận: chỉ số Safety
sử dụng quy cách mặc định, trong khi chỉ số ROUGE
cung cấp quy cách tuỳ chỉnh để đặt loại lộ trình 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
.