Danil
Update app.py
afb7c8f
import gradio as gr
import os
import openai
openai.api_key = os.environ["API"]
demo = gr.Blocks()
#'spaces/Gradio-Blocks/Codex_OpenAI' did not work due to paramerts error
#'huggingface/facebook/incoder-6B' inference error
#huggingface/Salesforce/codegen-2B-mono 500 Error
name_list = ['huggingface/lvwerra/codeparrot','huggingface/facebook/incoder-1B','huggingface/Salesforce/codegen-2B-mono']
open_ai_name = ['openai/code-davinci-002', 'openai/code-cushman-001']
examples = [ ["import numpy as np\nfrom sklearn.ensemble import RandomForestClassifier\n# create training data\nX = np.random.randn(100, 100)\ny = np.random.randint(0, 1, 100)\n # setup train test split"],
['def get_file_size(filepath):'],
]
def generate_code_os(text):
interfaces = [gr.Interface.load(name) for name in name_list]
return [interface(text) for interface in interfaces]
def generate_code_cs_1(text):
response = openai.Completion.create(
engine="code-davinci-002",
prompt=text,
temperature=0,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
).choices[0].text
response_2 = generate_code_cs_2(text)
return [response, response_2]
def generate_code_cs_2(text):
response_2 = openai.Completion.create(
engine="code-cushman-001",
prompt=text,
temperature=0,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
).choices[0].text
return response_2
def set_example(example: list) -> dict:
return gr.Textbox.update(value=example[0])
with gr.Blocks() as demo:
gr.Markdown("# Compare OpenAI and HuggingFace Code Generators")
with gr.Box():
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label = "Write your code here", lines=4)
with gr.Row():
btn = gr.Button("Open-Source models Generate code brrr ...")
btn2 = gr.Button("OpenAI models Generate code brrr ...")
example_text = gr.Dataset(components=[input_text], samples=examples)
example_text.click(fn=set_example,
inputs = example_text,
outputs= example_text.components)
with gr.Column():
gr.Markdown("Let’s Compare code generators ")
btn2.click(generate_code_cs_1, inputs = input_text, outputs = [gr.Textbox(label=open_ai_name[_], lines=4) for _ in range(len(open_ai_name))])
with gr.Column():
btn.click(generate_code_os, inputs = input_text, outputs = [gr.Textbox(label=name_list[_], lines=4) for _ in range(len(name_list))])
demo.launch(enable_queue=True,debug=True)