Wtyczka Vertex AI udostępnia interfejsy do kilku modeli generatywnej AI od Google. za pomocą interfejsu Vertex AI API:
- Generowanie tekstu w Gemini 1.0 Pro i Gemini 1.0 Pro Vision
- Generowanie obrazu Imagen2
- Generowanie wektora dystrybucyjnego Gekon
Zapewnia też dostęp do podzbioru wskaźników oceny za pomocą interfejsu Vertex AI Rapid Evaluation API.
- BLEU (w języku angielskim)
- ROUGE
- Płynność
- Bezpieczeństwo
- Zmienialność
- Jakość podsumowania
- Przydatność podsumowania
- Szczegółowość streszczenia
Instalacja
npm i --save @genkit-ai/vertexai
Jeśli chcesz lokalnie uruchamiać przepływy korzystające z tej wtyczki, musisz też dodać Zainstalowano narzędzie wiersza poleceń Google Cloud.
Konfiguracja
Aby używać tej wtyczki, określ ją, gdy wywołujesz configureGenkit()
:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
Wtyczka wymaga podania identyfikatora projektu Google Cloud, region [region] do których chcesz wysyłać żądania do interfejsu Vertex API, a Twój projekt Google Cloud dane logowania.
Możesz określić identyfikator projektu Google Cloud przez ustawienie
projectId
w konfiguracjęvertexAI()
lub przez ustawienie środowiskaGCLOUD_PROJECT
. Jeśli uruchamiasz przepływ ze środowiska Google Cloud (Cloud Funkcje, Cloud Run itp.), w poluGCLOUD_PROJECT
jest automatycznie ustawiona wartość identyfikator projektu środowiska.Możesz określić lokalizację interfejsu API poprzez ustawienie
location
wvertexAI()
lub przez ustawienie środowiskaGCLOUD_LOCATION
.Aby podać dane logowania do interfejsu API, musisz skonfigurować aplikację Google Cloud Domyślne dane logowania.
Aby podać dane logowania:
Jeśli uruchamiasz przepływ ze środowiska Google Cloud (Cloud Functions, Cloud Run itd.), to ustawienie jest ustawiane automatycznie.
W lokalnym środowisku programistycznym uruchom to polecenie:
gcloud auth application-default login
- W przypadku innych środowisk zapoznaj się z sekcją Domyślne dane logowania aplikacji. dokumenty.
Sprawdź też, czy do konta została przypisana rola użytkownika Vertex AI (
roles/aiplatform.user
). Zobacz kontrolę dostępu Vertex AI dokumenty.
Wykorzystanie
Modele generatywnej AI
Ta wtyczka statycznie eksportuje odwołania do obsługiwanych przez nią modeli generatywnej AI:
import { gemini15Flash, gemini15Pro, imagen2 } from '@genkit-ai/vertexai';
Korzystając z tych odwołań, możesz określić, którego modelu używa generate()
:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'What should I do when I visit Melbourne?',
});
Ta wtyczka statycznie eksportuje też odniesienie do osadzania tekstu geko model:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Za pomocą tego odwołania możesz określić, który komponent osadzający, a także używający narzędzi do pobierania, zastosowań. Jeśli na przykład używasz bazy danych Chroma:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Wektor dystrybucyjny możesz też wygenerować bezpośrednio:
// import { embed, EmbedderArgument } from '@genkit-ai/ai/embedder';
const embedding = await embed({
embedder: textEmbeddingGecko,
content: 'How many widgets do you have in stock?',
});
Antropikalny Claude 3 w bazie modeli Vertex AI
Jeśli masz dostęp do modeli Claude 3 (haiku, sonnet lub opus) w bazie modeli Vertex AI, możesz ich używać w połączeniu z Genkit.
Przykładowa konfiguracja umożliwiająca włączanie modeli bazy modeli Vertex AI:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [claude3Haiku, claude3Sonnet, claude3Opus],
},
}),
],
});
Następnie użyj ich jako zwykłych modeli:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Llama 3.1 405b w bazie modeli Vertex AI
Jeśli masz dostęp do pakietu Llama 3.1 405b w bazie modeli Vertex AI, możesz go używać z Genkit.
Przykładowa konfiguracja umożliwiająca włączanie modeli bazy modeli Vertex AI:
import { vertexAI, llama3 } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [llama3],
},
}),
],
});
Następnie użyj go jako zwykłych modeli:
const llmResponse = await generate({
model: llama3,
prompt: 'Write a function that adds two numbers together',
});
Weryfikatorzy
Aby korzystać z weryfikatorów z Vertex AI Rapid Evaluation, dodaj blok evaluation
do konfiguracji wtyczki 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',
},
},
],
},
}),
],
// ...
});
Powyższa konfiguracja dodaje weryfikatora wskaźników Safety
i ROUGE
. Przykład pokazuje 2 podejścia – dane Safety
korzystają ze specyfikacji domyślnej, a dane ROUGE
zawierają specyfikację niestandardową, która ustawia typ wskaźnika na rougeLsum
.
Oba weryfikatory można uruchomić za pomocą polecenia genkit eval:run
ze zgodnym zbiorem danych, czyli ze zbiorem danych z polami output
i reference
. Weryfikator Safety
można też uruchomić za pomocą polecenia genkit eval:flow -e vertexai/safety
, ponieważ wymaga ono tylko output
.