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), 멀티모달(multimodal) 기능을 지원하기 위해…