Spaces:
Sleeping
Sleeping
| import openai | |
| import random | |
| import gradio as gr | |
| import os | |
| openai.api_key = os.environ["OpenAPI_Key"] | |
| manual = r"""Vul een opsomming in die verkeerd is opgemaakt, en druk op Submit. | |
| """ | |
| # Define the messages for step_1 | |
| SystemPrompt_10= r"""You reformat lists to match my desired format. The lists I want look like this: | |
| - each list item starts with a lowercase letter; | |
| - there can be capitalized letters in lists. But never at the start of the list item; | |
| - each list item ends with a semicolon; | |
| - except for the last list item. That ends with a period. | |
| Return only the reformatted list, nothing else. Mirror the input text in terms of type: plain text or HTML.""" | |
| UserPrompt_10 = r"""Geen zichtbare P-toppen of QRS-complexen | |
| Er is onregelmatige elektrische activatie met een frequentie van doorgaans 150 tot 500 per minuut""" | |
| AssistantPrompt_10 = r"""- geen zichtbare P-toppen of QRS-complexen; | |
| - er is onregelmatige elektrische activatie met een frequentie van doorgaans 150 tot 500 per minuut.""" | |
| UserPrompt_11 = r"""De draairichtingen van het hoofd die kunnen worden waargenomen zijn:</p> | |
| <ul> | |
| <li>Van links naar rechts en andersom.</li> | |
| <li>van boven naar beneden en andersom.</li> | |
| <li>Van het oor naar de schouder en weer terug.</li> | |
| </ul> | |
| <p>De manier waarop de halfcirkelvormige kanalen informatie vanuit je omgeving naar je hersenen sturen lijkt op de manier waarop het voorhof dat doet. Je hebt hiervoor namelijk weer een beweging van haarcellen voor nodig. Je haarcellen maken uiteindelijk de elektrische signalen die naar je hersenen worden gebracht. Dit proces gaat zo:</p> | |
| <ul> | |
| <li>In elk halfcirkelvormig kanaaltje heb je vloeistof zitten. Dit noemen we endolymfe;</li> | |
| <li>In deze endolymfe zitten je haarcellen</li> | |
| <li>Door beweging van je hoofd duwt de endolymfe je haarcellen opzij</li> | |
| <li>De haarcellen maken nu elektrische signalen, die naar je hersenen worden gebracht.</li> | |
| <li>In je hersenen wordt geregistreerd in welke richting je hoofd beweegt.</li> | |
| </ul>""" | |
| AssistantPrompt_11 = r"""De draairichtingen van het hoofd die kunnen worden waargenomen zijn:</p> | |
| <ul> | |
| <li>van links naar rechts en andersom;</li> | |
| <li>van boven naar beneden en andersom;</li> | |
| <li>van het oor naar de schouder en weer terug.</li> | |
| </ul> | |
| <p>De manier waarop de halfcirkelvormige kanalen informatie vanuit je omgeving naar je hersenen sturen lijkt op de manier waarop het voorhof dat doet. Je hebt hiervoor namelijk weer een beweging van haarcellen voor nodig. Je haarcellen maken uiteindelijk de elektrische signalen die naar je hersenen worden gebracht. Dit proces gaat zo:</p> | |
| <ul> | |
| <li>in elk halfcirkelvormig kanaaltje heb je vloeistof zitten. Dit noemen we endolymfe;</li> | |
| <li>in deze endolymfe zitten je haarcellen;</li> | |
| <li>door beweging van je hoofd duwt de endolymfe je haarcellen opzij;</li> | |
| <li>de haarcellen maken nu elektrische signalen, die naar je hersenen worden gebracht;</li> | |
| <li>in je hersenen wordt geregistreerd in welke richting je hoofd beweegt.</li> | |
| </ul>""" | |
| UserPrompt_12 = r"""Wat we willen: | |
| - Dat de lijst goed omgeschreven wordt. | |
| - Met juist gebruik van leestekens enzo, natuurlijk | |
| - achja;""" | |
| AssistantPrompt_12 = r"""Wat we willen: | |
| - dat de lijst goed omgeschreven wordt; | |
| - met juist gebruik van leestekens enzo, natuurlijk; | |
| - achja.""" | |
| # Function to make API call | |
| def api_call(messages, temperature=0.5, model="gpt-4-1106-preview"): | |
| return openai.ChatCompletion.create( | |
| messages=messages, | |
| temperature=temperature, | |
| model=model | |
| ).choices[0].message.content | |
| # Function to be called by Gradio interface | |
| def process_inputs(Opsomming): | |
| # Check if EPA_title and/or Department are empty | |
| if not Opsomming: | |
| return manual | |
| else: | |
| # Step 1: User input and first API call | |
| stepOne = [ | |
| {"role": "system", "content": SystemPrompt_10}, | |
| {"role": "user", "content": UserPrompt_10}, | |
| {"role": "assistant", "content": AssistantPrompt_10}, | |
| {"role": "user", "content": UserPrompt_11}, | |
| {"role": "system", "content": AssistantPrompt_11}, | |
| {"role": "user", "content": UserPrompt_12}, | |
| {"role": "assistant", "content": AssistantPrompt_12}, | |
| {"role": "user", "content": Opsomming} | |
| ] | |
| opsomming_fixed = api_call(stepOne) | |
| return opsomming_fixed | |
| # Create the Gradio interface | |
| iface = gr.Interface( | |
| fn=process_inputs, | |
| inputs=[ | |
| gr.Textbox(lines=2, label='Input') | |
| ], | |
| outputs=gr.Textbox(label="Gefikste opsomming", show_copy_button=True) | |
| ) | |
| iface.launch(share=True) | |
| iface.launch() |