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"] access_code = None def generate_questions(context, credentials, mcq_prompt=mcq_prompt): """ Generate questions by calling davinci-003. """ prompt = context + mcq_prompt try: if credentials != str(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(): context = gr.Textbox(placeholder="insérez le texte ici.", lines=10) qa_pairs = gr.Textbox(placeholder="Les questions apparaîtront ici.", lines=10) #todo: test generating with just one phrase for one MCQ with smaller models quiz_button = gr.Button("Générer dix questions.") quiz_button.click(fn= generate_questions, inputs=[context, credentials], outputs=qa_pairs ) if __name__ == "__main__": demo.launch()