🤖 带虚拟化身的AI语音代理
由LiveKit驱动并借助MCP(模型上下文协议)增强的实时AI语音助手,配备虚拟化身
______________________________________________________________________
📸 截图
🖥️ 主界面
Main Interface *简洁现代的界面,实时显示连接状态*
🎥 与AI虚拟形象的视频通话
Video Call Interface *全屏视频体验,搭配虚拟化身互动*
✨ 特点/功能
🎭 表情符号“🎭”通常表示“戏剧脸”或“表演脸”,在中文中可以翻译为“戏剧脸”或“表演脸”。不过,具体翻译可能因语境和使用习惯而有所差异。 虚拟化身集成
- 由Tavus驱动的虚拟形象 为了实现逼真的视频互动
- 实时唇形同步 带有语音回复功能
- 可定制的虚拟形象角色 以及外表
- 无缝视频流 通过LiveKit
🗣️ 高级语音功能
- 实时语音转文字 具有高精度
- 自然语音合成 提供多种语音选项
- 低延迟音频处理 为了使对话顺畅进行
- 降噪 以及音频增强
🧠 表示“大脑”或“思考”的符号。 人工智能驱动的智能
- OpenAI GPT集成 用于智能回复
- 情境感知对话 带有记忆功能
- 定制提示工程 针对特定使用场景
- 多轮对话 支持
🔧(扳手或修理工具的符号,常用于表示修理、维护等含义) MCP协议集成
- 可扩展的工具系统 通过模型上下文协议
- 自定义函数调用 能力
- 动态工具注册 以及管理
- 安全执行工具 环境
🌐 表示“互联网”或“全球网络”。 现代网页界面
- 响应式设计 适用于所有设备
- 实时连接状态 指标
- 美观的用户界面组件 带有流畅的动画
- 深色/浅色主题 支持
📁 项目结构
📦 ai-voice-agent/
├── 🎨 frontend/ # Next.js web application
│ ├── 📱 app/ # Next.js App Router
│ │ ├── (app)/ # Main app routes
│ │ ├── api/ # API endpoints
│ │ └── components/ # Page components
│ ├── 🧩 components/ # Reusable UI components
│ │ ├── livekit/ # LiveKit-specific components
│ │ ├── ui/ # Base UI components
│ │ └── session-view.tsx # Main session interface
│ ├── 🎣 hooks/ # Custom React hooks
│ │ ├── useChatAndTranscription.ts
│ │ ├── useConnectionDetails.ts
│ │ └── useDebug.ts
│ └── 📦 package.json # Frontend dependencies
├── 🤖 agent.py # Main AI agent server
├── 🔧 mcp_client/ # MCP client implementation
│ ├── agent_tools.py # Agent tool definitions
│ ├── server.py # MCP server interface
│ └── util.py # Utility functions
├── 💬 prompts.py # AI prompt templates
├── 🛠️ tools.py # Agent tools and functions
├── 📋 requirements.txt # Python dependencies
└── 🔐 SSL certificates/ # Local development certificates🚀 快速入门
先决条件
- Python 3.11+ 使用 pip
- Node.js 18及以上版本 使用 npm/pnpm
- LiveKit账户 以及凭据
- OpenAI API密钥
- Tavus API密钥 (用于角色形象功能)
🛠️ 安装
1. 克隆仓库
git clone https://github.com/tr00x/mamut.git
cd mamut3. 前端设置
# Navigate to frontend directory
cd frontend
# Install Node.js dependencies
npm install
# or
pnpm install4. 环境配置
创建 .env 根目录中的文件:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
# LiveKit Configuration
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
# Tavus Configuration (for avatar)
TAVUS_API_KEY=your_tavus_api_key
TAVUS_REPLICA_ID=your_replica_id
# MCP Configuration
MCP_SERVER_URL=http://localhost:8080创造 frontend/.env.local:
# LiveKit Frontend Configuration
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret🎯 运行应用程序
1号航站楼 - 启动AI代理
# Activate virtual environment
source venv/bin/activate
# Start agent in development mode
python agent.py dev2号航站楼 - 启动前端
# Navigate to frontend
cd frontend
# Start development server
npm run dev🌐 访问应用程序
打开您的浏览器并导航至: http://localhost:3000 翻译为中文是:“本地主机上的3000端口”。不过,通常我们不会直接这样翻译URL,而是根据上下文理解为“访问本地开发服务器的3000端口”,或者简化为“本地3000端口服务”。在实际应用中,我们可能直接说“打开localhost:3000”或者“访问本地主机的3000端口”
🎮 试玩版
🖥️ 桌面体验
- 全屏视频界面,配备虚拟化身
- 实时语音交互,伴有视觉反馈
- 响应式控件和状态指示器
🙏 致谢
- LiveKit(可译为“实时交互工具包”或根据具体语境保持为“LiveKit”,若需更具体描述其功能,可译为“实时音视频交互工具包”等) - 实时通信平台
- 语音代理用户界面 - 前端基础
- OpenAI(一家人工智能研究实验室) - 人工智能语言模型
- Tavus(音译为“塔武斯”或根据具体语境可意译为“塔夫斯”等,但通常保留音译) - 虚拟化身技术
- MCP - 模型上下文协议
______________________________________________________________________
用心打造,共创AI交互未来 电报: @tr00x
