Firebase에서 Vertex AI의 GA 버전을 사용하도록 이전


Vertex AI in Firebase는 2024년 10월 21일에 정식 버전 (GA)으로 출시되었습니다.

Vertex AI in Firebase 라이브러리의 베타 버전(firebase-vertexai:16.0.0-betaXX)을 사용했다면 라이브러리의 GA 버전(firebase-vertexai:16.0.0 이상)을 사용하도록 업그레이드하려면 다음을 변경해야 합니다.

다음은 이전에 필요한 변경사항의 대략적인 목록입니다.

Firebase 프로젝트에서 새로운 필수 API를 사용 설정합니다(모든 사용자에게 필요).

Firebase 프로젝트에서 Vertex AI in Firebase API를 사용 설정하고 Firebase API 키의 허용 목록에 추가해야 합니다. 이는 Vertex AI in Firebase의 GA 버전을 사용해야 하는 새로운 API입니다.

  1. Firebase 콘솔에서 Gemini로 빌드 페이지로 이동합니다.

  2. Vertex AI in Firebase 카드에서 시작하기를 클릭하여 이 API를 사용 설정하고 Firebase API 키의 허용 목록에 추가하는 데 도움이 되는 워크플로를 실행합니다.

  3. 콘솔에서 나머지 워크플로는 건너뛸 수 있습니다.

라이브러리의 GA 버전으로 업데이트합니다(모든 사용자에게 필요).

최신 버전의 Firebase Android BoM를 사용하도록 종속 항목을 업데이트하려면 다음 안내를 따르세요. BoM을 사용하지 않아도 되지만 앱에서 각 Firebase 라이브러리의 호환되는 버전을 사용하도록 하는 데 도움이 되므로 사용하는 것이 좋습니다.

  1. 모듈 (앱 수준) Gradle 파일 (일반적으로 <project>/<app-module>/build.gradle.kts 또는 <project>/<app-module>/build.gradle))에서 Vertex AI in Firebase의 종속 항목을 다음으로 바꿉니다.

    // BEFORE
    dependencies {
      implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")
    }
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.10.0"))
    
      // Add the dependency for the Vertex AI in Firebase library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-vertexai")
    }
  2. Android 프로젝트를 Gradle 파일과 동기화합니다.

Firebase BoM를 사용하지 않으려면 Android 스튜디오에서 제안하는 최신 버전의 firebase-vertexai를 수락하면 됩니다.

추가 변경사항(사용하는 기능에 따라 필요)

SDK의 GA 버전에 몇 가지 변경사항이 구현되었습니다. 앱에서 SDK의 GA 버전을 사용하도록 하려면 코드에서 어떤 변경사항이 필요한지 다음 목록을 검토하세요.

  • 함수 호출
    GA 이전에 이 기능을 구현한 경우 스키마를 정의하는 방법을 업데이트해야 합니다. 함수 선언을 작성하는 방법을 알아보려면 업데이트된 함수 호출 가이드를 검토하는 것이 좋습니다.

  • responseSchema를 사용하여 구조화된 출력 (예: JSON) 생성
    GA 이전에 이 기능을 구현한 경우 스키마를 정의하는 방법을 업데이트해야 합니다. JSON 스키마를 작성하는 방법을 알아보려면 새 구조화된 출력 가이드를 검토하는 것이 좋습니다.

  • 제한 시간

    • 요청의 기본 제한 시간을 180초로 변경했습니다.
  • 열거형

    • enum 클래스와 sealed 클래스를 일반 클래스로 대체했습니다. 이 변경사항을 통해 역호환 방식으로 API를 더 유연하게 발전시킬 수 있습니다.

    • BlockThreshold 열거형의 이름을 HarmBlockThreshold로 변경했습니다.

    • HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReason, FinishReason 열거형에서 값을 삭제했습니다.

  • Blob 메서드

    • 이름에 Blob가 포함된 모든 메서드의 이름을 바꿔 InlineData를 대신 사용합니다.
  • 안전 설정

    • method 필드를 null 허용으로 변경했습니다.
  • 기간 클래스

    • Kotlin의 Duration 클래스 사용을 모두 삭제하고 long로 대체했습니다. 이 변경사항으로 인해 Java와의 상호 운용성이 향상됩니다.
  • 인용 메타데이터

    • 이전에 CitationMetadata에 선언된 모든 필드를 Citation라는 새 클래스로 래핑했습니다. 인용은 CitationMetadatacitations 목록에서 확인할 수 있습니다. 이 변경사항을 통해 플랫폼 전반에서 유형을 더 잘 조정할 수 있습니다.
  • 토큰 수

    • totalBillableCharacters 필드를 null 허용으로 변경했습니다.
  • 총 청구 가능 문자 수

    • 문자가 전송되지 않는 상황을 반영하도록 CountTokensResponsetotalBillableCharacters 속성을 선택사항으로 변경했습니다.
  • 모델 인스턴스화

    • 다른 플랫폼과 일치하도록 requestOptions 매개변수를 매개변수 목록의 끝으로 이동했습니다.

이전과 관련하여 발생할 수 있는 오류

Vertex AI in Firebase의 GA 버전을 사용하도록 이전할 때 이 이전 가이드에 설명된 대로 필요한 변경사항을 모두 완료하지 않으면 오류가 발생할 수 있습니다.

403 오류: Requests to this API firebasevertexai.googleapis.com ... are blocked.

Requests to this API firebasevertexai.googleapis.com ... are blocked.라는 403 오류가 표시되면 일반적으로 Firebase 구성 파일/객체의 API 키에 사용하려는 제품의 허용 목록에 필수 API가 없음을 의미합니다.

앱에서 사용하는 API 키에 키의 'API 제한사항' 허용 목록에 포함된 필수 API가 모두 있는지 확인합니다. Vertex AI in Firebase의 경우 API 키의 허용 목록에 최소한 Vertex AI in Firebase API가 있어야 합니다. 이 API는 Firebase 콘솔을 통해 새 API를 사용 설정할 때 API 키의 허용 목록에 자동으로 추가되었습니다.

Google Cloud 콘솔의 API 및 서비스 > 사용자 인증 정보 패널에서 모든 API 키를 볼 수 있습니다.