区域访问限制
为适应不同国家或地区的法律法规,声网对话式 AI 引擎支持区域访问限制功能。开启区域访问限制后,不论用户在哪个区域使用你的 App,对话式 AI 引擎都只会访问指定区域的声网服务器。
例如你指定了北美为访问区域,假设有两位用户分别从北美和中国发起通话:
| 指定访问区域 | 用户所在区域 | 实际访问区域 | 连接后的用户体验 |
|---|---|---|---|
| 北美 | 北美 | 北美 | 正常 |
| 北美 | 新加坡 | 北美 | 可能受到较大影响。由于指定区域与 App 用户所在区域之间存在跨区域公共互联网,公共互联网网络质量较差会导致音视频体验受到影响。 如果指定区域的服务器都不可用,服务会直接报错。 |
默认行为
在未开启区域访问限制时,对话式 AI 引擎会根据 LLM URL 的 IP 地址自动选择最近的服务器启动对话式 AI 引擎服务,并支持故障转移 (failover):
- 智能部署: 系统会根据你配置的 LLM URL 对应的 IP 地址,自动在相应区域启动对话式 AI 引擎服务。
- 就近选择: 如果对应区域没有可用服务器,系统会自动选择最近的可用区域。
- 故障转移: 当某个区域的服务不可用时,系统会自动切换到其他可用区域。
开启区域访问限制后,上述默认行为将不再适用。系统会严格限制在指定区域内访问,不会进行跨区域的故障转移。
实现方法
配置对话式 AI 引擎区域访问限制
在调用创建对话式智能体 API 时,通过 properties.geofence 字段配置区域访问限制。
参数说明
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
area | String | 是 | 允许访问的区域。可选以下值:
|
exclude_area | String | 否 | 排除的区域。仅当
|
配置示例
示例 1: 限制仅访问北美区域
{
"name": "customer_service",
"properties": {
"channel": "test_channel",
"token": "your_rtc_token",
"agent_rtc_uid": "123",
"remote_rtc_uids": ["456"],
"geofence": {
"area": "NORTH_AMERICA"
},
"llm": {
// ... LLM 配置
},
"tts": {
// ... TTS 配置
}
}
}
示例 2: 全球访问但排除印度
{
"name": "customer_service",
"properties": {
"channel": "test_channel",
"token": "your_rtc_token",
"agent_rtc_uid": "123",
"remote_rtc_uids": ["456"],
"geofence": {
"area": "GLOBAL",
"exclude_area": "INDIA"
},
"llm": {
// ... LLM 配置
},
"tts": {
// ... TTS 配置
}
}
}
配置 RTC 区域访问限制
声网对话式 AI 引擎服务和声网 RTC 服务的区域访问限制配置是相互独立的。如果你需要实现完整的端到端区域访问限制,确保和智能体互动的整个音视频通话链路都限定在指定区域内,你还需要参考 RTC 区域访问限制进行配置。
数据驻留 (Data Residency)
除了配置对话式 AI 引擎的区域访问限制外,部分 LLM、TTS、ASR 供应商也提供了不同区域的数据驻留服务。你可以通过配置 LLM、TTS、ASR 模块使用的 URL 来确保数据不会跨区域传输。
例如,ElevenLabs 支持通过不同的 URL 端点选择数据处理区域,详见 ElevenLabs 文档。
以下示例代码展示了如何配置 ElevenLabs 的 TTS 服务,使用欧洲区域的 URL 端点:
{
"properties": {
"tts": {
"vendor": {
"name": "elevenlabs"
},
"url": "wss://api.eu.elevenlabs.io/v1/text-to-speech/{voice_id}/stream-input"
}
}
}
最佳实践建议
为了确保数据完全驻留在指定区域,建议采取以下措施:
-
配置对话式 AI 引擎区域限制: 使用
geofence参数限制对话式 AI 引擎服务器的访问区域。 -
配置 RTC 区域限制: 在 RTC SDK 中配置相应的区域访问限制。
-
选择区域化的 AI 服务: 在配置 LLM、TTS、ASR 时,选择支持区域数据驻留的供应商,并使用对应区域的 URL 端点。
-
验证配置: 在生产环境部署前,充分测试区域访问限制是否生效,确保数据不会意外跨区域传输。
注意事项
-
性能影响: 区域访问限制可能会影响用户体验。如果用户所在区域与指定区域相距较远,可能会出现较高的网络延迟。
-
服务可用性: 开启区域访问限制后,如果指定区域的服务器不可用或资源不足,服务将直接报错,不会自动切换到其他区域。
-
配置一致性: 确保对话式 AI 引擎、RTC SDK 和 LLM、TTS、ASR 供应商的区域配置保持一致,避免数据跨区域传输。
-
合规要求: 在配置区域访问限制前,请充分了解目标区域的法律法规要求,确保配置符合当地的数据保护和隐私法规。