|
|
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, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
): |
|
|
|
|
|
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"), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
) |
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
chatbot.render() |
|
|
title = gr.HTML("<h3>Use #ai to ask the ai</h3>") |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
demo.launch() |
|
|
|