하이브리드 추론을 사용하여 AI 기반 Apple 앱과 기능을 빌드할 수 있습니다. Firebase AI Logic 하이브리드 추론을 사용하면 온디바이스 모델 (특히 Apple의 파운데이션 모델 프레임워크)을 사용할 수 있는 경우 이를 사용하여 추론을 실행하고, 그렇지 않은 경우 클라우드 호스팅 Google 모델로 원활하게 대체할 수 있습니다(그 반대의 경우도 마찬가지).
이 페이지에서는 클라이언트 SDK를 시작하는 방법과 온도와 같은 추가 구성 옵션 및 기능 을 보여줍니다.
Firebase AI Logic을 통한 온디바이스 추론은 Firebase AI Logic SDK v12.13.0 이상을 사용하고 Apple Intelligence가 사용 설정된 기기에서 실행되는 Apple 앱에서 지원됩니다. Apple의 파운데이션 모델 프레임워크의 허용 가능한 사용 요구사항에 의거합니다.
권장 사용 사례
추론을 위한 온디바이스 모델 을 사용하면 다음과 같은 이점이 있습니다.
- 더욱 강화된 개인 정보 보호
- 무료 추론
- 오프라인 기능
하이브리드 기능을 사용하면 다음과 같은 이점이 있습니다.
- 최종 사용자의 기기와 관계없이 모든 고객에게 유사한 앱 환경 제공
- 인터넷 연결, 할당량 제한, 기기 기능과 관계없이 생성형 AI 기능의 가용성 개선
지원되는 기능, API, 기기
Firebase AI Logic을 사용하여 하이브리드 및 온디바이스 추론을 구현하기 전에 이 섹션을 검토하여 Apple 앱에서 지원되는 기능을 파악하세요.
온디바이스 추론을 위해 지원되는 기능
온디바이스 추론은 텍스트 생성, 특히 다음과 같은 텍스트 생성 기능만 지원합니다.
이 페이지 하단에서 아직 지원되지 않는 하이브리드 또는 온디바이스 추론에 관한 세부 목록을 검토하세요.
지원되는 API 및 기기
클라우드 내 추론은 선택한 Gemini API 제공업체 (Gemini Developer API 또는 Vertex AI Gemini API)를 사용합니다.
온디바이스 추론은 Apple Intelligence가 사용 설정된 기기에서만 사용할 수 있는 Apple의 파운데이션 모델 프레임워크를 사용합니다. 온디바이스 모델은 Apple Intelligence가 사용 설정되면 자동으로 다운로드됩니다.
시작하기
지원되는 기능, API, 기기를 설명하는 위의 섹션을 검토했는지 확인합니다.
이 시작하기 단계에서는 전송하려는 지원되는 프롬프트 요청에 필요한 일반적인 설정을 설명합니다.
1단계: Firebase 프로젝트 설정 및 앱을 Firebase에 연결
Firebase Console에 로그인한 후 Firebase 프로젝트를 선택합니다.
Firebase Console에서 AI 서비스 > AI Logic으로 이동합니다.
시작하기 를 클릭하여 프로젝트에 필요한 API 와 리소스를 설정하는 데 도움이 되는 안내 워크플로를 실행합니다.
'Gemini API' 제공업체를 사용하도록 프로젝트를 설정합니다.
Gemini Developer API를 사용하여 시작하는 것이 좋습니다. 언제든지 설정할 수 있습니다Vertex AI Gemini API (및 결제 요구사항).
Gemini Developer API의 경우 콘솔에서 필요한 API를 사용 설정하고 Gemini API 키를 프로젝트에 만듭니다.
이 Gemini API 키를 앱의 코드베이스에 추가하면 안 됩니다. 자세히 알아보기콘솔의 워크플로에서 메시지가 표시되면 화면의 안내에 따라 앱을 등록하고 Firebase에 연결합니다.
이 가이드의 다음 단계로 이동하여 앱에 SDK를 추가합니다.
2단계: 필요한 SDK 추가
Swift Package Manager (SPM)를 사용하여 Xcode 종속 항목을 설치하고 관리합니다. 하이브리드 지원은 SPM을 사용하는 경우에만 사용할 수 있습니다.
Firebase AI Logic 라이브러리는 생성형 모델과 상호작용하기 위한 API에 대한 액세스를 제공합니다. 이 라이브러리는 Apple 플랫폼용 Firebase SDK (firebase-ios-sdk)의 일부로 포함되어 있습니다.
이미 Firebase를 사용하고 있다면 Firebase 패키지가 v12.13.0 이상인지 확인하세요.
앱 프로젝트를 연 상태로 Xcode에서 File(파일) > Add Package Dependencies(패키지 종속 항목 추가) 로 이동합니다.
메시지가 표시되면 Firebase Apple 플랫폼 SDK 저장소를 추가합니다.
https://github.com/firebase/firebase-ios-sdk최신 SDK 버전을 선택합니다.
FirebaseAILogic라이브러리를 선택합니다.
완료되면 Xcode가 백그라운드에서 자동으로 종속 항목을 확인하고 다운로드하기 시작합니다.
3단계: 서비스 초기화 및 모델 세션 인스턴스 만들기
|
Gemini API 제공업체를 클릭하여 이 페이지에서 제공업체별 콘텐츠 및 코드를 확인합니다. |
모델에 프롬프트 요청을 보내기 전에 다음을 설정합니다.
선택한 Gemini API 제공업체의 서비스를 초기화합니다.
HybridModel로GenerativeModelSession인스턴스를 만듭니다.기본 설정에 따라
primary및secondary모델을 설정합니다. 시도된 추론의 순서를 설정할 수 있습니다.온디바이스 추론을 먼저 시도하되 클라우드로 대체 허용:
primary를 '시스템' 모델로,secondary를 클라우드 모델로 설정합니다.클라우드 내 추론을 먼저 시도하되 온디바이스로 대체 허용:
primary를 클라우드 모델로,secondary를 "시스템" 모델로 설정합니다.
SDK는 단일
model만 설정할 수 있으므로 SDK는 온디바이스 또는 클라우드 내 추론만 시도합니다. 하지만 하이브리드 환경의 경우HybridModel을 만들고primary및secondary모델을 모두 설정해야 합니다.
다음 예에서는 온디바이스 추론을 먼저 시도하되 클라우드 호스팅 모델로 대체하는 방법을 보여줍니다.
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model
// Provide your preferred model as `primary` and your fallback model as `secondary`
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
4단계: 모델에 프롬프트 요청 보내기
이 섹션에서는 다음 작업을 실행하는 방법을 보여줍니다.
텍스트 전용 입력에서 텍스트 생성
| 이 샘플을 시도하기 전에 이 가이드의 시작하기 섹션을 완료했는지 확인하세요. |
텍스트가 포함된 프롬프트에서 텍스트를 생성하려면 다음과 같이 respond(to:)를 사용합니다.
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
텍스트 전용 입력에서 텍스트 스트리밍
| 이 샘플을 시도하기 전에 이 가이드의 시작하기 섹션을 완료했는지 확인하세요. |
모델 생성의 전체 결과를 기다리지 않고 대신 스트리밍 을 사용하여 부분 결과를 처리하면 상호작용 속도를 높일 수 있습니다. 텍스트가 포함된 프롬프트에서 생성된 텍스트를 스트리밍 하려면 다음과 같이 streamResponse(to:)를 사용합니다.
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
다른 작업은 무엇을 할 수 있나요?
하이브리드 환경에 다양한 추가 구성 옵션과 기능을 사용할 수 있습니다.
하이브리드 또는 온디바이스 추론을 위해 아직 지원되지 않는 기능
실험용 출시 버전이므로 Firebase AI Logic 또는 클라우드 호스팅 모델의 모든 기능이 지원되는 것은 아닙니다.
다음은 하이브리드 또는 온디바이스 구현에서 지원되지 않습니다. Imagen 모델, Gemini Live API, 프롬프트 템플릿. 또한 토큰 수는 클라우드 호스팅 모델과 온디바이스 모델 간에 다르므로 직관적인 대체가 없으므로 토큰 수에 의존해서는 안 됩니다.
다음 기능은 온디바이스 추론에서 아직 지원되지 않습니다. 이러한 기능을 사용하려면 더 일관된 환경을 위해 클라우드 호스팅 모델만 사용하는 것이 좋습니다.
이미지, 오디오, 동영상, 문서 (PDF)와 같은 멀티모달 입력에서 텍스트 생성
이미지, 오디오, 동영상과 같은 미디어 생성
4,096개 토큰 (또는 약 3,000개의 영어 단어)을 초과하는 요청 전송
온디바이스 모델에 기본 제공 도구 를 제공하여 응답 생성 지원 (예: 코드 실행, URL 컨텍스트, Google 검색을 이용한 그라운딩)
Firebase Console의 AI 모니터링은 온디바이스 추론 (온디바이스 로그 포함)에 관한 데이터를 표시하지 않습니다 . 하지만 클라우드 호스팅 모델을 사용하는 추론은 Firebase AI Logic을 통한 다른 추론과 마찬가지로 모니터링할 수 있습니다.Firebase AI Logic
추가 제한사항
위의 내용 외에도 온디바이스 추론에는 다음과 같은 제한사항이 있습니다.
의견 보내기 Firebase AI Logic 사용 경험에 관한