Gemini 3로 Vision AI 에이전트를 3분 미만에 구축하기

발행: (2025년 12월 4일 오전 01:49 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Stream은 Google의 새로운 Gemini 3 모델Vision Agents 안에 지원합니다 — 실시간 음성 및 비디오 AI 애플리케이션을 구축하기 위한 오픈소스 Python 프레임워크.

이 3분짜리 영상 데모에서는 화면(또는 웹캠)을 볼 수 있고, Gemini 3 Pro Preview와 함께 추론하며, 자연스럽게 대화하는 완전한 비전 지원 음성 에이전트를 순수 Python만으로 어떻게 실행하는지 보여줍니다.

배울 내용

  • Vision Agents(GitHub 저장소) + 새로운 Gemini 플러그인 설치
  • 한 줄로 gemini-3-pro-preview를 LLM으로 사용
  • 화면에 보이는 모든 것을 실시간으로 보고 설명할 수 있는 라이브 비디오 콜 에이전트 구축
  • 추론 깊이(낮은/높은 사고 수준) 맞춤 설정

60초 안에 시작하기

  1. 새 프로젝트 만들기 (우리는 uv를 권장합니다).

    # Initialize a new Python project
    uv init
    
    # Activate your environment
    uv venv && source .venv/bin/activate
  2. Vision Agents와 필요한 플러그인 설치.

    # Install Vision Agents
    uv add vision-agents
    
    # Install required plugins
    uv add "vision-agents[getstream, gemini, elevenlabs, deepgram, smart-turn]"

또한 다음이 필요합니다:

  • 무료 Gemini API 키
  • 무료 Stream 계정 (비디오 콜 UI용) →

최소 작업 예제

main.py 파일명을 gemini_vision_demo.py 로 바꾸고 아래 샘플 코드를 붙여넣으세요.

import asyncio
import logging

from dotenv import load_dotenv
from vision_agents.core import User, Agent, cli
from vision_agents.core.agents import AgentLauncher
from vision_agents.plugins import elevenlabs, getstream, smart_turn, gemini, deepgram

logger = logging.getLogger(__name__)

load_dotenv()

async def create_agent(**kwargs) -> Agent:
    """Create the agent with Inworld AI TTS."""
    agent = Agent(
        edge=getstream.Edge(),
        agent_user=User(name="Friendly AI", id="agent"),
        instructions=(
            "You are a friendly AI assistant powered by Gemini 3. "
            "You are able to answer questions and help with tasks. "
            "You carefully observe a users' camera feed and respond to their questions and tasks."
        ),
        tts=elevenlabs.TTS(),
        stt=deepgram.STT(),
        # Gemini 3 model
        llm=gemini.LLM("gemini-3-pro-preview"),
        turn_detection=smart_turn.TurnDetection(),
    )
    return agent

async def join_call(agent: Agent, call_type: str, call_id: str, **kwargs) -> None:
    """Join the call and start the agent."""
    await agent.create_user()
    call = await agent.create_call(call_type, call_id)

    logger.info("🤖 Starting Inworld AI Agent...")

    with await agent.join(call):
        logger.info("Joining call")
        logger.info("LLM ready")

        await asyncio.sleep(5)
        await agent.llm.simple_response(text="Describe what you currently see")
        await agent.finish()  # Run till the call ends

if __name__ == "__main__":
    cli(AgentLauncher(create_agent=create_agent, join_call=join_call))

실행:

uv run gemini_vision_demo.py

브라우저 탭이 열리면서 Stream 비디오 콜이 표시됩니다. **“Join call”**을 클릭하고 카메라/마이크/스크린 권한을 허용한 뒤 다음과 같이 말해 보세요:

“Okay, I’m going to share my screen — tell me what you see!”

Gemini 3이 즉시 화면을 분석하고 자연스러운 음성으로 상세한 설명을 제공합니다.

링크 및 자료

Gemini 3은 더 나은 추론과 멀티모달 이해를 제공하고, Vision Agents는 그 힘을 인터랙티브한 음성/비디오 경험으로 전환하는 과정을 간단하게 만들어 줍니다. React도, WebRTC 보일러플레이트도 필요 없습니다—오직 Python만 있으면 됩니다.

오늘 바로 시도해 보세요! 🚀

Back to Blog

관련 글

더 보기 »

Gemini 3용 새로운 Gemini API 업데이트

Gemini 3, 우리 가장 지능적인 모델이 이제 Gemini API를 통해 개발자에게 제공됩니다. 최첨단(state‑of‑the‑art) 추론, 자율 코딩(autonomous coding), 멀티모달(multimod…)을 지원합니다.

Gemini 3용 새로운 Gemini API 업데이트

Gemini 3, 우리 가장 지능적인 모델이 이제 Gemini API를 통해 개발자에게 제공됩니다. 최첨단(state‑of‑the‑art) 추론, 자동 코딩(autonomous coding), 멀티모달(multimodal) 기능을 지원하기 위해…