{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: chatbot_examples"]}, {"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": ["import gradio as gr\n", "import os\n", "# Multimodal Chatbot demo that shows support for examples (example messages shown within the chatbot).\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({\"role\": \"user\", \"content\": (x,)})\n", " if message[\"text\"] is not None:\n", " history.append({\"role\": \"user\", \"content\": message[\"text\"]})\n", " return history, gr.MultimodalTextbox(value=None, interactive=False)\n", "\n", "def append_example_message(x: gr.SelectData, history):\n", " if x.value[\"text\"] is not None:\n", " history.append({\"role\": \"user\", \"content\": x.value[\"text\"]})\n", " if \"files\" in x.value:\n", " if isinstance(x.value[\"files\"], list):\n", " for file in x.value[\"files\"]:\n", " history.append({\"role\": \"user\", \"content\": file})\n", " else:\n", " history.append({\"role\": \"user\", \"content\": x.value[\"files\"]})\n", " return history\n", "\n", "def respond(history):\n", " history.append({\"role\": \"assistant\", \"content\": \"Cool!\", \"options\": [{\"value\": \"Option 1\"}, {\"value\": \"Option 2\"}]})\n", " return history\n", "\n", "with gr.Blocks() as demo:\n", " chatbot = gr.Chatbot(\n", " elem_id=\"chatbot\",\n", " scale=1,\n", " placeholder='