Vertex AI 플러그인은 Vertex AI API를 통해 여러 Google 생성형 AI 모델에 인터페이스를 제공합니다.
- Gemini 1.0 Pro 및 Gemini 1.0 Pro Vision 텍스트 생성
- Imagen2 이미지 생성
- Gecko 텍스트 임베딩 생성
또한 Vertex AI Rapid Evaluation API를 통해 평가 측정항목의 하위 집합에 액세스할 수도 있습니다.
설치
npm i --save @genkit-ai/vertexai
이 플러그인을 사용하는 흐름을 로컬에서 실행하려면 Google Cloud CLI 도구도 설치해야 합니다.
구성
이 플러그인을 사용하려면 configureGenkit()
를 호출할 때 지정합니다.
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
플러그인을 사용하려면 Google Cloud 프로젝트 ID, Vertex API 요청을 할 리전, Google Cloud 프로젝트 사용자 인증 정보를 지정해야 합니다.
vertexAI()
구성에서projectId
를 설정하거나GCLOUD_PROJECT
환경 변수를 설정하여 Google Cloud 프로젝트 ID를 지정할 수 있습니다. Google Cloud 환경 (Cloud Functions, Cloud Run 등)에서 흐름을 실행하는 경우GCLOUD_PROJECT
가 환경의 프로젝트 ID로 자동 설정됩니다.API 위치는
vertexAI()
구성에서location
를 설정하거나GCLOUD_LOCATION
환경 변수를 설정하여 지정할 수 있습니다.API 사용자 인증 정보를 제공하려면 Google Cloud 애플리케이션 기본 사용자 인증 정보를 설정해야 합니다.
사용자 인증 정보를 지정하려면 다음 안내를 따르세요.
Google Cloud 환경 (Cloud Functions, Cloud Run 등)에서 흐름을 실행하는 경우 자동으로 설정됩니다.
로컬 개발 환경에서 다음을 실행하여 이를 수행합니다.
gcloud auth application-default login
- 다른 환경에 대해서는 애플리케이션 기본 사용자 인증 정보 문서를 참조하세요.
또한 계정에 Vertex AI 사용자 IAM 역할(
roles/aiplatform.user
)이 부여되었는지 확인합니다. Vertex AI 액세스 제어 문서를 참조하세요.
사용량
생성형 AI 모델
이 플러그인은 지원되는 생성형 AI 모델에 대한 참조를 정적으로 내보냅니다.
import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
다음 참조를 사용하여 generate()
에서 사용할 모델을 지정할 수 있습니다.
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
또한 이 플러그인은 Gecko 텍스트 임베딩 모델에 대한 참조를 정적으로 내보냅니다.
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
이 참조를 사용하여 색인 생성기 또는 검색기가 사용하는 삽입기를 지정할 수 있습니다. 예를 들어 Chroma DB를 사용하는 경우:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
또는 임베딩을 직접 생성할 수도 있습니다.
// 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 모델 가든의 Anthropic 클로드 3
Vertex AI 모델 가든에서 Claude 3 모델 (haiku, sonnet 또는 opus)에 액세스할 수 있는 경우 Genkit와 함께 사용할 수 있습니다.
다음은 Vertex AI 모델 가든 모델을 사용 설정하기 위한 샘플 구성입니다.
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
}),
],
});
그런 다음 일반 모델로 사용합니다.
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
평가자
Vertex AI 신속 평가의 평가자를 사용하려면 vertexAI
플러그인 구성에 evaluation
블록을 추가합니다.
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',
},
},
],
},
}),
],
// ...
});
위 구성은 Safety
및 ROUGE
측정항목의 평가자를 추가합니다. 이 예에서는 두 가지 접근 방식을 보여줍니다. Safety
측정항목은 기본 사양을 사용하고 ROUGE
측정항목은 루즈 유형을 rougeLsum
로 설정하는 맞춤설정된 사양을 제공합니다.
두 평가자 모두 호환되는 데이터 세트, 즉 output
및 reference
필드가 있는 데이터 세트에서 genkit eval:run
명령어를 사용하여 실행할 수 있습니다. Safety
평가자는 output
만 필요하므로 genkit eval:flow -e vertexai/safety
명령어를 사용하여 실행할 수도 있습니다.