SociaLite 샘플 앱은 Android 플랫폼 API를 사용하여 소셜 네트워크 및 커뮤니케이션 앱에 일반적으로 배포되는 기능을 구현하는 방법을 보여줍니다. Firebase AI Logic SDK를 사용하여 Gemini API를 통합하여 자체 Android 앱에서 챗봇 기능을 구현하는 방법을 보여드렸습니다.
이 샘플 코드에서는 빠르고 비용 효율적인 Gemini Flash를 사용합니다. Gemini 모델 자세히 알아보기 SociaLite 데모에서 AI 기반 챗봇을 구현하기 위해 Gemini API의 시스템 안내 기능을 사용하여 모델의 동작을 수정했습니다. 이 경우 '친근한 고양이처럼 이 채팅 대화에 응답해 줘'라는 프롬프트를 사용합니다. Gemini가 적용된 이 SociaLite 버전은 모델의 멀티모달 기능을 사용하여 챗봇이 이미지에 반응하도록 합니다.
Gemini API 구현
챗봇 구현은 주로 ChatRepository 클래스에 있습니다.
GenerativeModel 클래스를 사용하면 Gemini API와 상호작용할 수 있으며, 이는 다음과 같이 인스턴스화됩니다.
val generativeModel = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
// Set the model name to the latest Gemini model.
modelName = "gemini-3.5-flash-lite",
// Set a system instruction to set the behavior of the model.
systemInstruction = content {
text("Please respond to this chat conversation like a friendly cat.")
},
)
코루틴 범위에서 pastMessages을 startChat()에 전달하여 모델이 대화 기록에 액세스할 수 있도록 하여 채팅을 시작합니다. 이를 통해 챗봇은 컨텍스트를 유지하고 이전 대화를 기반으로 일관된 대답을 생성할 수 있습니다.
val pastMessages = getMessageHistory(chatId)
val chat = generativeModel.startChat(
history = pastMessages,
)
sendMessage() 메서드를 사용하여 모델에 메시지를 전달합니다.
AI 챗봇 테스트
다음 단계에 따라 직접 테스트할 수 있습니다.
SociaLite 샘플 앱의 코드를 확인하고 Android 스튜디오에서 엽니다.
Firebase AI Logic 시작 가이드에 따라 앱이 Firebase AI Logic SDK를 사용하여 Gemini Developer API에 요청할 수 있도록 Firebase 프로젝트를 설정합니다.
Firebase 설정의 일환으로
google-services.json를 사용자 값으로 바꾼 다음app구성을 실행합니다.앱을 동기화하고 실행합니다.
SociaLite 앱에서 설정 을 탭한 다음 AI 챗봇을 탭하여 버튼 라벨에 'AI 챗봇: enabled'가 표시되도록 합니다.
이제 채팅을 시작할 수 있습니다.
추가 리소스
Firebase AI Logic SDK 자세히 알아보기