Gemini API로 멀티턴 대화 (채팅) 빌드


Gemini API를 사용하면 여러 차례에 걸쳐 자유 형식의 대화를 구성할 수 있습니다. Vertex AI in Firebase SDK는 대화 상태를 관리하여 프로세스를 간소화하므로 generateContentStream() 또는 generateContent()와 달리 대화 기록을 직접 저장할 필요가 없습니다.

시작하기 전에

Vertex AI in Firebase SDK 시작 가이드를 아직 완료하지 않았다면 완료하세요. 다음 작업을 모두 완료했는지 확인합니다.

  1. Blaze 요금제 사용 및 필요한 API 사용 설정을 포함하여 새 Firebase 프로젝트 또는 기존 Firebase 프로젝트를 설정합니다.

  2. 앱을 등록하고 Firebase 구성을 앱에 추가하는 등 앱을 Firebase에 연결합니다.

  3. SDK를 추가하고 앱에서 Vertex AI 서비스와 생성형 모델을 초기화합니다.

앱을 Firebase에 연결하고, SDK를 추가하고, Vertex AI 서비스와 생성형 모델을 초기화한 후에는 Gemini API를 호출할 수 있습니다.

채팅 프롬프트 요청 보내기

채팅과 같은 멀티턴 대화를 빌드하려면 먼저 startChat()를 호출하여 채팅을 초기화합니다. 그런 다음 sendMessageStream() (또는 sendMessage())를 사용하여 새 사용자 메시지를 전송합니다. 그러면 메시지와 응답이 채팅 기록에 추가됩니다.

대화의 콘텐츠와 연결된 role에는 두 가지 옵션이 있습니다.

  • user: 프롬프트를 제공하는 역할입니다. 이 값은 sendMessageStream() (또는 sendMessage()) 호출의 기본값이며 다른 역할이 전달되면 함수가 예외를 발생시킵니다.

  • model: 응답을 제공하는 역할입니다. 이 역할은 기존 historystartChat()를 호출할 때 사용할 수 있습니다.

응답을 스트리밍할지 (sendMessageStream) 아니면 전체 결과가 생성될 때까지 응답을 기다릴지 (sendMessage) 선택합니다.

스트리밍

모델 생성의 전체 결과를 기다리지 않고 대신 스트리밍을 사용하여 부분 결과를 처리하면 더 빠른 상호작용을 얻을 수 있습니다.

스트리밍 없음

또는 스트리밍 대신 전체 결과를 기다릴 수 있습니다. 결과는 모델이 전체 생성 프로세스를 완료한 후에만 반환됩니다.

사용 사례와 앱에 적합한 Gemini 모델과 선택적으로 위치를 선택하는 방법을 알아보세요.

또 뭘 할 수 있니?

  • 모델에 긴 프롬프트를 보내기 전에 토큰 수를 집계하는 방법을 알아보세요.
  • Cloud Storage for Firebase를 설정하여 다중 모드 요청에 대용량 파일을 포함하고 프롬프트에서 파일을 제공하는 더 관리된 솔루션을 사용할 수 있습니다. 파일에는 이미지, PDF, 동영상, 오디오가 포함될 수 있습니다.
  • 승인되지 않은 클라이언트의 악용으로부터 Gemini API를 보호하기 위해 Firebase App Check를 설정하는 등 프로덕션 준비를 시작합니다.

Gemini API의 다른 기능 사용해 보기

콘텐츠 생성을 제어하는 방법 알아보기

Vertex AI Studio를 사용하여 프롬프트 및 모델 구성을 실험할 수도 있습니다.

Gemini 모델 자세히 알아보기

다양한 사용 사례에 사용할 수 있는 모델할당량 및 가격에 대해 알아보세요.


Vertex AI in Firebase 사용 경험에 관한 의견 보내기