Add support for Xfyun ASR and TTS services in the backend
- Introduce new Xfyun ASR and TTS services, enabling integration with iFlytek's voice recognition and synthesis capabilities. - Update AssistantConfig model to include interface types for STT and TTS. - Enhance credential testing to validate Xfyun credentials. - Modify service factory to create Xfyun services based on configuration. - Update README with new configuration details for Xfyun integration. - Add new frontend components for visualizing audio streams and managing user interactions.
This commit is contained in:
@@ -9,6 +9,7 @@ import wave
|
||||
import httpx
|
||||
|
||||
from schemas import CredentialTestRequest, CredentialTestResult
|
||||
from services.pipecat.xfyun_config import parse_xfyun_credential
|
||||
|
||||
TEST_TIMEOUT_SECONDS = 10.0
|
||||
|
||||
@@ -123,3 +124,25 @@ async def test_openai_credential(
|
||||
message="无法连接到模型服务",
|
||||
detail=str(exc)[:300],
|
||||
)
|
||||
|
||||
|
||||
def test_xfyun_credential(config: CredentialTestRequest) -> CredentialTestResult:
|
||||
"""Validate the Xfyun credential packed into the existing api_key field.
|
||||
|
||||
Actual signed-WebSocket synthesis/recognition is exercised by the voice
|
||||
pipeline; this check deliberately avoids consuming provider quota.
|
||||
"""
|
||||
try:
|
||||
parse_xfyun_credential(config.api_key)
|
||||
except ValueError as exc:
|
||||
return CredentialTestResult(
|
||||
ok=False,
|
||||
message="讯飞凭证格式无效",
|
||||
detail=str(exc),
|
||||
)
|
||||
|
||||
return CredentialTestResult(
|
||||
ok=True,
|
||||
message="讯飞凭证格式有效",
|
||||
detail="请在语音测试页验证签名、识别和合成链路",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user