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

SociaLite 챗봇이 작동하는 모습을 보여주는 애니메이션 스크린샷

SociaLite 샘플 앱은 Android 플랫폼 API를 사용하여 소셜 네트워크 및 커뮤니케이션 앱에 일반적으로 배포되는 기능을 구현하는 방법을 보여줍니다. Google AI 클라이언트 SDK를 사용하여 Gemini API를 통합하여 자체 Android 앱에서 챗봇 기능을 구현하는 방법을 보여줍니다.

이 샘플 코드는 빠르고 비용 효율적인 Gemini Flash를 사용합니다. Gemini 모델에 대해 자세히 알아보기 Socialite 데모에서 AI 기반 챗봇을 구현하기 위해 Gemini API의 시스템 안내 기능을 사용하여 모델의 동작을 수정했습니다. 이 경우 '이 채팅 대화에 친절한 고양이처럼 응답해 주세요'라는 프롬프트를 사용합니다. Gemini를 접목한 이 SociaLite 버전은 모델의 멀티모달 기능을 사용하여 챗봇이 이미지에 반응하도록 합니다.

Gemini API 구현

챗봇 구현은 주로 ChatRepository 클래스에 있습니다. GenerativeModel 클래스를 사용하면 다음과 같이 인스턴스화되는 Gemini API와 상호작용할 수 있습니다.

val generativeModel = GenerativeModel(
  // Set the model name to the latest Gemini model.
  modelName = "gemini-1.5-pro-latest",
  // Set your Gemini API key in the API_KEY variable in your
  // local.properties file
  apiKey = BuildConfig.API_KEY,
  // Set a system instruction to set the behavior of the model.
  systemInstruction = content {
    text("Please respond to this chat conversation like a friendly cat.")
  },
)

코루틴 범위에서 pastMessagesstartChat()에 전달하여 채팅을 시작하여 모델이 대화 기록에 액세스할 수 있도록 합니다. 이를 통해 챗봇은 맥락을 유지하고 이전 대화를 기반으로 일관된 응답을 생성할 수 있습니다.

val pastMessages = getMessageHistory(chatId)
val chat = generativeModel.startChat(
  history = pastMessages,
)

sendMessage() 메서드를 사용하여 모델에 메시지를 전달합니다.

AI 챗봇 테스트

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

  1. SociaLite 샘플 앱의 코드를 확인하고 Android 스튜디오에서 엽니다.
  2. Google AI 스튜디오에서 Gemini API 키를 만듭니다.
  3. Gemini API 키를 API_KEY 변수로 local.properties 파일에 추가합니다.
  4. 앱을 동기화하고 실행합니다.
  5. SociaLite 앱에서 설정 을 탭한 다음 AI 챗봇을 탭하여 버튼 라벨이 'AI 챗봇: 사용 설정됨'으로 표시되도록 합니다.

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

추가 리소스

Google AI SDK 자세히 알아보기 앱이 이미 Firebase를 통합한 경우 Firebase의 Vertex AI에서 Gemini API에 액세스할 수도 있습니다.