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.")
},
)
코루틴 범위에서 pastMessages
를 startChat()
에 전달하여 채팅을 시작하여 모델이 대화 기록에 액세스할 수 있도록 합니다. 이를 통해 챗봇은 맥락을 유지하고 이전 대화를 기반으로 일관된 응답을 생성할 수 있습니다.
val pastMessages = getMessageHistory(chatId)
val chat = generativeModel.startChat(
history = pastMessages,
)
sendMessage()
메서드를 사용하여 모델에 메시지를 전달합니다.
AI 챗봇 테스트
다음 단계에 따라 직접 테스트할 수 있습니다.
- SociaLite 샘플 앱의 코드를 확인하고 Android 스튜디오에서 엽니다.
- Google AI 스튜디오에서 Gemini API 키를 만듭니다.
- Gemini API 키를
API_KEY
변수로 local.properties 파일에 추가합니다. - 앱을 동기화하고 실행합니다.
- SociaLite 앱에서 설정 을 탭한 다음 AI 챗봇을 탭하여 버튼 라벨이 'AI 챗봇: 사용 설정됨'으로 표시되도록 합니다.
이제 채팅을 시작할 수 있습니다.
추가 리소스
Google AI SDK 자세히 알아보기 앱이 이미 Firebase를 통합한 경우 Firebase의 Vertex AI에서 Gemini API에 액세스할 수도 있습니다.