Cloud Run을 사용하여 Firebase Genkit 흐름을 웹 서비스로 배포할 수 있습니다. 예를 들어 이 페이지에서는 기본 샘플 흐름을 배포하는 프로세스를 안내합니다.
필요한 도구를 설치합니다.
Node.js 버전 20 이상을 사용 중인지 확인합니다 (실행 확인하려면
node --version
)
Cloud 콘솔을 사용하여 새 Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다. 프로젝트를 결제 계정에 연결해야 합니다.
프로젝트를 만들거나 선택한 후 이를 사용하도록 Google Cloud CLI를 구성합니다.
gcloud init
Genkit 샘플 프로젝트용 디렉터리를 만듭니다.
mkdir -p ~/tmp/genkit-cloud-project
cd ~/tmp/genkit-cloud-project
IDE를 사용할 경우 이 디렉터리로 열어 둡니다.
프로젝트 디렉터리에서 Node.js 프로젝트를 초기화합니다.
npm init -y
Node.js 프로젝트에서 Genkit를 초기화합니다.
genkit init
사용할 모델 제공업체를 선택합니다. 다음의 기본값을 수락합니다. 확인할 수 있습니다
genkit
도구는 몇 가지 샘플 소스 파일을 생성합니다. 을 통해 자체 AI 흐름 개발을 시작할 수 있습니다. 이 과정의 나머지 부분에서는 샘플 흐름을 배포하기만 하면 됩니다배포된 함수에 API 사용자 인증 정보를 제공합니다. 선택한 모델 공급업체에 따라 다음 작업 중 하나를 수행합니다.
Gemini(Google AI)
Google AI를 해당 리전에서 사용할 수 있는지 확인합니다.
Google AI Studio를 사용하는 Gemini API의 API 키를 생성합니다.
Cloud Run 환경에서 API 키를 사용할 수 있도록 설정합니다.
- Cloud 콘솔에서 Secret Manager API를 사용 설정합니다.
- Secret Manager 페이지에서 API 키가 포함된 새 보안 비밀을 만듭니다.
- 보안 비밀을 만든 후 같은 페이지에서 Secret Manager 보안 비밀 접근자 역할을 통해 기본 컴퓨팅 서비스 계정에 보안 비밀에 대한 액세스 권한을 부여합니다. (IAM 페이지에서 기본 컴퓨팅 서비스 계정의 이름을 찾을 수 있습니다.)
이후 단계에서 서비스를 배포할 때 이 보안 비밀의 이름을 참조해야 합니다.
선택사항: 다음 절차와 같이 로컬에서 흐름을 실행하려면
GOOGLE_GENAI_API_KEY
환경 변수를 키에 설정합니다.export GOOGLE_GENAI_API_KEY=<your API key>
Gemini(Vertex AI)
Cloud 콘솔에서 프로젝트에 대해 Vertex AI API를 사용 설정합니다.
IAM 페이지에서 기본 컴퓨팅 서비스 계정에 Vertex AI 사용자 역할이 부여되었는지 확인합니다.
선택사항: 다음 몇 가지 추가 환경 변수를 설정하고
gcloud
도구를 사용하여 설정 애플리케이션 기본 사용자 인증 정보:export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
이 튜토리얼에서 설정해야 하는 유일한 보안 비밀은 모델 제공업체이지만, 일반적으로 흐름에서 사용하는 각 서비스에 대해 유사한 작업을 수행해야 합니다.
선택사항: 개발자 UI에서 흐름을 사용해 봅니다.
UI를 시작합니다.
genkit start
개발자 UI(http://localhost:4000/)에서 흐름을 실행합니다.
menuSuggestionFlow를 클릭합니다.
JSON 입력 탭에서 모델의 주체를 입력합니다.
"banana"
실행을 클릭합니다.
지금까지 모든 것이 예상한 대로 작동한다면 흐름을 빌드하고 배포할 수 있습니다.
Gemini(Google AI)
npm run build
gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
Gemini(Vertex AI)
npm run build
gcloud run deploy
인증되지 않은 호출을 허용할지 묻는 메시지가 표시되면
N
을 선택합니다.N
으로 응답하면 IAM 사용자 인증 정보를 요구하도록 서비스가 구성됩니다. 사용자 인증 정보를 제공하는 방법에 대한 자세한 내용은 Cloud Run 문서의 인증을 참조하세요.
배포가 완료되면 도구에서 서비스 URL을 출력합니다. curl
로 테스트할 수 있습니다.
curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'