diff --git a/examples/webui.py b/examples/webui.py index 27d781c..1e9ef0f 100644 --- a/examples/webui.py +++ b/examples/webui.py @@ -58,10 +58,10 @@ "icon": "hdd-stack", "func": code_page, }, - # "Prompt管理": { - # "icon": "hdd-stack", - # "func": prompt_page, - # }, + "Prompt管理": { + "icon": "hdd-stack", + "func": prompt_page, + } } with st.sidebar: diff --git a/examples/webui/prompt.py b/examples/webui/prompt.py index 28946fb..18c1475 100644 --- a/examples/webui/prompt.py +++ b/examples/webui/prompt.py @@ -13,7 +13,20 @@ from muagent.service.service_factory import get_kb_details, get_kb_doc_details from muagent.orm import table_init +from .dialogue import chat_box +def list_to_converted_strings(lst: list) -> str: + converted_list = [] + for item in lst: + role = item.get('role') + elements = item.get('elements') + if elements: + markdown_element = elements[0] + markdown_text = markdown_element.text if hasattr(markdown_element, 'text') else str(markdown_element) + # 将角色和文本组合成一个字符串,并添加到转换列表中 + converted_list.append(f"{role}: {markdown_text}") + # 将转换后的列表连接成一个字符串,每个元素之间用换行符分隔 + return '\n'.join(converted_list) def prompt_page(api: ApiRequest): # 判断表是否存在并进行初始化 @@ -32,7 +45,7 @@ def prompt_page(api: ApiRequest): export_btn.download_button( "导出记录", - "测试prompt", + list_to_converted_strings(chat_box.history), file_name=f"{now:%Y-%m-%d %H.%M}_对话记录.md", mime="text/markdown", use_container_width=True,