O plug-in da Vertex AI fornece interfaces para vários modelos de IA generativa do Google usando a API Vertex AI:
- Geração de texto Gemini 1.0 Pro e Gemini 1.0 Pro Vision
- Geração de imagens da Imagen2
- Geração de embedding de texto Gecko
Ela também fornece acesso ao subconjunto de métricas de avaliação pela API Rapid Evaluation da Vertex AI.
- BLEU (em inglês)
- ROUGE
- Fluência
- Segurança
- Embasamento
- Qualidade do resumo
- Utilidade do resumo
- Verbosidade do resumo
Instalação
npm i --save @genkit-ai/vertexai
Se você quiser executar localmente fluxos que usam esse plug-in, também precisará instalar a ferramenta Google Cloud CLI.
Configuração
Para usar esse plug-in, especifique-o ao chamar configureGenkit()
:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
O plug-in exige que você especifique o ID do projeto do Google Cloud, a região em que quer fazer solicitações da API Vertex e as credenciais do projeto do Google Cloud.
É possível especificar o ID do projeto do Google Cloud definindo
projectId
na configuraçãovertexAI()
ou definindo a variável de ambienteGCLOUD_PROJECT
. Se você estiver executando seu fluxo de um ambiente do Google Cloud (Cloud Functions, Cloud Run e assim por diante),GCLOUD_PROJECT
será definido automaticamente como o ID do projeto do ambiente.É possível especificar o local da API definindo
location
na configuração devertexAI()
ou definindo a variável de ambienteGCLOUD_LOCATION
.Para fornecer credenciais de API, você precisa configurar o Application Default Credentials do Google Cloud.
Para especificar suas credenciais:
Se você estiver executando seu fluxo em um ambiente do Google Cloud (Cloud Functions, Cloud Run etc.), ele será definido automaticamente.
No seu ambiente de desenvolvimento local, execute o seguinte comando:
gcloud auth application-default login
- Para outros ambientes, consulte os documentos do Application Default Credentials.
Além disso, verifique se a conta recebeu o papel do IAM de usuário da Vertex AI (
roles/aiplatform.user
). Consulte os documentos de controle de acesso da Vertex AI.
Uso
Modelos de IA generativa
Este plug-in exporta estaticamente referências aos modelos de IA generativa compatíveis:
import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
Use essas referências para especificar qual modelo generate()
usa:
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Esse plug-in também exporta estaticamente uma referência ao modelo de embedding de texto Gecko:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Use essa referência para especificar qual incorporador é usado por um indexador ou recuperador. Por exemplo, se você usar o Chroma DB:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Também é possível gerar um embedding diretamente:
// 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 no Vertex AI Model Garden
Se você tiver acesso aos modelos Claude 3 (haiku, sonnet ou opus) no Vertex AI Model Garden, é possível usá-los com o Genkit.
Confira um exemplo de configuração para ativar modelos do Grupo de modelos da Vertex AI:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
}),
],
});
Em seguida, use-os como modelos regulares:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Avaliadores
Para usar os avaliadores da avaliação rápida da Vertex AI, adicione um bloco evaluation
à configuração do plug-in 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',
},
},
],
},
}),
],
// ...
});
A configuração acima adiciona avaliadores para as métricas Safety
e ROUGE
. O exemplo mostra duas abordagens: a métrica Safety
usa a especificação padrão, enquanto a métrica ROUGE
fornece uma especificação personalizada que define o tipo de medidor como rougeLsum
.
Ambos os avaliadores podem ser executados usando o comando genkit eval:run
com um conjunto de dados compatível, ou seja, um conjunto de dados com os campos output
e reference
. O avaliador Safety
também pode ser executado usando o comando genkit eval:flow -e vertexai/safety
, já que ele requer apenas um output
.