ASengine id
This commit is contained in:
@@ -8,7 +8,7 @@ from typing import Dict, Callable, Any, Optional
|
|||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
class ASEngineClient:
|
class ASEngineClient:
|
||||||
def __init__(self, server_url: str, namespace: str):
|
def __init__(self, server_url: str, namespace: str, id:str):
|
||||||
"""
|
"""
|
||||||
初始化客户端
|
初始化客户端
|
||||||
:param server_url: 服务器URL,例如 'http://localhost:5000'
|
:param server_url: 服务器URL,例如 'http://localhost:5000'
|
||||||
@@ -16,6 +16,7 @@ class ASEngineClient:
|
|||||||
"""
|
"""
|
||||||
self.server_url = server_url
|
self.server_url = server_url
|
||||||
self.namespace = namespace
|
self.namespace = namespace
|
||||||
|
self.id = id
|
||||||
self.sid = None
|
self.sid = None
|
||||||
self.connected = False
|
self.connected = False
|
||||||
|
|
||||||
@@ -153,7 +154,7 @@ class ASEngineClient:
|
|||||||
self.sid = None
|
self.sid = None
|
||||||
print("Disconnected from server")
|
print("Disconnected from server")
|
||||||
|
|
||||||
def send_text(self, route: str, text: str) -> bool:
|
def send_text(self, route: str, text: str, id:str) -> bool:
|
||||||
"""
|
"""
|
||||||
发送文本消息
|
发送文本消息
|
||||||
:param route: 目标路由
|
:param route: 目标路由
|
||||||
@@ -166,14 +167,14 @@ class ASEngineClient:
|
|||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.sio.emit(route, {'type': 'text', 'data': text}, namespace=self.namespace)
|
self.sio.emit(route, {'type': 'text', 'data': text, 'id': id}, namespace=self.namespace)
|
||||||
print(f"Sent text to route '{route}': {text}")
|
print(f"Sent text to route '{route}': {text}")
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Failed to send text to route '{route}': {e}")
|
print(f"Failed to send text to route '{route}': {e}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def send_voice(self, route: str, voice_data: bytes) -> bool:
|
def send_voice(self, route: str, voice_data: bytes, id:str) -> bool:
|
||||||
"""
|
"""
|
||||||
发送语音数据
|
发送语音数据
|
||||||
:param route: 目标路由
|
:param route: 目标路由
|
||||||
@@ -195,7 +196,8 @@ class ASEngineClient:
|
|||||||
'type': 'audio',
|
'type': 'audio',
|
||||||
'data': voice_data,
|
'data': voice_data,
|
||||||
'timestamp': int(time.time() * 1000),
|
'timestamp': int(time.time() * 1000),
|
||||||
'sampleRate': 16000
|
'sampleRate': 16000,
|
||||||
|
'id': id
|
||||||
},
|
},
|
||||||
namespace=self.namespace
|
namespace=self.namespace
|
||||||
)
|
)
|
||||||
@@ -207,7 +209,7 @@ class ASEngineClient:
|
|||||||
print(f"Failed to send voice to route '{route}': {e}")
|
print(f"Failed to send voice to route '{route}': {e}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def send_image(self, route: str, file_path: str) -> bool:
|
def send_image(self, route: str, file_path: str, id:str) -> bool:
|
||||||
"""
|
"""
|
||||||
发送图片文件
|
发送图片文件
|
||||||
:param route: 目标路由
|
:param route: 目标路由
|
||||||
@@ -237,7 +239,8 @@ class ASEngineClient:
|
|||||||
route,
|
route,
|
||||||
{
|
{
|
||||||
'type': 'image',
|
'type': 'image',
|
||||||
'data': image_data
|
'data': image_data,
|
||||||
|
'id': id
|
||||||
},
|
},
|
||||||
namespace=self.namespace
|
namespace=self.namespace
|
||||||
)
|
)
|
||||||
@@ -262,10 +265,10 @@ class ASEngineClient:
|
|||||||
|
|
||||||
|
|
||||||
class HSAEngineClient(ASEngineClient):
|
class HSAEngineClient(ASEngineClient):
|
||||||
def __init__(self, server_url: str, namespace: str):
|
def __init__(self, server_url: str, namespace: str, id:str):
|
||||||
super().__init__(server_url, namespace)
|
super().__init__(server_url, namespace, id)
|
||||||
def loadmarkdown(self, fmd, fmdp, fsp):
|
def loadmarkdown(self, fmd, fmdp, fsp):
|
||||||
self.send_text('markdown-in', fmd)
|
self.send_text('markdown-in', fmd, self.id)
|
||||||
self.send_text('markdown-prompt-in', fmdp)
|
self.send_text('markdown-prompt-in', fmdp, self.id)
|
||||||
self.send_text('score-prompt-in', fsp)
|
self.send_text('score-prompt-in', fsp, self.id)
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ class AgentNamespace(Namespace):
|
|||||||
print(f'User connected with session user_uuid: {user_uuid}')
|
print(f'User connected with session user_uuid: {user_uuid}')
|
||||||
user_uuid2chatmanager = ex["user_uuid2chatmanager"]
|
user_uuid2chatmanager = ex["user_uuid2chatmanager"]
|
||||||
user_uuid2ase_client = ex["user_uuid2ase_client"]
|
user_uuid2ase_client = ex["user_uuid2ase_client"]
|
||||||
user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"])
|
user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"],id=user_id)
|
||||||
user_uuid2ase_client[user_uuid].connect()
|
user_uuid2ase_client[user_uuid].connect()
|
||||||
user_uuid2ase_client[user_uuid].register_route_with_entry(
|
user_uuid2ase_client[user_uuid].register_route_with_entry(
|
||||||
route='dialog',
|
route='dialog',
|
||||||
|
|||||||
Reference in New Issue
Block a user