用 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]"
您还需要:
- 一个免费的 Gemini API 密钥 → https://ai.google.dev
- 一个免费的 Stream 账户(用于视频通话 UI)→ https://getstream.io/try-for-free/
- Deepgram(语音转文本)API 密钥: https://deepgram.com/
- ElevenLabs(文本转语音)API 密钥: https://elevenlabs.io/
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
汇智网翻译整理,转载请标明出处