gradio
简介
在人工智能飞速发展的今天,向世界展示你的ai模型变得越来越重要,这就是gradio发挥作用的地方:一个简单且直观的工具,让初学者也能够快速展示部署的模型。
gradio是一个开源的python库,用于快速创建一个简单交互界面。通常运用于聊天机器人,机器学习模型等领域。
使用
1. 核心组件
- Interface Interface类是gradio的核心类,他允许用户定义输入和输出类型,,创建交互式的Web界面。
- 输入 gradio支持多种类型的输入,如文本,图片,甚至是音频。
- 输出 gradio支持的输出类型和输入对应,也包括文本,图片,音频。
2. 实例-创建简单聊天机器人
python要求版本不小于3。8,通过pip install gradio
命令安装。
gradio里专门提供了创建聊天机器人的类ChatInterface
,通过提供response函数和一些样式设计参数,快速搭建一个聊天机器人。之后通过调用gradio的launch函数,就能够在本地默认是7860端口进行访问。
下面实现一个只会输出hello world!
的傻瓜式机器人:
1 | import gradio as gr # 导入gradio包 |
当然,有了输出函数的定义,我们的思路就很简单了:根据输入和历史对话生成输出 。
这只是最简单的一个文本聊天界面,可以通过参数来实现更复杂的界面和输入,也可以把模型放到输出函数以实现更优秀的输出。
3. 一些ChatInterface构建时常用的参数
- fn(必需的)
输出函数,如果是ChatInterface类,则必须接受两个参数:字符串输入消息和表示历史聊天记录的[user_message,bot_message]形式的双元素列表列表,并返回字符串响应。 - multiimodal
默认值: False
如果为True,聊天界面将使用gr.MultimodalTextbox组件进行输入,允许上传多媒体文件。 - textbox
默认值: None
如果项自定义文本框属性,则为聊天界面使用gr.Textbox或gr.MultimodalTextbox组件的实例。 - examples
默认值: None
如果提供,则会将提供的内容放在聊天机器人聊天框的下方,可以单击以填充聊天机器人。 - title
默认值: None
界面的标题,以大字体显示在聊天机器人山房,也用作选项卡标题。 - theme
默认值: None
要使用的主题,需要从gradio.themes加载。
openai api
openai api的获取和使用可以参考这篇博客和官方文档。
gpt聊天网页
有了gradio和openai api后就可以部署一个简单的gpt聊天界面:
1 | import time |
更多语法和更复杂的用法还在学习中ing。