Spaces:
Runtime error
Runtime error
File size: 2,091 Bytes
4581c90 06b74c7 a39de4a 327d778 ffc804b 7e09f8c 4581c90 e1490d2 8798382 e1490d2 4581c90 e1490d2 4581c90 23e60bd 136b1dc 8fd989b 23e60bd 59f98a6 4581c90 718ffdc 7e09f8c cc010e0 7e09f8c ae9da43 cc010e0 71c5936 4581c90 327d778 7e09f8c 327d778 4581c90 e1490d2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
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()
|