Opsommingen / app.py
BtB-ExpC's picture
Update app.py
4e2c36c
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()