返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【干货】教你搭建 Ollama Gradio 聊天机器人

[复制链接]
链载Ai 显示全部楼层 发表于 5 小时前 |阅读模式 打印 上一主题 下一主题

本篇将为各位同学介绍Gradio,它是一个搭建可视化界面的Python库。Gradio是一个强大且易用的工具,可以帮助开发者快速构建交互式的机器学习模型展示界面。它提供了一个简单易用的界面搭建框架,让用户可以很容易地将模型部署为一个交互式的Web应用程序,而无需编写任何前端代码。
Gradio支持各种类型的输入数据,包括文本、图像、音频和视频,让用户可以通过简单的拖放操作来测试和调整模型。用户可以自定义界面的样式和布局,添加各种控件来与模型交互,比如滑块、文本框、下拉菜单等。
通过Gradio,用户可以快速构建一个漂亮的Web应用程序,用于展示自己的机器学习模型,与其他人分享模型的功能和性能,或者用于实际的应用场景中。Gradio还支持部署本地Web应用、Jupyter notebook插件或者在线部署到Gradio Hub上。
想深入了解的同学可以参考Gradio 的官网文档 : https://www.gradio.app/guides/quickstart

Gradio github:https://github.com/gradio-app/gradio


01
安装ollama + llama3.1:8b


本次我们将搭建本地聊天机器人,需要安装Ollama和llama3.1,有兴趣的同学,也可以选用其它的大模型。这里安装比较简单,根据官网指引,输入以下指令:
1.curl-fsSLhttps://ollama.com/install.sh|sh2.ollamapullllama3.1:8b

如果想了解详细的安装过程,请看此篇:

【干货】手把手教你搭建Ollama+OpenWebUI


02
搭建 Gradio 环境


Gradio是一个 Python 库,我们用miniconda搭建Python虚拟环境进行安装。以下指令,在终端中逐条输入:
source~/miniconda3/bin/activatecondacreate-ncharbot_1python=3.12


完成后继续以下指令,在虚拟环境中安装Gradio 。

condaactivatecharbot_1pipinstallgradio



03
代码


完成以上安装后,我们可以新建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()


04
运行


1. 先运行 ollama 把模型启动,在终端中运行

ollamarunllama3.1:8B


2. 另开一个终端,进入python虚拟环境运行 charbot_1

python3charbot_1


3. 在浏览器中打开

地址栏输入127.0.0.1:7860,即可看到Gradio页面了,我们还可以在输入栏输入问题,向大模型提问。

本例只是简单地介绍了Gradio这个工具的聊天机器人用例,界面也比较简单,其实Gradio还可以搭建更复杂,更华丽的多模态大模型对话界面,包括通过对话生成图像,动画等等,后续有机会将带大家深入地了解Gradio,让它为我们实现更多的功能。


--THE END--

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ