Wtyczka Vertex AI udostępnia interfejsy kilku modeli generatywnej AI Google za pomocą interfejsu Vertex AI API:
- Generowanie tekstu Gemini 1.0 Pro i Gemini 1.0 Pro Vision
- Generowanie obrazów Imagen2
- Generacja osadzonego tekstu gekon
Zapewnia też dostęp do podzbioru wskaźników oceny przez interfejs Rapid Evaluation API w Vertex AI.
- BLEU
- RUCH
- Płynność
- Bezpieczeństwo
- Podstawa
- Jakość podsumowywania
- Przydatność podsumowania
- Szczegółowość podsumowania
Instalacja
npm i --save @genkit-ai/vertexai
Jeśli chcesz uruchamiać lokalnie przepływy korzystające z tej wtyczki, musisz też zainstalować narzędzie Google Cloud CLI.
Konfiguracja
Aby użyć tej wtyczki, podaj ją podczas wywoływania funkcji 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 chcesz wysyłać żądania do interfejsu Vertex API, oraz danych logowania do projektu Google Cloud.
Identyfikator projektu Google Cloud możesz określić, ustawiając
projectId
w konfiguracjivertexAI()
lub ustawiając zmienną środowiskowąGCLOUD_PROJECT
. Jeśli uruchamiasz przepływ ze środowiska Google Cloud (Cloud Functions, Cloud Run itd.),GCLOUD_PROJECT
jest automatycznie ustawiany na identyfikator projektu środowiska.Lokalizację interfejsu API możesz określić, ustawiając
location
w konfiguracjivertexAI()
lub ustawiając zmienną środowiskowąGCLOUD_LOCATION
.Aby podać dane logowania do interfejsu API, musisz skonfigurować domyślne dane uwierzytelniające aplikacji Google Cloud.
Aby podać dane logowania:
Jeśli przepływ uruchamiasz ze środowiska Google Cloud (Cloud Functions, Cloud Run itd.), jest ustawiany automatycznie.
W lokalnym środowisku programistycznym uruchom polecenie:
gcloud auth application-default login
- W przypadku innych środowisk zapoznaj się z dokumentacją domyślnych danych logowania aplikacji.
Sprawdź też, czy konto ma przypisaną rolę uprawnień użytkownika Vertex AI (
roles/aiplatform.user
). Zapoznaj się z dokumentacją kontroli dostępu Vertex AI.
Wykorzystanie
Modele generatywnej AI
Ta wtyczka statycznie eksportuje odwołania do obsługiwanych modeli generatywnej AI:
import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
Możesz użyć tych odwołań, aby określić, którego modelu generate()
używa:
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Ta wtyczka statycznie eksportuje też odwołanie do modelu umieszczania tekstu gekon:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Możesz użyć tego odwołania, aby określić, który mechanizm umieszczania ma być używany przez indekser lub moduł pobierania. Jeśli na przykład używasz bazy danych Chroma:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Możesz też wygenerować umieszczenie 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?',
});
Anthropic Claude 3 w bazie modeli Vertex AI
Jeśli masz dostęp do modeli Claude 3 (haiku, sonnet lub opus) w ogrodzie modeli Vertex AI, możesz ich używać w Genkit.
Oto przykładowa konfiguracja włączania 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żywaj ich jako zwykłych modeli:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Weryfikatorzy
Aby używać oceniających 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 weryfikatorów wskaźników Safety
i ROUGE
. W przykładzie użyto 2 metod: dane Safety
wykorzystują domyślną specyfikację, a dane ROUGE
– niestandardową specyfikację ustawiającą typ rouge na rougeLsum
.
Oba wskaźniki można uruchamiać za pomocą polecenia genkit eval:run
ze zgodnym zbiorem danych, czyli zbiorem danych z polami output
i reference
. Oceniający Safety
możesz też uruchomić za pomocą polecenia genkit eval:flow -e vertexai/safety
, ponieważ wymaga on tylko wartości output
.