backboard and function test
This commit is contained in:
@@ -33,7 +33,7 @@ class ChatManager:
|
||||
self.raw_score_prompts = raw_score_prompts
|
||||
self.chapter_chain = load_chapters(raw_markdown, raw_markdown_prompts, raw_score_prompts)
|
||||
self.function_manager = FunctionManager()
|
||||
|
||||
self.bb = None
|
||||
|
||||
def next_chapter(self):
|
||||
assert self.chapter_chain_now + 1 < len(self.chapter_chain), "chapter_chain_now out of range"
|
||||
@@ -46,6 +46,8 @@ class ChatManager:
|
||||
self.chapter_chain[chapter_index].Focus()
|
||||
self.ase_client.loadmarkdown(self.chapter_chain[chapter_index].chapter, self.chapter_chain[chapter_index].chapter_prompt, self.chapter_chain[chapter_index].score_prompt)
|
||||
|
||||
def upload_bb(self):
|
||||
self.ase_client.send_text('backboard-in', self.bb.get_info_prompt())
|
||||
|
||||
def message_pass(self, messagetype, message):
|
||||
print("message_pass", self.user_uuid, messagetype, message)
|
||||
|
||||
@@ -13,12 +13,10 @@ def realtime_response(config: dict, realtime_action: dict) -> None:
|
||||
"""
|
||||
业务:根据 VSCode 上报的动作,更新 Backboard(黑板)状态。
|
||||
"""
|
||||
uuid2username = current_app.extensions["uuid2username"]
|
||||
backboard_manager = current_app.extensions["backboard_manager"]
|
||||
|
||||
user_uuid = config["user_uuid"]
|
||||
folder_path = config["path"]
|
||||
username = uuid2username[user_uuid]
|
||||
chatmanager = current_app.extensions["user_uuid2chatmanager"][user_uuid]
|
||||
|
||||
|
||||
bb = backboard_manager.get_backboard(user_uuid)
|
||||
assert isinstance(bb, Backboard)
|
||||
@@ -57,3 +55,5 @@ def realtime_response(config: dict, realtime_action: dict) -> None:
|
||||
# 如需调试输出,可在这里统一记录日志
|
||||
current_app.logger.debug("vscode config: %s", config)
|
||||
current_app.logger.debug("vscode action: %s", realtime_action)
|
||||
|
||||
chatmanager.upload_bb()
|
||||
@@ -63,7 +63,12 @@ class AgentNamespace(Namespace):
|
||||
entry=self,
|
||||
init_data={'room': user_uuid}
|
||||
)
|
||||
|
||||
user_uuid2ase_client[user_uuid].register_route_with_entry(
|
||||
route='judge',
|
||||
callback=self.receive_ase_judge,
|
||||
entry=self,
|
||||
init_data={'room': user_uuid}
|
||||
)
|
||||
fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
|
||||
user_uuid2chatmanager[user_uuid] = ChatManager(user_uuid, user_uuid2ase_client[user_uuid], fmd, fmdp, fsp, max_iter=5, app=current_app, socketio=self)
|
||||
chatmanager = user_uuid2chatmanager[user_uuid]
|
||||
@@ -73,7 +78,7 @@ class AgentNamespace(Namespace):
|
||||
|
||||
join_room(user_uuid, namespace='/agent') # 将该用户加入以user_id为名的room
|
||||
backboard_manager.add_backboard(user_uuid, user_id, course_id, lesson_name, root_path=f'../../study/{user_id}/{course_id}/{chapter_name}/{lesson_name}')
|
||||
|
||||
chatmanager.bb = backboard_manager.get_backboard(user_uuid)
|
||||
chatmanager.focus_chapter(0)
|
||||
|
||||
def on_language(self, language):
|
||||
@@ -84,10 +89,7 @@ class AgentNamespace(Namespace):
|
||||
print(f"Message from client: {data}")
|
||||
ex = current_app.extensions
|
||||
agent_manager = ex["agent_manager"]
|
||||
backboard_manager = ex["backboard_manager"]
|
||||
uuid = session.get('user_uuid')
|
||||
uuid2username = ex["uuid2username"]
|
||||
user_id = uuid2username[uuid]
|
||||
user_uuid2ase_client = ex["user_uuid2ase_client"]
|
||||
if (type(data)==str):
|
||||
data = json.loads(data)
|
||||
@@ -107,7 +109,8 @@ class AgentNamespace(Namespace):
|
||||
def receive_ase_dialog(client_entry: HSAEngineClient, namespace_entry: Namespace, data, init_data):
|
||||
namespace_entry.emit('message', data['data'], room=init_data['room'], namespace='/agent')
|
||||
|
||||
def receive_ase_function(client_entry: HSAEngineClient, namespace_entry: Namespace, data, init_data):
|
||||
def receive_ase_judge(client_entry: HSAEngineClient, namespace_entry: Namespace, data, init_data):
|
||||
print("receive_ase_judge", data)
|
||||
namespace_entry.emit('request_function', data['data'], room=init_data['room'], namespace='/agent')
|
||||
|
||||
def on_initiative(self,data):
|
||||
|
||||
Reference in New Issue
Block a user