Wtyczka Vertex AI udostępnia interfejsy Vertex AI API do kilku modeli generatywnej AI od Google:
- 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ż zainstalować narzędzie Google Cloud CLI.
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, regionu, do którego mają być wysyłane żądania do interfejsu Vertex API, oraz danych logowania do projektu Google Cloud.
Możesz określić identyfikator projektu Google Cloud przez ustawienie atrybutu
projectId
w konfiguracjivertexAI()
lub przez ustawienie zmiennej środowiskowejGCLOUD_PROJECT
. Jeśli uruchamiasz przepływ ze środowiska Google Cloud (funkcji w Cloud Functions, Cloud Run itp.), parametrGCLOUD_PROJECT
jest automatycznie ustawiany na identyfikator projektu tego środowiska.Lokalizacja interfejsu API możesz określić za pomocą ustawienia
location
w konfiguracjivertexAI()
lub zmiennej środowiskowejGCLOUD_LOCATION
.Aby podać dane logowania do interfejsu API, musisz skonfigurować domyślne dane logowania do aplikacji Google Cloud.
Aby podać dane logowania:
Jeśli uruchamiasz przepływ ze środowiska Google Cloud (funkcji w Cloud Functions, Cloud Run itp.), to ustawienie jest ustawione automatycznie.
W lokalnym środowisku programistycznym uruchom to polecenie:
gcloud auth application-default login
- W przypadku innych środowisk zapoznaj się z dokumentacją domyślnych danych logowania aplikacji.
Sprawdź też, czy do konta została przypisana rola użytkownika Vertex AI (
roles/aiplatform.user
). Zapoznaj się z dokumentacją dotyczącą kontroli dostępu Vertex AI.
Wykorzystanie
Modele generatywnej AI
Ta wtyczka statycznie eksportuje odwołania do obsługiwanych przez nią modeli generatywnej AI:
import { geminiPro, geminiProVision, 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: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Ta wtyczka statycznie eksportuje też odwołanie do modelu osadzania tekstu Gekon:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Możesz użyć tego odwołania, aby określić, z którego mechanizmu umieszczenia będzie korzystać indekser lub retriever. 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',
modelGardenModels: [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?',
});
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
.