主要修改在asr-monitor-test 修改小程序手机号码登录 小程序的TTS生成(查一查、AI) 增加和支付相关的功能
This commit is contained in:
@@ -35,6 +35,7 @@ from api.utils.file_utils import get_project_base_directory
|
||||
from peewee import fn
|
||||
import threading, queue,uuid,time,array
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from api.db.services.ali_tts_service import (stream_manager_w_stream as stream_manager)
|
||||
|
||||
def audio_fade_in(audio_data, fade_length):
|
||||
# 假设音频数据是16位单声道PCM
|
||||
@@ -173,8 +174,7 @@ class StreamSessionManager:
|
||||
def get_session(self, session_id):
|
||||
return self.sessions.get(session_id)
|
||||
|
||||
|
||||
stream_manager = StreamSessionManager()
|
||||
stream_manager_bk = StreamSessionManager()
|
||||
|
||||
class DialogService(CommonService):
|
||||
model = Dialog
|
||||
@@ -756,16 +756,20 @@ def chat(dialog, messages, stream=True, **kwargs):
|
||||
if stream:
|
||||
last_ans = ""
|
||||
answer = ""
|
||||
audio_url = None
|
||||
if not kwargs.get('tts_disable'):
|
||||
# 创建TTS会话(提前初始化)
|
||||
tts_session_id = stream_manager.create_session(tts_mdl,sample_rate=tts_sample_rate,stream_format=tts_stream_format)
|
||||
tts_session = stream_manager.get_session(tts_session_id)
|
||||
audio_url = f"/tts_stream/{tts_session_id}"
|
||||
tts_session_id = stream_manager.create_session(tts_mdl,sample_rate=tts_sample_rate,stream_format=tts_stream_format,
|
||||
voice = kwargs.get('tts_model'))
|
||||
tts_session = stream_manager.get_session(tts_session_id)
|
||||
audio_url = f"/tts_stream/{tts_session_id}"
|
||||
send_tts_url = False
|
||||
chunk_buffer = [] # 新增文本缓冲
|
||||
last_flush_time = time.time() # 初始化时间戳
|
||||
# 下面优先处理知识库中没有找到相关内容 cyx 20250323 修改
|
||||
if not kwargs["knowledge"] or kwargs["knowledge"] =="" or len(kwargs["knowledge"]) < 4:
|
||||
stream_manager.append_text(tts_session_id, "未找到相关内容")
|
||||
if not kwargs.get('tts_disable'):
|
||||
stream_manager.append_text(tts_session_id, "未找到相关内容")
|
||||
yield {
|
||||
"answer": "未找到相关内容",
|
||||
"delta_ans": "未找到相关内容",
|
||||
@@ -810,18 +814,19 @@ def chat(dialog, messages, stream=True, **kwargs):
|
||||
yield {"answer": answer, "delta_ans": sanitized_text, "reference": {}}
|
||||
"""
|
||||
# 首块返回音频URL
|
||||
if send_tts_url is False and tts_session['tts_chunk_data_valid'] is True:
|
||||
yield {
|
||||
"answer": answer,
|
||||
"delta_ans": sanitized_text,
|
||||
"session_id": tts_session_id,
|
||||
"reference": {},
|
||||
"audio_stream_url": audio_url,
|
||||
"sample_rate":tts_sample_rate,
|
||||
"stream_format":tts_stream_format,
|
||||
}
|
||||
send_tts_url = True # 发送一次tts url 给前端即可,不能重复发送
|
||||
logging.info(f"--chat retur tts url {audio_url}")
|
||||
if send_tts_url is False and not kwargs.get('tts_disable'):
|
||||
if tts_session['tts_chunk_data_valid'] is True:
|
||||
yield {
|
||||
"answer": answer,
|
||||
"delta_ans": sanitized_text,
|
||||
"session_id": tts_session_id,
|
||||
"reference": {},
|
||||
"audio_stream_url": audio_url,
|
||||
"sample_rate":tts_sample_rate,
|
||||
"stream_format":tts_stream_format,
|
||||
}
|
||||
send_tts_url = True # 发送一次tts url 给前端即可,不能重复发送
|
||||
logging.info(f"--chat retur tts url {audio_url}")
|
||||
else:
|
||||
yield {"answer": answer, "delta_ans": sanitized_text,"reference": {}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user