Speaking Bots API
用于会议的对话式 AI 代理
Speaking Bots API 让你能够将对话式 AI 代理(角色)部署到 Google Meet、Microsoft Teams 和 Zoom 会议中。这些 bot 由 Pipecat 和 Meeting BaaS 驱动,能够实时发言、倾听和交互。
- 部署具有自定义个性和声音的 bot
- 实时音频流和语音转文字
- 支持多个平台以及每次会议多个 bot
- OpenAPI 和 HTTP endpoint,便于集成
该 API 是开源的,可以自托管,也可以通过公共 endpoint 使用。
主要功能
- 对话式 AI: bot 能够在会议中发言、倾听和交互
- 自定义角色: 定义独特的个性、声音和入场消息
- 多平台支持: Google Meet、Microsoft Teams、Zoom
- WebSocket 音频: 通过 Pipecat 实现实时音频流
- 开源: 提供完整代码库供自定义使用
- 轻松部署: 通过简单的 HTTP POST 启动 bot
API Endpoints
POST /bots— 将 speaking bot 部署到会议中DELETE /bots/{bot_id}— 将 bot 从会议中移除GET /health— 健康检查
完整详情请参阅 API 文档 和 OpenAPI 规范。
设置与安装
前提条件
- Python 3.11+
grpc_tools用于协议缓冲区编译- Ngrok 用于本地开发
- Poetry 用于依赖管理
快速设置
-
克隆仓库:
git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git cd speaking-meeting-bot -
安装依赖:
# Install Poetry curl -sSL https://install.python-poetry.org | python3 - # Configure Poetry and install dependencies poetry env use python3.11 poetry install poetry shell -
配置环境:
cp env.example .env编辑
.env,填写你的 API 密钥:MEETING_BAAS_API_KEY:用于会议平台集成OPENAI_API_KEY:用于对话 LLMCARTESIA_API_KEY:用于文字转语音GLADIA_API_KEY或DEEPGRAM_API_KEY:用于语音转文字
-
启动服务器:
poetry run uvicorn app:app --reload --host 0.0.0.0 --port 8766
详细设置说明请参阅 官方设置指南。
API 使用示例
部署 Speaking Bot
curl -X POST https://speaking.meetingbaas.com/bots \
-H "Content-Type: application/json" \
-d '{
"meeting_url": "https://us06web.zoom.us/j/123456789?pwd=example",
"personas": ["baas_onboarder"],
"meeting_baas_api_key": "your-api-key"
}'curl -X POST "https://speaking.meetingbaas.com/bots" \
-H "x-meeting-baas-api-key: <token>" \
-H "Content-Type: application/json" \
-d '{
"bot_image": "https://example.com/bot-avatar.png",
"bot_name": "Meeting Assistant",
"enable_tools": true,
"entry_message": "Hello! I\'m here to assist with the meeting.",
"extra": {
"company": "ACME Corp",
"meeting_purpose": "Weekly sync"
},
"meeting_url": "https://meet.google.com/abc-defg-hij",
"personas": [
"helpful_assistant",
"meeting_facilitator"
],
"prompt": "You are Meeting Assistant, a concise and professional AI bot that helps summarize key points and keep the meeting on track. Speak clearly and stay on topic."
}'import requests
import json
def deploy_speaking_bot():
url = "https://speaking.meetingbaas.com/bots"
headers = {
"Content-Type": "application/json",
"x-meeting-baas-api-key": "your-api-key"
}
payload = {
"meeting_url": "https://meet.google.com/abc-defg-hij",
"bot_name": "AI Assistant",
"personas": ["helpful_assistant"],
"entry_message": "Hello! I'm your AI assistant for this meeting.",
"bot_image": "https://example.com/bot-avatar.png",
"enable_tools": True,
"extra": {
"company": "Your Company",
"meeting_purpose": "Team sync"
}
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# Deploy the speaking bot
result = deploy_speaking_bot()
print(result)将 Bot 从会议中移除
curl -X DELETE "https://speaking.meetingbaas.com/bots/{bot_id}" \
-H "x-meeting-baas-api-key: your-api-key"角色:自定义对话代理
定义你自己的角色,赋予独特的提示词、声音和行为。参见 角色目录 获取示例。
- 每个角色是一个包含 Markdown 文件的文件夹,分别存放提示词、上下文和规则
- 启动 bot 时通过名称指定角色
- 支持自定义入场消息、图片和语音 ID
角色配置示例
# Example persona structure
personas/
├── helpful_assistant/
│ ├── prompt.md # Main personality prompt
│ ├── context.md # Background context
│ └── rules.md # Behavioral rules
├── meeting_facilitator/
│ ├── prompt.md
│ ├── context.md
│ └── rules.md
└── interviewer/
├── prompt.md
├── context.md
└── rules.md可用角色
- helpful_assistant:通用会议协助与记录
- meeting_facilitator:帮助引导会议、保持讨论方向
- interviewer:开展结构化面试并提出追问
- baas_onboarder:专为客户入职会议设计
本地开发
用于本地开发和测试:
# Run in local development mode with ngrok auto-configuration
poetry run python run.py --local-dev
# Access interactive API docs
open http://localhost:8766/docs
# Test with CLI tools
poetry run python scripts/batch.py -c 1 --meeting-url YOUR_MEETING_URL
开始使用
准备好在你的会议中部署对话式 AI 代理了吗?查看我们的综合资源: