ADK Gemini Live API 툴킷 소개

1. 양방향 스트리밍이란 무엇인가요?

양방향 스트리밍 (bidi-streaming)을 사용하면 애플리케이션과 AI 모델 간에 동시에 양방향 통신이 가능합니다. 전체 메시지를 보내고 전체 답장을 기다리는 기존 요청-응답 패턴과 달리 양방향 스트리밍을 사용하면 다음이 가능합니다.

  • 연속 입력: 캡처되는 대로 오디오, 동영상 또는 텍스트를 스트리밍합니다.
  • 실시간 출력: AI 응답이 생성되는 대로 수신
  • 자연스러운 중단: 사용자는 사람과의 대화처럼 AI의 응답 중간에 중단할 수 있습니다.

6e82a81aa114e116.png

중요한 이유: 양방향 스트리밍을 사용하면 AI와의 대화가 자연스럽게 느껴집니다. 컨텍스트를 제공하는 동안 AI가 대답할 수 있으며, 충분히 들었다면 사람과 대화하는 것처럼 중단할 수 있습니다.

ADK Gemini Live API 툴킷이란 무엇인가요?

에이전트 개발 키트 (ADK)Gemini Live API에 대한 상위 수준 추상화를 제공하여 실시간 스트리밍의 복잡한 배관을 처리하므로 애플리케이션 빌드에 집중할 수 있습니다.

b0066935f4c245d2.png

ADK Gemini Live API 툴킷은 다음을 관리합니다.

  • 연결 수명 주기: WebSocket 연결 설정, 유지, 복구
  • 메시지 라우팅: 오디오, 텍스트, 이미지를 올바른 핸들러로 전달
  • 세션 상태: 재연결 시 대화 기록 유지
  • 도구 실행: 함수 호출에서 자동으로 호출 및 재개

원시 Live API 대신 ADK를 사용해야 하는 이유는 무엇인가요?

Gemini Live API에서 직접 빌드할 수도 있지만 ADK는 복잡한 인프라를 처리하므로 애플리케이션에 집중할 수 있습니다.

61c685c2703e3aac.png

기능

Raw Live API

ADK Gemini Live API 툴킷

에이전트 프레임워크

처음부터 새로 작성

도구, 평가, 보안이 포함된 단일/멀티 에이전트

도구 실행

수동 처리

자동 병렬 실행

연결 관리

수동 재연결

투명한 세션 재개

이벤트 모델

맞춤 구조

통합된 유형이 지정된 이벤트 객체

비동기 프레임워크

수동 조정

LiveRequestQueue + run_live() 생성기

세션 지속성

수동 구현

기본 제공 SQL, Vertex AI 또는 인메모리

결론: ADK를 사용하면 몇 개월이 걸리던 인프라 개발을 며칠 만에 애플리케이션 개발로 단축할 수 있습니다. 스트리밍 작동 방식이 아닌 에이전트가 하는 일에 집중합니다.

실제 사용 사례

  • 고객 서비스: 고객이 전화 카메라를 통해 결함이 있는 커피 머신을 보여주면서 문제를 설명합니다. AI가 모델과 실패 지점을 식별하고 고객은 대화 중에 세부정보를 수정하기 위해 중단할 수 있습니다.
  • 전자상거래: 쇼핑객이 웹캠에 옷을 들고 '이 바지와 어울리는 신발을 찾아 줘'라고 말합니다. 에이전트가 스타일을 분석하고 유연한 대화를 나눕니다. '좀 더 캐주얼한 스타일을 보여 줘' → '이 스니커즈는 어때?' → '파란색 10사이즈를 추가해 줘.'
  • 현장 서비스: 스마트 글라스를 착용한 기술자가 '이 컴프레서에서 이상한 소리가 들립니다. 확인해 주시겠어요?'라고 말하면서 자신의 시야를 스트리밍합니다. 상담사는 핸즈프리로 단계별 안내를 제공합니다.
  • 의료: 환자가 피부 상태를 라이브 동영상으로 공유합니다. AI가 예비 분석을 수행하고, 불확실한 부분을 확인하는 질문을 하고, 다음 단계를 안내합니다.
  • 금융 서비스: 고객이 포트폴리오를 검토하는 동안 상담사가 차트를 표시하고 거래 영향을 시뮬레이션합니다. 고객은 화면을 공유하여 특정 뉴스 기사를 논의할 수 있습니다.

쇼핑객 컨시어지 2 데모: ADK Gemini Live API 툴킷과 Vertex AI 벡터 검색, 임베딩, Feature Store, Ranking API로 구축된 전자상거래용 실시간 에이전트형 RAG 데모입니다.

쇼핑객 컨시어지 2 데모

자세히 알아보기: 개발자 가이드

자세한 내용은 ADK Gemini Live API 툴킷 개발자 가이드를 참고하세요. 아키텍처부터 프로덕션 배포까지 다루는 5부작 시리즈입니다.

파트

포커스

실습 내용

1부

기반

아키텍처, 라이브 API 플랫폼, 4단계 수명 주기

2부

업스트림

LiveRequestQueue를 통해 텍스트, 오디오, 동영상 전송

파트 3

다운스트림

이벤트 처리, 도구 실행, 멀티 에이전트 워크플로

4부

구성

세션 관리, 할당량, 프로덕션 제어

5부

멀티모달

오디오 사양, 모델 아키텍처, 고급 기능

2. 워크숍 개요

빌드할 항목

이 실무형 워크숍에서는 처음부터 완전한 양방향 스트리밍 AI 애플리케이션을 빌드합니다. 이 과정을 마치면 다음 작업을 할 수 있는 음성 AI가 완성됩니다.

  • 텍스트, 오디오, 이미지 입력 허용
  • 스트리밍 텍스트 또는 자연스러운 음성으로 대답
  • 자연스럽게 방해 처리
  • Google 검색과 같은 도구 사용

문서를 읽는 것과 달리 각 구성요소를 단계별로 검사하여 점진적으로 빌드하면서 조각이 어떻게 맞는지 이해합니다.

ADK Gemini Live API 툴킷 데모

학습 접근 방식

Google은 증분 빌드 접근 방식을 따릅니다.

  • 1단계: 최소 WebSocket 서버 → 'Hello World' 응답
  • 2단계: 에이전트 추가 → AI 동작 및 도구 정의
  • 3단계: 애플리케이션 초기화 → 러너 및 세션 서비스
  • 4단계: 세션 초기화 → RunConfig 및 LiveRequestQueue
  • 5단계: 업스트림 작업 → 클라이언트-대기열 커뮤니케이션
  • 6단계: 다운스트림 작업 → 클라이언트 스트리밍 이벤트
  • 7단계: 오디오 추가 → 음성 입력 및 출력
  • 8단계: 이미지 입력 추가 → 멀티모달 AI

각 단계는 이전 단계를 기반으로 합니다. 각 단계를 완료한 후 테스트를 통해 진행 상황을 확인할 수 있습니다.

기본 요건

  • 결제가 사용 설정된 Google Cloud 계정
  • 기본 Python 및 비동기 프로그래밍 (async/await) 지식
  • 마이크 및 웹 카메라 액세스 권한이 있는 웹브라우저 (Chrome 권장)

예상 시간

  • 전체 워크숍: 약 90분
  • 간단한 버전 (1~4단계만 해당): 약 45분

3. 워크숍

여기의 안내에 따라 워크숍을 시작하세요.

https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md

4. 마무리 및 핵심 내용

빌드한 항목

처음부터 완전한 양방향 스트리밍 AI 애플리케이션을 빌드했습니다. 이 애플리케이션은 텍스트, 음성, 이미지 입력을 실시간 스트리밍 응답으로 처리하여 프로덕션 준비가 완료된 대화형 AI를 빌드할 수 있는 기반을 제공합니다.

구성요소

기능

단계

에이전트

AI 페르소나, 지침, 사용 가능한 도구 (예: Google 검색)를 정의합니다.

2단계

SessionService

다시 연결 시 대화 기록 유지

3단계

실행자

스트리밍 수명 주기를 오케스트레이션하고 에이전트를 Live API에 연결합니다.

3단계

RunConfig

응답 모달리티 (TEXT/AUDIO), 스크립트 작성, 세션 재개를 구성합니다.

4단계

LiveRequestQueue

모델에 텍스트, 오디오, 이미지를 전송하기 위한 통합 인터페이스

5단계

run_live()

모델에서 스트리밍 이벤트를 생성하는 비동기 생성기

6단계

send_realtime()

지속적인 스트리밍 입력을 위해 오디오/이미지 BLOB을 전송합니다.

7~8단계

리소스

다음 공식 리소스를 통해 계속 학습하세요. ADK Gemini Live API 툴킷 가이드에서는 이 워크숍의 모든 내용을 자세히 다룹니다.

리소스

URL

ADK 문서

https://google.github.io/adk-docs/

ADK Gemini Live API 툴킷 가이드

https://google.github.io/adk-docs/streaming/dev-guide/

Gemini Live API

https://ai.google.dev/gemini-api/docs/live

Vertex AI Live API

https://cloud.google.com/vertex-ai/generative-ai/docs/live-api

ADK 샘플 저장소

https://github.com/google/adk-samples