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"![]({img}) "
    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)