Vertex AI eklentisi, Google'ın çeşitli üretken yapay zeka modellerine arayüz sağlar Vertex AI API aracılığıyla yapabilirsiniz:
- Gemini 1.0 Pro ve Gemini 1.0 Pro Vision metin oluşturma
- Imagen2 resim oluşturma
- Geko metin yerleştirme oluşturma
Ayrıca Vertex AI Hızlı Değerlendirme API'si üzerinden değerlendirme metriklerinin alt kümesine erişim de sunar.
Kurulum
npm i --save @genkit-ai/vertexai
Bu eklentiyi kullanan akışları yerel olarak çalıştırmak istiyorsanız Google Cloud CLI aracı yüklenmiş olmalıdır.
Yapılandırma
Bu eklentiyi kullanmak için configureGenkit()
çağırırken eklentiyi belirtin:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
Eklenti, Google Cloud projenizin kimliğini belirtmenizi gerektirir. region [bölge] Vertex API isteklerinde bulunmak istediğiniz paket ve Google Cloud projeniz kimlik bilgileri.
Google Cloud proje kimliğinizi, şurada
projectId
öğesini ayarlayarak belirtebilirsiniz:vertexAI()
yapılandırmasını veyaGCLOUD_PROJECT
ortamını ayarlayarak değişkenine eklenmelidir. Akışınızı bir Google Cloud ortamından (Cloud) çalıştırıyorsanız Functions, Cloud Run vb.)GCLOUD_PROJECT
, otomatik olarak ortamın proje kimliğidir.API konumunu
location
vertexAI()
yapılandırmasını veyaGCLOUD_LOCATION
ortamını ayarlayarak değişkenine eklenmelidir.API kimlik bilgilerini sağlamak için Google Cloud uygulamasını kurmanız gerekir. Varsayılan Kimlik Bilgileri.
Kimlik bilgilerinizi belirtmek için:
Akışınızı bir Google Cloud ortamından (Cloud) çalıştırıyorsanız Functions, Cloud Run ve benzeri) otomatik olarak ayarlanır.
Yerel geliştirme ortamınızda bu işlemi aşağıdaki komutu çalıştırarak yapın:
gcloud auth application-default login
- Diğer ortamlar için Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri) sayfasına bakın. dokümanlar.
Ayrıca hesaba Vertex AI Kullanıcısı IAM rolü verildiğinden emin olun. (
roles/aiplatform.user
). Vertex AI erişim denetimine göz atın. dokümanlar.
Kullanım
Üretken Yapay Zeka Modelleri
Bu eklenti, desteklenen üretken yapay zeka modellerine yapılan referansları statik olarak dışa aktarır:
import { gemini15Flash, gemini15Pro, imagen2 } from '@genkit-ai/vertexai';
generate()
tarafından kullanılacak modeli belirtmek için bu referanslardan yararlanabilirsiniz:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'What should I do when I visit Melbourne?',
});
Bu eklenti ayrıca, yerleştirilmiş Gecko metin referansını statik olarak dışa aktarır model:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Bir dizinleyici veya alıcıyı hangi yerleştiriciyi belirtmek için bu referansı kullanabilirsiniz? belirler. Örneğin, Chroma DB kullanıyorsanız:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Dilerseniz doğrudan bir yerleştirme oluşturabilirsiniz:
// import { embed, EmbedderArgument } from '@genkit-ai/ai/embedder';
const embedding = await embed({
embedder: textEmbeddingGecko,
content: 'How many widgets do you have in stock?',
});
Vertex AI Model Garden'da Anthropic Claude 3
Vertex AI Model Garden'da Claude 3 modellerine (haiku, sonnet veya opus) erişiminiz varsa bunları Genkit ile kullanabilirsiniz.
Vertex AI Model Garden modellerini etkinleştirmek için aşağıdaki örnek yapılandırma verilmiştir:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [claude3Haiku, claude3Sonnet, claude3Opus],
},
}),
],
});
Daha sonra bunları normal model olarak kullanın:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Vertex AI Model Garden'da Lama 3.1 405b
Öncelikle Vertex AI Model Garden'da Llama 3.1 API Service'i etkinleştirmeniz gerekir.
Vertex AI eklentisinde Llama 3.1 405b için örnek yapılandırma aşağıda verilmiştir:
import { vertexAI, llama3 } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [llama3],
},
}),
],
});
Daha sonra, bunu normal modeller olarak kullanın:
const llmResponse = await generate({
model: llama3,
prompt: 'Write a function that adds two numbers together',
});
Değerlendiriciler
Vertex AI Hızlı Değerlendirme'deki değerlendiricileri kullanmak için vertexAI
eklentisi yapılandırmanıza bir evaluation
bloğu ekleyin.
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',
},
},
],
},
}),
],
// ...
});
Yukarıdaki yapılandırma, Safety
ve ROUGE
metrikleri için değerlendiriciler ekler. Örnekte iki yaklaşım gösterilmektedir: Safety
metriği varsayılan spesifikasyonu kullanırken ROUGE
metriği, rouge türünü rougeLsum
olarak ayarlayan özelleştirilmiş bir spesifikasyon sağlar.
Her iki değerlendirici de genkit eval:run
komutu kullanılarak uyumlu bir veri kümesiyle (yani output
ve reference
alanları olan bir veri kümesi) çalıştırılabilir. Safety
değerlendiricisi, yalnızca output
gerektirdiğinden genkit eval:flow -e vertexai/safety
komutu kullanılarak da çalıştırılabilir.