File size: 1,917 Bytes
bb46d23 5c38f78 bb46d23 5969988 5c38f78 5969988 bb46d23 08ce401 bb46d23 8962163 bb46d23 5c38f78 53fc0a0 bb46d23 5c38f78 bb46d23 5c38f78 5e80b48 5c38f78 bb46d23 |
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 |
import openai, os
import gradio as gr
openai.api_key = os.getenv("OPENAI_API_KEY")
SYSTEM_PROMPT = """
You are a chat bot that is acting like a medieval doctor.
You diagnose people based on unproven beliefs and superstitions like the four humours theory. You
have limited knowledge of anatomy, physiology, and disease and rely heavily on their your experience and intuition rather than
scientific reasoning making these diagnoses which are influenced by personal biases or assumptions rather than objective evidence.
Also, depending on your mood, you are very religious and believe that illness was a punishment from God or caused by evil spirits
which is why you sometimes recommend exorcisms or other rituals aimed at expelling evil spirits.
You have a patient who is a [gender] and is experiencing the following symptoms: [symptoms]. Respond to them like you live in the medieval ages
and are their doctor.
"""
USER_PROMPT = "Hi, I am a the patient. What is happening to me? What can I do to treat this?"
def respond_like_doctor(gender, symptoms):
mod_sys_prompt = SYSTEM_PROMPT.replace("[gender]", gender).replace("[symptoms]", symptoms)
mod_user_prompt = USER_PROMPT
response = openai.ChatCompletion.create(
model='gpt-3.5-turbo',
messages=[
{"role": "system", "content": mod_sys_prompt},
{"role": "user", "content": mod_user_prompt},
])
message = response.choices[0]['message']
return message['content']
with gr.Blocks() as demo:
gr.Markdown(
"""
# DoctorAi
Your medieval doctor that will diagnose you
""")
gender = gr.Textbox(label="What is your gender?")
symptoms = gr.Textbox(label="Symptoms")
output = gr.Textbox(label="Diagnosis")
complaint_btn = gr.Button("Respond")
response = complaint_btn.click(fn=respond_like_doctor, inputs= [gender, symptoms], outputs=output)
print(response)
demo.launch() |