Gemini API를 사용하면 여러 차례에 걸쳐 자유 형식 대화를 빌드할 수 있습니다. Firebase용 Vertex AI SDK는 대화 상태를 관리하여 프로세스를 간소화하므로 generateContentStream()
또는 generateContent()
와 달리 대화 기록을 직접 저장할 필요가 없습니다.
시작하기 전에
아직 완료하지 않았다면 Firebase용 Vertex AI SDK의 시작 가이드를 살펴보세요. 다음 작업을 모두 완료했는지 확인합니다.
Blaze 요금제를 사용하고 필수 API를 사용 설정하는 등 신규 또는 기존 Firebase 프로젝트를 설정합니다.
앱을 등록하고 Firebase 구성을 앱에 추가하는 등 앱을 Firebase에 연결합니다.
SDK를 추가하고 앱에서 Vertex AI 서비스와 생성 모델을 초기화합니다.
앱을 Firebase에 연결하고, SDK를 추가하고, Vertex AI 서비스와 생성 모델을 초기화했으면 Gemini API를 호출할 수 있습니다.
채팅 프롬프트 요청 보내기
채팅과 같은 멀티턴 대화를 빌드하려면 startChat()
를 호출하여 채팅을 초기화합니다. 그런 다음 sendMessageStream()
(또는 sendMessage()
)를 사용하여 새 사용자 메시지를 보냅니다. 그러면 메시지와 응답이 채팅 기록에 추가됩니다.
대화의 콘텐츠와 연결된 role
에는 두 가지 가능한 옵션이 있습니다.
user
: 프롬프트를 제공하는 역할입니다. 이 값은sendMessageStream()
(또는sendMessage()
) 호출의 기본값이며 다른 역할이 전달되면 함수에서 예외가 발생합니다.model
: 응답을 제공하는 역할입니다. 이 역할은 기존history
로startChat()
를 호출할 때 사용할 수 있습니다.
응답을 스트리밍할지 (sendMessageStream
) 아니면 전체 결과가 생성될 때까지 응답을 기다릴지 (sendMessage
) 선택합니다.
스트리밍
모델 생성의 전체 결과를 기다리지 않고 스트리밍을 사용하여 부분 결과를 처리함으로써 상호작용을 더 빠르게 달성할 수 있습니다.
다음 예에서는 sendMessageStream()
를 사용하여 모델에서 응답을 스트리밍하는 방법을 보여줍니다.
스트리밍하지 않음
또는 스트리밍 대신 전체 결과를 기다릴 수 있습니다. 결과는 모델이 전체 생성 프로세스를 완료한 후에만 반환됩니다.
다음 예에서는 sendMessage()
를 사용하여 새 사용자 메시지를 보내는 방법을 보여줍니다.
Gemini 모델을 선택하는 방법과 필요한 경우 사용 사례와 앱에 적합한 위치를 선택하는 방법을 알아보세요.
그 밖에 가능한 작업
- 모델에 긴 프롬프트를 보내기 전에 토큰 계산 방법을 알아보세요.
- Cloud Storage URL을 사용하여 멀티모달 요청에 대용량 파일을 포함할 수 있도록 Firebase용 Cloud Storage를 설정합니다. 파일에는 이미지, PDF, 동영상, 오디오를 포함할 수 있습니다.
- 승인되지 않은 클라이언트의 악용으로부터 Gemini API를 보호하기 위한 Firebase 앱 체크를 설정하는 것을 포함하여 프로덕션 준비를 고려하세요.
Gemini API의 다른 기능 사용해 보기
- 텍스트 전용 프롬프트에서 텍스트를 생성합니다.
- 멀티모달 프롬프트(텍스트, 이미지, PDF, 동영상, 오디오 포함)에서 텍스트를 생성합니다.
- 함수 호출을 사용하여 생성 모델을 외부 시스템 및 정보에 연결합니다.
콘텐츠 생성을 제어하는 방법 알아보기
- 권장사항, 전략, 프롬프트 예를 포함하여 프롬프트 설계 이해하기
- 강도 및 최대 출력 토큰과 같은 모델 매개변수를 구성합니다.
- 안전 설정을 사용하여 유해한 것으로 간주될 수 있는 응답을 받을 가능성을 조정합니다.
Gemini 모델 자세히 알아보기
다양한 사용 사례에 사용할 수 있는 모델과 할당량 및 가격 책정에 대해 알아보세요.Firebase용 Vertex AI 사용 경험에 대한 의견 보내기