import gradio as gr import os from functools import partial from get_answer import get_answer from logs import save_logs import gdown from config import folder_id, json_url_id download_url = f'https://drive.google.com/uc?id={json_url_id}' output = 'secret_google_service_account.json' gdown.download(download_url, output, quiet=False) def stream(query): resp = get_answer(query) answer = "" for chunk in resp: if chunk.choices[0].delta.content is not None: answer = answer + chunk.choices[0].delta.content yield answer # save_logs(query, answer, folder_id=folder_id) title = "" with gr.Blocks(title=title,theme='nota-ai/theme',css="footer {visibility: hidden}") as demo: gr.Markdown(f"## {title}") with gr.Row(): with gr.Column(scale=6): with gr.Row(): with gr.Column(scale=3): chat_submit_button = gr.Button(value="Submit ▶") url_input = gr.Textbox(placeholder="Age, medical results", lines=15, label="Input patient data") with gr.Column(scale=6): compliance_output = gr.Markdown("Waiting for link...") fn_chat = stream chat_submit_button.click(fn=fn_chat, inputs=[url_input], outputs=[compliance_output]) demo.launch(max_threads=40)