到目前为止,后端的功能就基本上处理完了,最后需要做一个界面,让用户可以通过界面做问诊咨询。界面这块,就用前面讲过的Gradio的对话窗口来实现,整体布局在基础部分都已经讲过了,略作修改就可以了。这节课重点是测试,看看有没有隐藏bug。

代码示例

1、前端界面

import gradio as gr
from service import Service

def doctor_bot(message, history):
    service = Service()
    return service.answer(message, history)

css = '''
.gradio-container { max-width:850px !important; margin:20px auto !important;}
.message { padding: 10px !important; font-size: 14px !important;}
'''

demo = gr.ChatInterface(
    css = css,
    fn = doctor_bot, 
    title = '医疗问诊机器人',
    chatbot = gr.Chatbot(height=400, bubble_full_width=False),
    theme = gr.themes.Default(spacing_size='sm', radius_size='sm'),
    textbox=gr.Textbox(placeholder="在此输入您的问题", container=False, scale=7),
    examples = ['你好,你叫什么名字?', '介绍一下寻医问药网', '感冒是一种什么病?', '吃什么药好得快?可以吃阿莫西林吗?', '陈华编程有哪些课程?'],
    submit_btn = gr.Button('提交', variant='primary'),
    clear_btn = gr.Button('清空记录'),
    retry_btn = None,
    undo_btn = None,
)

if __name__ == '__main__':
    demo.launch()

2、关闭调试模式

VERBOSE=False

好的,那到现在为止,整个项目的功能就全部讲完了。但是目前这种大模型的项目,还是不能做到绝对的准确可靠,所以大家在测试的时候,还是会或多或少的遇到一些问题,遇到问题之后,大家可以去尝试修改对应的提示词。

后面课程,还要给大家讲几个OpenAI以外的、有代表性的模型,最终实现课程开头规划的,通过配置项切换模型的功能。

本文链接:http://ichenhua.cn/edu/note/721

版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!