|
import gradio as gr |
|
|
|
python_code = """ |
|
def fib(n): |
|
if n <= 0: |
|
return 0 |
|
elif n == 1: |
|
return 1 |
|
else: |
|
return fib(n-1) + fib(n-2) |
|
""" |
|
|
|
js_code = """ |
|
function fib(n) { |
|
if (n <= 0) return 0; |
|
if (n === 1) return 1; |
|
return fib(n - 1) + fib(n - 2); |
|
} |
|
""" |
|
|
|
def chat(message, history): |
|
if "python" in message.lower(): |
|
return "Type Python or JavaScript to see the code.", gr.Code(language="python", value=python_code) |
|
elif "javascript" in message.lower(): |
|
return "Type Python or JavaScript to see the code.", gr.Code(language="javascript", value=js_code) |
|
else: |
|
return "Please ask about Python or JavaScript.", None |
|
|
|
with gr.Blocks() as demo: |
|
code = gr.Code(render=False) |
|
with gr.Row(): |
|
with gr.Column(): |
|
gr.Markdown("<center><h1>Write Python or JavaScript</h1></center>") |
|
gr.ChatInterface( |
|
chat, |
|
examples=["Python", "JavaScript"], |
|
additional_outputs=[code], |
|
type="messages" |
|
) |
|
with gr.Column(): |
|
gr.Markdown("<center><h1>Code Artifacts</h1></center>") |
|
code.render() |
|
|
|
demo.launch() |
|
|