Spaces:
Build error
Build error
| import gradio as gr | |
| import json | |
| from dialogue_management import manage_dialogue | |
| from function_trigger import trigger_function | |
| from config import load_config | |
| from skill_repository import load_skills, save_skills, add_skill, delete_skill | |
| config = load_config() | |
| skills = load_skills() | |
| # 对话功能 | |
| def respond(user_input): | |
| response, action = manage_dialogue(user_input, skills) | |
| result = trigger_function(action, config) | |
| return response, result | |
| # 显示指令库文件 | |
| def show_skills(): | |
| with open('skills.json', 'r', encoding='utf-8') as file: | |
| skills_data = json.load(file) | |
| return json.dumps(skills_data, ensure_ascii=False, indent=4) | |
| # 添加新的技能 | |
| def add_new_skill(triggers, action): | |
| trigger_list = [trigger.strip() for trigger in triggers.split(',')] | |
| new_skill = { | |
| "triggers": trigger_list, | |
| "action": action | |
| } | |
| add_skill(new_skill) | |
| return show_skills() | |
| # 删除技能 | |
| def remove_skill(action): | |
| delete_skill(action) | |
| return show_skills() | |
| with gr.Blocks() as demo: | |
| with gr.Tab("AI Assistant Response"): | |
| skills = load_skills() | |
| gr.Markdown("## AI Assistant Response") | |
| user_input = gr.Textbox(label="User Input") | |
| ai_response = gr.Markdown() | |
| action_result = gr.Textbox(label="Action Result") | |
| respond_button = gr.Button("Respond") | |
| respond_button.click( | |
| respond, | |
| inputs=user_input, | |
| outputs=[ai_response, action_result] | |
| ) | |
| with gr.Tab("View Skills Library"): | |
| gr.Markdown("## Skills Library") | |
| skills_output = gr.Code(label="Skills Library") | |
| load_skills_button = gr.Button("Load Skills") | |
| load_skills_button.click( | |
| show_skills, | |
| outputs=skills_output | |
| ) | |
| with gr.Tab("Add Skill"): | |
| gr.Markdown("## Add Skill") | |
| new_triggers = gr.Textbox(label="Triggers (comma separated)") | |
| new_action = gr.Textbox(label="Action") | |
| add_skill_output = gr.Code(label="Updated Skills Library") | |
| add_skill_button = gr.Button("Add Skill") | |
| add_skill_button.click( | |
| add_new_skill, | |
| inputs=[new_triggers, new_action], | |
| outputs=add_skill_output | |
| ) | |
| with gr.Tab("Delete Skill"): | |
| gr.Markdown("## Delete Skill") | |
| delete_action = gr.Textbox(label="Action to Delete") | |
| delete_skill_output = gr.Code(label="Updated Skills Library") | |
| delete_skill_button = gr.Button("Delete Skill") | |
| delete_skill_button.click( | |
| remove_skill, | |
| inputs=delete_action, | |
| outputs=delete_skill_output | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |