Spaces:
Runtime error
Runtime error
File size: 2,390 Bytes
07d7ee6 fcdaab2 07d7ee6 fcdaab2 07d7ee6 fcdaab2 |
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
import gradio as gr
import interface
import utils
import treegraph as tg
import logger as lg
import os
system_prompt = """
You are a critical AI radiology assistant.
You are helping a radiologist correctly fill out a radiology report.
The report is regarding a Knee MRI.
"""
username = os.environ.get("user")
passwd = os.environ.get("pass")
graph, nodes_dict = tg.build_tree_from_file("knee_template.json")
report_interface = interface.ReportChecklistInterface(
llm=utils.LLM(model="gpt-3.5-turbo"),
system_prompt=system_prompt,
graph=graph,
nodes_dict=nodes_dict,
)
logger = None
if report_interface.prime_model() is False:
print("Model priming failed. Please try again.")
exit()
else:
print("Model priming successful.")
running = True
def check_report(report, name):
global logger, report_interface
if len(name.strip()) < 3:
return "Please enter a name."
else:
logger = lg.Logger(log_file="log.txt")
report_interface.logger = logger
report_interface.username = name
if running:
results = report_interface.process_input(report)
if results == "quit":
quit_fn()
elif results == "help":
return report_interface.help_message
elif results == "exception":
return "An exception occurred. Please try again."
else:
return results
else:
return "Model has been stopped."
def quit_fn():
global running
running = False
return "Model has been stopped."
with gr.Blocks(theme="soft") as demo:
gr.Markdown("## Radiology Report Assistant")
gr.Markdown(report_interface.help_message)
name_textbox = gr.Textbox(label="Name")
report_textbox = gr.TextArea(label="Report", lines=20, max_lines=50)
with gr.Row():
check_btn = gr.Button(
value="Check Report",
)
clear_btn = gr.ClearButton(
value="Clear Messages",
)
quit_btn = gr.Button(
value="Quit",
)
results_textbox = gr.TextArea(label="Results", lines=20, max_lines=50)
clear_btn.add([results_textbox, report_textbox])
check_btn.click(
fn=check_report,
inputs=[report_textbox, name_textbox],
outputs=[results_textbox],
)
quit_btn.click(fn=quit_fn, outputs=[results_textbox])
demo.launch(auth=(username, passwd))
|