File size: 2,707 Bytes
a916245
e5705e9
3b9e9e4
a916245
e5705e9
 
0e7124f
a916245
 
 
 
 
858ef7b
e5705e9
 
 
 
a916245
e5705e9
42b0f0f
 
e5705e9
858ef7b
 
7c015e1
 
 
 
42b0f0f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82c10c4
 
 
 
7c015e1
 
 
858ef7b
e5705e9
 
b77cc24
 
e5705e9
 
158f364
 
7dca88c
a916245
 
 
 
 
 
 
 
 
4d0f703
 
e5705e9
 
 
 
 
 
 
 
 
a916245
 
 
 
 
4d0f703
a916245
 
 
 
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
89
90
91
92
93
94
95
96
97
98
99
100
import gradio as gr
import os
import requests

CHAT_URL = os.getenv("CHAT_URL")
PROJECT_ID = os.getenv("PROJECT_ID")
UPDATE_VAR = list(os.getenv("UPDATE_VARIABLES"))

def respond(
    message,
    history: list[dict[str, str]],
    system_message,
    token,
    # max_tokens,
    # temperature,
    # top_p,
    # hf_token: gr.OAuthToken,
):

    print("[UPDATE VAR]", UPDATE_VAR)

    req = requests.post(
        CHAT_URL,
        json={
            "project_id": PROJECT_ID,
            "session_id":system_message,
            "user_input":message,
            "update_variables": {
                "alfamidi":"",
                "alfagift":"",
                "karir":"",
                "layanan":"",
                "program":"",
                "voucher":"",
                "results":"",
                "identitas":"",
                "kerjasama":"",
                "registrasi_midikring": "",
                "info_status_midikring": "",
                "info_poin_midikring": "",
                "info_akoin_midikring": "",
                "info_ereceipt_midikring": "",
                "alfastar": "",
                "stamp_digital": "",
                "refund": "",
                "pembayaran": "",
                "emoney": "",
                "tiket": "",
                "transfer": "",
                "tenant": "",
                "penawaran_lokasi": "",
                "franchise": "",
                "sponsor": "",
                "registrasi_alfagift":"",
                "belanja_alfagift":"",
                "manfaat_alfagift":""
            },
            "output_variables": ["results"]
        },
        headers={"Authorization" : f"Bearer {token}"}
    )

    print("[REQ CONTENT]", req.content)

    out = req.json()["data"]["results"]

    print("[OUT]",out)

    return out.encode('utf-8').decode('unicode_escape')


"""
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
"""
chatbot = gr.ChatInterface(
    respond,
    type="messages",
    additional_inputs=[
        gr.Textbox(value="<TEST_123>", label="session_id"),
        gr.Textbox(value="[TOKEN]", label="token"),
        # gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
        # gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
        # gr.Slider(
        #     minimum=0.1,
        #     maximum=1.0,
        #     value=0.95,
        #     step=0.05,
        #     label="Top-p (nucleus sampling)",
        # ),
    ],
)

with gr.Blocks() as demo:
    chatbot.render()
    title = gr.HTML("<h3>Use #ai to ask the ai</h3>")


if __name__ == "__main__":
    demo.launch()