SociaLite 샘플 앱에 생성형 AI 대답 추가

작동 중인 SociaLite 챗봇을 보여주는 애니메이션 스크린샷

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 챗봇 테스트

다음 단계에 따라 직접 테스트할 수 있습니다.

  1. SociaLite 샘플 앱의 코드를 확인하고 Android 스튜디오에서 엽니다.

  2. Firebase AI Logic 시작 가이드에 따라 앱이 Firebase AI Logic SDK를 사용하여 Gemini Developer API에 요청할 수 있도록 Firebase 프로젝트를 설정합니다.

  3. Firebase 설정의 일환으로 google-services.json를 사용자 값으로 바꾼 다음 app 구성을 실행합니다.

  4. 앱을 동기화하고 실행합니다.

  5. SociaLite 앱에서 설정 을 탭한 다음 AI 챗봇을 탭하여 버튼 라벨에 'AI 챗봇: enabled'가 표시되도록 합니다.

이제 채팅을 시작할 수 있습니다.

추가 리소스

Firebase AI Logic SDK 자세히 알아보기