El complemento de Vertex AI proporciona interfaces para varios modelos de IA generativa de Google a través de la API de Vertex AI:
- Generación de texto de Gemini 1.0 Pro y Gemini 1.0 Pro Vision
- Generación de imágenes de Imagen2
- Generación de incorporaciones de texto de gecos
También proporciona acceso a un subconjunto de métricas de evaluación a través de la API de evaluación rápida de Vertex AI.
- BLEU
- RUTA
- Fluidez
- Seguridad
- Gredencial
- Calidad de los resúmenes
- Utilidad de los resúmenes
- Verbosidad de los resúmenes
Instalación
npm i --save @genkit-ai/vertexai
Si deseas ejecutar flujos de forma local que usan este complemento, también debes tener instalada la herramienta Google Cloud CLI.
Configuración
Para usar este complemento, especifícalo cuando llames a configureGenkit()
:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
El complemento requiere que especifiques el ID del proyecto de Google Cloud, la región en la que deseas realizar las solicitudes a la API de Vertex y las credenciales de tu proyecto de Google Cloud.
Para especificar tu ID del proyecto de Google Cloud, configura
projectId
en la configuraciónvertexAI()
o establece la variable de entornoGCLOUD_PROJECT
. Si ejecutas tu flujo desde un entorno de Google Cloud (Cloud Functions, Cloud Run, etc.),GCLOUD_PROJECT
se configura automáticamente en el ID del proyecto del entorno.Para especificar la ubicación de la API, configura
location
en la configuraciónvertexAI()
o configura la variable de entornoGCLOUD_LOCATION
.Para proporcionar credenciales de API, debes configurar las credenciales predeterminadas de la aplicación de Google Cloud.
Para especificar tus credenciales, haz lo siguiente:
Si ejecutas tu flujo desde un entorno de Google Cloud (Cloud Functions, Cloud Run, etc.), esto se configura automáticamente.
En tu entorno de desarrollo local, ejecuta el siguiente comando para hacer lo siguiente:
gcloud auth application-default login
- Para otros entornos, consulta los documentos de credenciales predeterminadas de la aplicación.
Además, asegúrate de que la cuenta tenga el rol de IAM de usuario de Vertex AI (
roles/aiplatform.user
). Consulta los documentos de control de acceso de Vertex AI.
Uso
Modelos de IA generativa
Este complemento exporta de forma estática referencias a sus modelos de IA generativa compatibles:
import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
Puedes usar estas referencias para especificar qué modelo usa generate()
:
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Este complemento también exporta de forma estática una referencia al modelo de incorporación de texto de Gecko:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Puedes usar esta referencia para especificar qué incorporado usa un indexador o un retriever. Por ejemplo, si usas Chroma DB:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
También puedes generar una incorporación directamente:
// 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 en Vertex AI Model Garden
Si tienes acceso a los modelos de Claudia 3 (haiku, sonnet u opus) en Model Garden de Vertex AI puedes usarlos con Genkit.
Esta es una configuración de muestra para habilitar modelos de Model Garden de Vertex AI:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
}),
],
});
Luego, úsalos como modelos normales:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Evaluadores
Para usar los evaluadores de la evaluación rápida de Vertex AI, agrega un bloque evaluation
a la configuración del complemento 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',
},
},
],
},
}),
],
// ...
});
La configuración anterior agrega evaluadores para las métricas Safety
y ROUGE
. En el ejemplo, se muestran dos enfoques: la métrica Safety
usa la especificación predeterminada, mientras que la métrica ROUGE
proporciona una especificación personalizada que establece el tipo de color rojo en rougeLsum
.
Ambos evaluadores se pueden ejecutar mediante el comando genkit eval:run
con un conjunto de datos compatible, es decir, un conjunto de datos con los campos output
y reference
. El evaluador Safety
también se puede ejecutar con el comando genkit eval:flow -e vertexai/safety
, ya que solo requiere un output
.