File size: 1,971 Bytes
592026b
1
{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: chatinterface_artifacts"]}, {"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", "\n", "python_code = \"\"\"\n", "def fib(n):\n", "    if n <= 0:\n", "        return 0\n", "    elif n == 1:\n", "        return 1\n", "    else:\n", "        return fib(n-1) + fib(n-2)\n", "\"\"\"\n", "\n", "js_code = \"\"\"\n", "function fib(n) {\n", "    if (n <= 0) return 0;\n", "    if (n === 1) return 1;\n", "    return fib(n - 1) + fib(n - 2);\n", "}\n", "\"\"\"\n", "\n", "def chat(message, history):\n", "    if \"python\" in message.lower():\n", "        return \"Type Python or JavaScript to see the code.\", gr.Code(language=\"python\", value=python_code)\n", "    elif \"javascript\" in message.lower():\n", "        return \"Type Python or JavaScript to see the code.\", gr.Code(language=\"javascript\", value=js_code)\n", "    else:\n", "        return \"Please ask about Python or JavaScript.\", None\n", "\n", "with gr.Blocks() as demo:\n", "    code = gr.Code(render=False)\n", "    with gr.Row():\n", "        with gr.Column():\n", "            gr.Markdown(\"<center><h1>Write Python or JavaScript</h1></center>\")\n", "            gr.ChatInterface(\n", "                chat,\n", "                examples=[\"Python\", \"JavaScript\"],\n", "                additional_outputs=[code],\n", "                type=\"messages\"\n", "            )\n", "        with gr.Column():\n", "            gr.Markdown(\"<center><h1>Code Artifacts</h1></center>\")\n", "            code.render()\n", "\n", "demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}