用 Gemini 3 构建视觉 AI 代理

我们已在 Vision Agents(用于构建实时语音和视频 AI 应用的开源 Python 框架)中推出了对 Google 新的 Gemini 3 模型 的支持。

在本文中,我们将学习如何快速创建一个功能完整的视觉增强型语音代理,该代理可以查看您的屏幕(或网络摄像头),使用 Gemini 3 Pro 预览版进行推理,并以自然的方式与您交谈,所有操作均使用纯 Python 实现。

1、你将学到的内容

Gemini 3 Pro 用于 Vision Agents

  • 安装 Vision Agents + 新的 Gemini 插件
  • 仅用一行代码即可使用 gemini-3-pro-preview 作为 LLM
  • 构建一个可以实时查看并描述您屏幕上任何内容的视频通话代理
  • 自定义推理深度(低/高思考级别)

2、60 秒内开始

创建一个新项目(我们推荐使用 uv)。

# 初始化一个新的 Python 项目  
uv init  

# 激活你的环境  
uv venv && source .venv/bin/activate

安装 Vision Agents + 项目插件。

# 安装 Vision Agents  
uv add vision-agents  

# 安装所需的插件  
uv add "vision-agents[getstream, gemini, elevenlabs, deepgram, smart-turn]"

您还需要:

3、最小工作示例

uv 项目的 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:  
    """使用 Inworld AI TTS 创建代理。"""  
    agent = Agent(  
        edge=getstream.Edge(),  
        agent_user=User(name="Friendly AI", id="agent"),  
        instructions="你是一个由 Gemini 3 提供支持的友好 AI 助手。你可以回答问题并帮助完成任务。你仔细观察用户的摄像头画面并回应他们的问题和任务。",  
        tts=elevenlabs.TTS(),  
        stt=deepgram.STT(),  
        # Gemini 3 模型  
        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:  
    """加入通话并启动代理。"""  
    # 确保代理用户已创建  
    await agent.create_user()  
    # 创建一个通话  
    call = await agent.create_call(call_type, call_id)  

    logger.info("🤖 正在启动 Inworld AI 代理...")  

    # 让代理加入通话/房间  
    with await agent.join(call):  
        logger.info("加入通话")  
        logger.info("LLM 准备就绪")  

        await asyncio.sleep(5)  
        await agent.llm.simple_response(text="描述你现在看到的内容")  
        await agent.finish()  # 直到通话结束  

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

运行它:

uv run gemini_vision_demo.py

一个浏览器标签页会打开,显示 Stream 视频通话。点击“加入通话”,授予摄像头/麦克风/屏幕权限,然后说一些话,例如:

“好的,我要共享我的屏幕——告诉我你看到了什么!”

Gemini 3 会立即分析您的屏幕,并以令人惊讶的详细描述做出响应,全部以自然的语音方式。

Gemini 3 带来了更好的推理和多模态理解能力,而 Vision Agents 让您能够轻松地将这种力量转化为交互式语音/视频体验。无需 React,无需 WebRTC 模板代码,只需 Python。

今天就试试看吧!🚀


原文链接:Build a Vision AI Agent with Gemini 3

汇智网翻译整理,转载请标明出处