import gradio as gr def mock_question_answer(question): # 假資料模擬回答 answers = { "文件的核心觀點是什麼?": "這份文件的核心觀點是關於人工智慧如何提升工作效率。", "有哪些關鍵詞或數據?": "關鍵詞包括:人工智慧、工作效率、數據分析。", "文件的摘要是什麼?": "這份文件討論了如何利用人工智慧工具,提升企業的運營效率和決策速度。" } return answers.get(question, "抱歉,我無法回答這個問題。請嘗試其他問題!") def mock_summary(): # 假資料模擬摘要 return "這份文件主要討論人工智慧在工作效率提升方面的應用,並提供了實際案例來說明其價值。" def mock_sources(): # 假資料模擬來源列表 return ["來源一:時間的四則問題", "來源二:新文章"] with gr.Blocks() as demo: gr.Markdown("# AI Notes Assistant") with gr.Row(): with gr.Column(): gr.Markdown("### 來源選單") sources = gr.CheckboxGroup( choices=mock_sources(), label="選取所有來源", interactive=True ) with gr.Column(): gr.Markdown("### 對話區域") question = gr.Textbox(label="提出問題,例如:文件的核心觀點是什麼?") answer = gr.Textbox(label="回答", interactive=False) ask_button = gr.Button("提問") with gr.Column(): gr.Markdown("### 功能卡片") with gr.Tab("摘要生成"): summary_button = gr.Button("生成摘要") summary = gr.Textbox(label="摘要", interactive=False) with gr.Tab("其他功能"): gr.Markdown("此處可以添加更多功能卡片") ask_button.click(mock_question_answer, inputs=[question], outputs=[answer]) summary_button.click(mock_summary, inputs=[], outputs=[summary]) demo.launch()