File size: 2,023 Bytes
edaef93 e87b828 edaef93 e87b828 edaef93 |
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 |
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
json_url_id = os.environ.get("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,additional_information = ""):
resp, description, images = get_answer(query, additional_information)
answer = ""
listing = ""
for img in images:
listing += f" "
listing += f"\n---\n{description}"
yield "" , listing
for chunk in resp:
if chunk.choices[0].delta.content is not None:
answer = answer + chunk.choices[0].delta.content
yield answer, listing
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=8):
url_input = gr.Textbox(placeholder="https://www.ebay.fr/itm/123", lines=1, label="Link to listing")
additional_infomration = gr.Textbox(placeholder="Perfume samples are forbidden", lines=1, label="Missed interpretation? Add any additional information")
with gr.Column(scale=1):
chat_submit_button = gr.Button(value="Submit ▶")
with gr.Row():
with gr.Column(scale=1):
listing = gr.Markdown("Waiting for link...")
with gr.Column(scale=3):
compliance_output = gr.Markdown("Waiting for link...")
fn_chat = stream
chat_submit_button.click(fn=fn_chat, inputs=[url_input, additional_infomration], outputs=[compliance_output, listing])
demo.launch(max_threads=40, share=True)
|