스트림 비디오와 LLM을 활용한 AI 회의 어시스턴트 개발
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
- 대상자: 소프트웨어 개발자, AI 엔지니어, 웹/앱 개발자
- 난이도: 중급 (Node.js, React, API 연동 기초 지식 필요)
핵심 요약
- 스트림 비디오와 LLM(대규모 언어 모델) 통합:
- 실시간 대화 분석을 위한 Stream Video
인프라와 Gemini
같은 LLM 연동
- GoogleGenerativeAI
API를 사용한 텍스트 분석 및 요약
- 핵심 기술 스택:
- Node.js
, React
, StreamChat
, axios
, dotenv
- 시스템 아키텍처:
- 비디오/음성 전송 → 음성 인식 → LLM 분석 → 요약 및 액션 항목 추출
섹션별 세부 요약
1. 문제 정의 및 AI 회의 어시스턴트의 필요성
- 현대 회의의 문제점:
- 가상 회의 후 의사결정, 액션 항목 등 핵심 정보 유실
- "Wait, what did we decide?" 같은 후속 커뮤니케이션 증가
- AI 어시스턴트의 역할:
- 실시간 텍스트 전사, 지능형 요약, 자동 액션 항목 추출 제공
- 사용자 경험 향상 및 회의 효율성 극대화
2. 스트림 비디오 플랫폼 기능
- 핵심 기능:
- 저지연 비디오/오디오 전송
- 다양한 네트워크 조건에서의 안정성
- 클라우드 기반 녹음 및 저장
- 사용자 인터페이스 커스터마이징
- API 연동을 위한 StreamChat
및 @google/generative-ai
지원
3. 백엔드 설정 및 API 구현
- 환경 설정:
- Node.js
, npm
, React
설치 필요
- .env
파일에 STREAM_API_KEY
, GEMINI_API_KEY
등 설정
- 필수 모듈:
- express
, cors
, dotenv
, axios
, GoogleGenerativeAI
- 핵심 API 엔드포인트:
- POST /api/create-meeting
: 스트림 토큰 생성
- POST /api/webhook
: 스트림 이벤트 처리 및 전사본 저장
- POST /api/analyze-meeting
: Gemini LLM을 통한 분석 및 요약
4. 웹훅 설정 및 테스트
- 로컬 서버 노출:
- ngrok
사용하여 http://localhost:5000
을 HTTPS URL로 노출
- 스트림 웹훅 구성:
- call.transcription_ready
이벤트 활성화
- 웹훅 URL: https://
결론
- 실무 팁:
- 웹훅 요청의 signature
검증 필수 (생산 환경)
- Gemini-2.0-flash
모델 사용 시 빠른 분석 처리 가능
- ngrok
URL은 매번 재시작 시 변경되기 때문에 테스트 시 주의
- 전사본은 메모리에 저장되며, 실제 사용 시 데이터베이스로 확장 필요