Spaces:
Runtime error
Runtime error
import gradio as gr | |
import transformers | |
import os | |
import sys | |
import openai | |
from openai import Completion as complete | |
mcq_prompt = "Generate French MCQs on the above text. Each MCQ must have four choices. Generate ten questions with answers:" | |
openai.api_key = os.environ["openai_api_key"] | |
access_code = os.environ["access_code"] | |
def generate_questions(context, credentials, num_questions, mcq_prompt=mcq_prompt): | |
""" | |
Generate questions by calling davinci-003. | |
""" | |
prompt = context + mcq_prompt | |
try: | |
if credentials != access_code: | |
return "mauvais code d'accès" | |
else: | |
try: | |
completion = complete.create(model="text-davinci-003", prompt=prompt, max_tokens=1875) | |
return str(completion.choices[0].text) | |
except Exception as e: | |
# return str(e) | |
# return python version | |
return str(sys.version) | |
except: | |
return str(sys.version) | |
# def append_completion(selected_text, feedback): | |
# return selected_text, selected_text + feedback | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
gr.Markdown("Pour créer des questions à choix multiples, insérez un texte dans la boîte à gauche, puis cliquez sur 'Générer dix questions.' Attention! N'oubliez pas le code d'accès.") | |
credentials = gr.Textbox("Code d'accès.", interactive=True) | |
with gr.Row(): | |
with gr.Column(): | |
quiz_button = gr.Button("Générer dix questions.") | |
context = gr.Textbox(placeholder="Insérez le texte ici.", lines=10) | |
slider = gr.Slider(minimum=1, maximum=10, value=5, step=1, label="Nombre de questions.") | |
qa_pairs = gr.Textbox(placeholder="Les questions apparaîtront ici.", lines=17) | |
#todo: test generating with just one phrase for one MCQ with smaller models | |
quiz_button.click(fn=generate_questions, | |
inputs=[context, credentials, slider], | |
outputs=qa_pairs) | |
if __name__ == "__main__": | |
demo.launch() | |