|
 本篇将为各位同学介绍Gradio,它是一个搭建可视化界面的Python库。Gradio是一个强大且易用的工具,可以帮助开发者快速构建交互式的机器学习模型展示界面。它提供了一个简单易用的界面搭建框架,让用户可以很容易地将模型部署为一个交互式的Web应用程序,而无需编写任何前端代码。Gradio支持各种类型的输入数据,包括文本、图像、音频和视频,让用户可以通过简单的拖放操作来测试和调整模型。用户可以自定义界面的样式和布局,添加各种控件来与模型交互,比如滑块、文本框、下拉菜单等。通过Gradio,用户可以快速构建一个漂亮的Web应用程序,用于展示自己的机器学习模型,与其他人分享模型的功能和性能,或者用于实际的应用场景中。Gradio还支持部署本地Web应用、Jupyter notebook插件或者在线部署到Gradio Hub上。想深入了解的同学可以参考Gradio 的官网文档 : https://www.gradio.app/guides/quickstartGradio github:https://github.com/gradio-app/gradio
本次我们将搭建本地聊天机器人,需要安装Ollama和llama3.1,有兴趣的同学,也可以选用其它的大模型。这里安装比较简单,根据官网指引,输入以下指令:1.curl-fsSLhttps://ollama.com/install.sh|sh2.ollamapullllama3.1:8b 如果想了解详细的安装过程,请看此篇: 【干货】手把手教你搭建Ollama+OpenWebUI
Gradio是一个 Python 库,我们用miniconda搭建Python虚拟环境进行安装。以下指令,在终端中逐条输入:source~/miniconda3/bin/activatecondacreate-ncharbot_1python=3.12 
完成后继续以下指令,在虚拟环境中安装Gradio 。 condaactivatecharbot_1pipinstallgradio

完成以上安装后,我们可以新建charbot_1.py文件, 把以下代码放入此文件中,并且保存home/charbot_1 文件夹中。import requestsimport jsonimport gradio as gr
url = "http://localhost:11434/api/generate"
headers = {'Content-Type': 'application/json'}
conversation_history = []
def generate_response(prompt):conversation_history.append(prompt)
full_prompt = "\n".join(conversation_history)
data = {"model": "llama3.1:8b", "stream": False,"prompt": full_prompt}
response =requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:response_txt = response.textdata = json.loads(response_txt)actual_response = data["response"]conversation_history.append(actual_response)return actual_responseelse:print("Error:", response.status_code, response.text)
iface = gr.Interface(fn=generate_response,inputs=["text"],outputs=["text"])
if __name__ == "__main__":iface.launch()
1. 先运行 ollama 把模型启动,在终端中运行
2. 另开一个终端,进入python虚拟环境运行 charbot_1

3. 在浏览器中打开 地址栏输入127.0.0.1:7860,即可看到Gradio页面了,我们还可以在输入栏输入问题,向大模型提问。
 本例只是简单地介绍了Gradio这个工具的聊天机器人用例,界面也比较简单,其实Gradio还可以搭建更复杂,更华丽的多模态大模型对话界面,包括通过对话生成图像,动画等等,后续有机会将带大家深入地了解Gradio,让它为我们实现更多的功能。
--THE END-- |