iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
生成式 AI

RAG自己來系列:客服機器人系列 第 10

[Day 10] 介紹 Gradio -- 元件篇

  • 分享至 

  • xImage
  •  

既然我們的主題是跟 RAG 有關,且程式語言也是用 Python,那就不提好用的開源套件 -- Gradio 啦~~

https://ithelp.ithome.com.tw/upload/images/20240918/20146555truBKmKBlK.png

簡介

在 2022 年,ChatGPT 興起,以及本地模型的助攻,Gradio 也因此產生

這個套件能夠透過簡單的 Python 程式去建構出一個前端頁面,相信大家也對大名鼎鼎的 Stable Diffusion 相當熟悉吧!!沒錯,他的前端頁面,也是用 Gradio 刻出來的,至於使用有多方便就不多說了,且又是用 Python 去撰寫,簡直省去了前端頁面的開發

官方也提供一個 PlayGround 讓開發者方便進行測試。

元件介紹

界面元件

組織一個界面,一定要有一個模板,就像寫 C 語言,
,需要一個 main() 的進入點一樣

元件名稱 備註
Blocks 為 Gradio 中的基本元件。擁有最高自訂性,可再新增不同的功能元件
Interface 繼承 Blocks 的元件。預設給予一個輸入以及一個輸出文字框,雖然一樣可以生成界面,但自訂性較無 Blocks 高
Row 建立一個區塊讓元件可以水平排列
Column 建立一個區塊讓元件可以垂直排列
Tabs 分頁功能。若在同一個 Blocks 底下,需要分不同的頁面時可以用

基本功能元件

這邊介紹幾個較為實用的功能元件

元件名稱 元件名稱
Audio Number
Button MultimodalTextbox
Chatbot Textbox
Checkbox Video
ClearButton BarPlot
Dataframe Image
DownloadButton Gallery
Dropdown LinePlot
File(s)

如與使用者互動的 ButtonCheckboxRadio 等等元件

或者透過官方的範例程式碼就可以打造一個簡單的前端介面

import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")

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

https://ithelp.ithome.com.tw/upload/images/20240918/20146555nHajqKiBjm.png


上一篇
[Day 9] [複習篇] Day2 ~ Day8 周回複習
下一篇
[Day 11] 介紹 Gradio -- 應用篇
系列文
RAG自己來系列:客服機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言