(2) 显示所选模型st.markdown(f"你现在选择了 <span style='color:red; font-weight:bold;'>{selected_model}</span> 大模型", unsafe_allow_html=True)使用st.markdown函数显示用户所选的模型,并通过HTML标签使所选模型的名称以红色和加粗的样式显示 。unsafe_allow_html=True参数允许使用HTML标签 。
(3) 创建文本输入框让用户输入问题user_question = st.text_input("请输入你的问题:")使用Streamlit的text_input函数创建了一个文本输入框,提示用户输入问题 。用户输入的问题存储在变量user_question中 。
(4) 创建“发送”按钮,调用模型if st.button("发送"):if selected_model == "Qianfan-Chinese-Llama-2-7B":response = get_response_from_llama2(user_question)elif selected_model == "gpt-3.5-turbo":response = get_response_from_gpt(user_question)elif selected_model == "qwen-plus":response = get_response_from_qwen(user_question)elif selected_model == "gpt-4o":response = get_response_from_gpt_4o(user_question)else:response = "未知模型,请重新选择 。"使用Streamlit的button函数创建了一个按钮,按钮标签为“发送” 。当用户点击按钮时,执行后续逻辑:
- 如果选择了Qianfan-Chinese-Llama-2-7B,则调用get_response_from_llama2函数 。
- 如果选择了gpt-3.5-turbo,则调用get_response_from_gpt函数 。
- 如果选择了qwen-plus,则调用get_response_from_qwen函数 。
- 如果选择了gpt-4o,则调用get_response_from_gpt_4o函数 。
- 如果选择了未知模型 , 返回提示信息“未知模型,请重新选择 。”
response_with_latex = response.replace("\(", "$$").replace("\)", "$$")response_with_latex = response_with_latex.replace("[", "$$").replace("]", "$$")st.markdown(response_with_latex, unsafe_allow_html=True)由于每类模型返回的响应格式各不相同,为了确保显示的效果需要确保LaTeX公式用双美元符号包围 , 并正确处理反斜杠 。代码中,将返回的响应中的LaTeX公式进行替换处理,将“(”替换为“$$”,将“)”替换为“$$”,同时将“[”替换为“$$”,将“]”替换为$$ , 进行了一些列处理 。其目的是为了确保LaTeX公式在Markdown中能够正确渲染 。最后 , 使用st.markdown函数显示处理过的响应 , 并允许HTML标签通过设置unsafe_allow_html=True 。这样可以确保返回的结果在界面上正确显示,包括可能的LaTeX公式 。
对比测试完成代码之后 , 进入命令行工具保证在app.py 同一级目录下面 , 执行如下命令进行测试 。
streamlit run app.py看到如下图所示,说明Streamlit 已经在 本机的8502 端口启动了,此时会自动弹出浏览器并访问对应的Web页面地址 。如果没有自动访问,可以手动在浏览器中输入http://localhost:8502 进行访问 。
文章插图
接下来,我们希望模型回答一个方程求解的问题:“求解下列方程组的所有实数解: 2x + 3y = 7 4x y = 1” 。看看我们定义的4个模型的表现如何 。
如下图所示,在展示的界面中,选择了“Qianfan-Chinese-Llama-2-7B”的模型,这个是百度千帆平台对Llama2模型进行中文训练集微调之后的模型,其参数是7B,也就是70亿 。然后输入对应的问题,点击“发送”按钮 , 可以看到结果如下:

文章插图
从显示结果来看Llama2模型返回了一些解题的思路 , 并给出了一个解:(5 , -1) 。我们把该解带入到第一个式子:2x+3y=7 发现没有问题,但是带入第二个式子:4x-y=1 发现明显不对(有兴趣大家可以自己算算哈) 。
再来到第二个测试模型:“gpt-3.5-turbo” , 如下图所示,输入同样的问题并且点击“发送” 。

文章插图
从结果上看x=-4,y=5 将其带入到第一个式子结果是正确的,再将其带入到第二个式子好像不太对了 。
接着,看看“qwen-plus”文心一言模型的表现,如下图所示 , 输入问题,并且通过发送按钮请求结果 。
推荐阅读
- 类人速度超快语音响应!OpenAI推出新旗舰模型GPT-4o,图文音频手机AI搞定
- ChatGPT-4o,OpenAI的一小步,人类「AI助理」的一大步
- 远离“造神”陷阱,官媒发文辟谣,揭开53岁刀郎的“真实现状”
- 从戏里走到戏外:赵玉田刘英的爱情之路,如何跨越曾经的伤痛?
- 演员吴冕:我这辈子最正确的决定,就是跨越两千多里嫁给初恋丈夫!
- 黄渤没说错!走红1年后,口碑暴跌的张颂文“真实现状”暴露无遗
- 月均100+品牌官宣代言人,谁能真正实现有效明星营销?
- 37岁舒畅现状:长得好看,演技在线却不火,直播带货实现财富自由
- 组合在走下坡路,她却选择续约?她能够实现翻盘吗?
- 演员吴冕:我这辈子最正确的决定,就是跨越两千多里嫁给初恋丈夫
