Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| from PIL import Image | |
| classifier = pipeline("image-classification") | |
| def classify_image(img: Image.Image): | |
| results = classifier(img) | |
| formatted = "\n".join([f"{r['label']} ({r['score']:.2%})" for r in results]) | |
| return formatted | |
| def greet(name, age, mood): | |
| return f"{name}さん、こんにちは!年齢は{age}歳で、気分は「{mood}」ですね! これはサンプルなので特に機能はないですよ!😊" | |
| def process_file(file): | |
| with open(file.name, "r", encoding="utf-8") as f: | |
| content = f.read() | |
| return content[:300] + "\n...(省略)" if len(content) > 300 else content | |
| def image_shape(img): | |
| return f"画像サイズ:{img.size[0]} x {img.size[1]}" | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## 🖼️ HuggingFaceLLMとの連携") | |
| gr.Markdown("#### 犬か猫の写真を入れるとAIが種類を判別してくれます。") | |
| with gr.Row(): | |
| with gr.Column(): | |
| image_input = gr.Image(type="pil", label="イメージを載せてください") | |
| btn = gr.Button("どの種類だろう・・・") | |
| with gr.Column(): | |
| result_output = gr.Textbox(label="結果", lines=10) | |
| btn.click(fn=classify_image, inputs=image_input, outputs=result_output) | |
| gr.Markdown("## 🖼️各種widgetのサンプル") | |
| with gr.Tab("👋 基本入力"): | |
| with gr.Row(): | |
| name = gr.Textbox(label="名前 (Textbox機能)") | |
| age = gr.Slider(0, 100, value=20, label="年齢 (Slider機能)") | |
| mood = gr.Radio(["嬉しい", "悲しい", "疲れた", "怒っている"], label="今の気分 (Radio機能)") | |
| greet_btn = gr.Button("確認する (Button機能)") | |
| greet_output = gr.Textbox(label="結果") | |
| greet_btn.click(fn=greet, inputs=[name, age, mood], outputs=greet_output) | |
| with gr.Tab("🖼️ 画像処理"): | |
| gr.Markdown("#### 画像オブジェクトとして処理してくれます") | |
| img_input = gr.Image(type="pil", label="画像をアップロード") | |
| img_btn = gr.Button("画像情報を表示") | |
| img_output = gr.Textbox(label="出力") | |
| img_btn.click(fn=image_shape, inputs=img_input, outputs=img_output) | |
| with gr.Tab("📄 ファイル処理"): | |
| file_input = gr.File(file_types=[".txt"], label="テキストファイルをアップロード") | |
| file_output = gr.Textbox(label="ファイル内容プレビュー") | |
| file_input.change(fn=process_file, inputs=file_input, outputs=file_output) | |
| my_list = ["Option 1", "Option 2", "Option 3", "Option 4 ", "Medical"] | |
| with gr.Tab("🧩 その他のウィジェット"): | |
| with gr.Accordion("🔽 Accordion機能", open=False): | |
| chk = gr.Checkbox(label="Checkbox機能") | |
| drop1 = gr.Dropdown(choices=my_list, label="Dropdown機能", value=my_list[0], interactive=True) | |
| gr.Textbox(value="テキスト", label="Textbox機能") | |
| demo.launch() |