Upload 2 files
Browse files- app.py +38 -0
- requirements.txt +1 -0
app.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
from google import genai
|
| 3 |
+
from google.genai.types import Content, Part # 引入 Content 類型
|
| 4 |
+
|
| 5 |
+
import gradio as gr
|
| 6 |
+
system_prompt = '''
|
| 7 |
+
你是一個圖書管理員,根據使用者給你書本的內容來分析並進行分類。
|
| 8 |
+
類別只能從下面的類別內容中進行多選:
|
| 9 |
+
[程式語言, Data Science, 人工智慧, 分散式架構, 系統開發, 行動軟體開發, 資料庫, 資訊科學, 軟體架構, 軟體測試, 軟體工程, 資訊安全, 網站開發, 前端開發, 架站軟體, 網頁設計, Adobe 軟體應用, Office 系列, 遊戲開發設計, UI/UX, 雲端運算, 區塊鏈與金融科技, 物聯網 IoT, 商業管理類, 電子電路電機類, 嵌入式系統, 視覺影音設計, 考試認證, 數學, 微軟技術, MAC OS 蘋果電腦, 其他, 兒童專區, 製圖軟體應用, 語言學習, 國家考試, 職涯發展, Java, 理工類, 網路通訊, 量子電腦]
|
| 10 |
+
|
| 11 |
+
輸出請按照下面的格式:
|
| 12 |
+
[類別1, 類別2, ....]
|
| 13 |
+
'''
|
| 14 |
+
model_name = 'gemini-2.0-flash'
|
| 15 |
+
|
| 16 |
+
def classification(api_key, books):
|
| 17 |
+
client = genai.Client(api_key=api_key)
|
| 18 |
+
user_prompt = books
|
| 19 |
+
contents = [
|
| 20 |
+
Content(role="user", parts=[Part(text=system_prompt)]),
|
| 21 |
+
Content(role="user", parts=[Part(text=user_prompt)]),
|
| 22 |
+
]
|
| 23 |
+
response = client.models.generate_content(model=model_name, contents=contents)
|
| 24 |
+
return f"這本書的分類是:\n {response.text}!"
|
| 25 |
+
|
| 26 |
+
with gr.Blocks() as demo: #定義區塊
|
| 27 |
+
gr.Markdown("# 書籍分類") #顯示Markdown格式的物件
|
| 28 |
+
api_key = gr.Textbox(label="Gemini API KEY", placeholder="這裡輸入Gemini的API KEY")
|
| 29 |
+
book_content = gr.Textbox(label="書籍資訊", placeholder="這裡輸入書籍的資訊", lines=15)
|
| 30 |
+
btn = gr.Button("進行分類") #按鍵
|
| 31 |
+
out = gr.Textbox(label='書籍的類別')
|
| 32 |
+
btn.click(
|
| 33 |
+
fn=classification,
|
| 34 |
+
inputs=[api_key, book_content],
|
| 35 |
+
outputs=out)
|
| 36 |
+
|
| 37 |
+
demo.launch() #執行區塊
|
| 38 |
+
|
requirements.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
google-genai
|