aliabd HF staff commited on
Commit
1ae0896
1 Parent(s): 29cf077

Upload folder using huggingface_hub

Browse files
Files changed (9) hide show
  1. .gitattributes +1 -0
  2. README.md +7 -7
  3. files/audio.wav +0 -0
  4. files/avatar.png +0 -0
  5. files/sample.txt +1 -0
  6. files/world.mp4 +3 -0
  7. requirements.txt +2 -0
  8. run.ipynb +1 -0
  9. run.py +91 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ files/world.mp4 filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,12 +1,12 @@
 
1
  ---
2
- title: Chatbot Core Components Simple Main
3
- emoji: 🚀
4
- colorFrom: red
5
- colorTo: red
6
  sdk: gradio
7
  sdk_version: 4.36.1
8
- app_file: app.py
9
  pinned: false
 
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+
2
  ---
3
+ title: chatbot_core_components_simple_main
4
+ emoji: 🔥
5
+ colorFrom: indigo
6
+ colorTo: indigo
7
  sdk: gradio
8
  sdk_version: 4.36.1
9
+ app_file: run.py
10
  pinned: false
11
+ hf_oauth: true
12
  ---
 
 
files/audio.wav ADDED
Binary file (132 kB). View file
 
files/avatar.png ADDED
files/sample.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ hello friends
files/world.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece
3
+ size 1570024
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio-client @ git+https://github.com/gradio-app/gradio@d35c290aadcb85113ee7ceea96a7ed7dc894b1d2#subdirectory=client/python
2
+ https://gradio-builds.s3.amazonaws.com/d35c290aadcb85113ee7ceea96a7ed7dc894b1d2/gradio-4.36.1-py3-none-any.whl
run.ipynb ADDED
@@ -0,0 +1 @@
 
 
1
+ {"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: chatbot_core_components_simple"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["# Downloading files from the demo repo\n", "import os\n", "os.mkdir('files')\n", "!wget -q -O files/audio.wav https://github.com/gradio-app/gradio/raw/main/demo/chatbot_core_components_simple/files/audio.wav\n", "!wget -q -O files/avatar.png https://github.com/gradio-app/gradio/raw/main/demo/chatbot_core_components_simple/files/avatar.png\n", "!wget -q -O files/sample.txt https://github.com/gradio-app/gradio/raw/main/demo/chatbot_core_components_simple/files/sample.txt\n", "!wget -q -O files/world.mp4 https://github.com/gradio-app/gradio/raw/main/demo/chatbot_core_components_simple/files/world.mp4"]}, {"cell_type": "code", "execution_count": null, "id": "44380577570523278879349135829904343037", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import os\n", "import random\n", "\n", "# Chatbot demo with multimodal input (text, markdown, LaTeX, code blocks, image, audio, & video). Plus shows support for streaming text.\n", "\n", "\n", "color_map = {\n", " \"harmful\": \"crimson\",\n", " \"neutral\": \"gray\",\n", " \"beneficial\": \"green\",\n", "}\n", "\n", "def html_src(harm_level):\n", " return f\"\"\"\n", "<div style=\"display: flex; gap: 5px;padding: 2px 4px;margin-top: -40px\">\n", " <div style=\"background-color: {color_map[harm_level]}; padding: 2px; border-radius: 5px;\">\n", " {harm_level}\n", " </div>\n", "</div>\n", "\"\"\"\n", "\n", "def print_like_dislike(x: gr.LikeData):\n", " print(x.index, x.value, x.liked)\n", "\n", "def add_message(history, message):\n", " for x in message[\"files\"]:\n", " history.append(((x,), None))\n", " if message[\"text\"] is not None:\n", " history.append((message[\"text\"], None))\n", " return history, gr.MultimodalTextbox(value=None, interactive=False)\n", "\n", "def bot(history, response_type):\n", " if response_type == \"gallery\":\n", " history[-1][1] = gr.Gallery(\n", " [\"https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png\",\n", " \"https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png\"]\n", " )\n", " elif response_type == \"image\":\n", " history[-1][1] = gr.Image(\"https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png\")\n", " elif response_type == \"video\":\n", " history[-1][1] = gr.Video(\"https://github.com/gradio-app/gradio/raw/main/demo/video_component/files/world.mp4\")\n", " elif response_type == \"audio\":\n", " history[-1][1] = gr.Audio(\"https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav\")\n", " elif response_type == \"html\":\n", " history[-1][1] = gr.HTML(\n", " html_src(random.choice([\"harmful\", \"neutral\", \"beneficial\"]))\n", " )\n", " else:\n", " history[-1][1] = \"Cool!\"\n", " return history\n", "\n", "\n", "with gr.Blocks(fill_height=True) as demo:\n", " chatbot = gr.Chatbot(\n", " elem_id=\"chatbot\",\n", " bubble_full_width=False,\n", " scale=1,\n", " )\n", " response_type = gr.Radio(\n", " [\n", " \"image\",\n", " \"text\",\n", " \"gallery\",\n", " \"video\",\n", " \"audio\",\n", " \"html\",\n", " ],\n", " value=\"text\",\n", " label=\"Response Type\",\n", " )\n", "\n", " chat_input = gr.MultimodalTextbox(\n", " interactive=True,\n", " placeholder=\"Enter message or upload file...\",\n", " show_label=False,\n", " )\n", "\n", " chat_msg = chat_input.submit(\n", " add_message, [chatbot, chat_input], [chatbot, chat_input]\n", " )\n", " bot_msg = chat_msg.then(\n", " bot, [chatbot, response_type], chatbot, api_name=\"bot_response\"\n", " )\n", " bot_msg.then(lambda: gr.MultimodalTextbox(interactive=True), None, [chat_input])\n", "\n", " chatbot.like(print_like_dislike, None, None)\n", "\n", "demo.queue()\n", "if __name__ == \"__main__\":\n", " demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
run.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ import random
4
+
5
+ # Chatbot demo with multimodal input (text, markdown, LaTeX, code blocks, image, audio, & video). Plus shows support for streaming text.
6
+
7
+
8
+ color_map = {
9
+ "harmful": "crimson",
10
+ "neutral": "gray",
11
+ "beneficial": "green",
12
+ }
13
+
14
+ def html_src(harm_level):
15
+ return f"""
16
+ <div style="display: flex; gap: 5px;padding: 2px 4px;margin-top: -40px">
17
+ <div style="background-color: {color_map[harm_level]}; padding: 2px; border-radius: 5px;">
18
+ {harm_level}
19
+ </div>
20
+ </div>
21
+ """
22
+
23
+ def print_like_dislike(x: gr.LikeData):
24
+ print(x.index, x.value, x.liked)
25
+
26
+ def add_message(history, message):
27
+ for x in message["files"]:
28
+ history.append(((x,), None))
29
+ if message["text"] is not None:
30
+ history.append((message["text"], None))
31
+ return history, gr.MultimodalTextbox(value=None, interactive=False)
32
+
33
+ def bot(history, response_type):
34
+ if response_type == "gallery":
35
+ history[-1][1] = gr.Gallery(
36
+ ["https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png",
37
+ "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"]
38
+ )
39
+ elif response_type == "image":
40
+ history[-1][1] = gr.Image("https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png")
41
+ elif response_type == "video":
42
+ history[-1][1] = gr.Video("https://github.com/gradio-app/gradio/raw/main/demo/video_component/files/world.mp4")
43
+ elif response_type == "audio":
44
+ history[-1][1] = gr.Audio("https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav")
45
+ elif response_type == "html":
46
+ history[-1][1] = gr.HTML(
47
+ html_src(random.choice(["harmful", "neutral", "beneficial"]))
48
+ )
49
+ else:
50
+ history[-1][1] = "Cool!"
51
+ return history
52
+
53
+
54
+ with gr.Blocks(fill_height=True) as demo:
55
+ chatbot = gr.Chatbot(
56
+ elem_id="chatbot",
57
+ bubble_full_width=False,
58
+ scale=1,
59
+ )
60
+ response_type = gr.Radio(
61
+ [
62
+ "image",
63
+ "text",
64
+ "gallery",
65
+ "video",
66
+ "audio",
67
+ "html",
68
+ ],
69
+ value="text",
70
+ label="Response Type",
71
+ )
72
+
73
+ chat_input = gr.MultimodalTextbox(
74
+ interactive=True,
75
+ placeholder="Enter message or upload file...",
76
+ show_label=False,
77
+ )
78
+
79
+ chat_msg = chat_input.submit(
80
+ add_message, [chatbot, chat_input], [chatbot, chat_input]
81
+ )
82
+ bot_msg = chat_msg.then(
83
+ bot, [chatbot, response_type], chatbot, api_name="bot_response"
84
+ )
85
+ bot_msg.then(lambda: gr.MultimodalTextbox(interactive=True), None, [chat_input])
86
+
87
+ chatbot.like(print_like_dislike, None, None)
88
+
89
+ demo.queue()
90
+ if __name__ == "__main__":
91
+ demo.launch()