| import json | |
| import gradio as gr | |
| CSS = """.contain { display: flex; flex-direction: column; } | |
| .gradio-container { height: 100vh !important; } | |
| #component-0 { height: 100%; } | |
| #chatbot { flex-grow: 1; overflow: auto;} | |
| #chatbot .avatar-container {margin-right: 14px;} | |
| #chatbot .avatar-image {padding: 0;}""" | |
| saved_examples = [] | |
| try: | |
| for line in open("upvote_log.jsonl").readlines(): | |
| j = json.loads(line) | |
| entry = [] | |
| saved_examples.append(j) | |
| except: | |
| saved_examples = [ | |
| [ | |
| {"role": "user", "content": "Hi, I need help with my marketing campaign."}, | |
| ], | |
| ] | |
| def update_chatbot(index): | |
| return saved_examples[index] | |
| with gr.Blocks(css=CSS, theme="gradio/monochrome") as demo: | |
| gr.Markdown( | |
| "## *VariantX* Asset Performance Optimization & Insights for Performance Marketing\n" | |
| ) | |
| options = gr.Dropdown( | |
| choices=[i for i in range(len(saved_examples))], | |
| value=0, | |
| ) | |
| chat = gr.Chatbot( | |
| type="messages", | |
| bubble_full_width=False, | |
| value=saved_examples[0], | |
| elem_id="chatbot", | |
| avatar_images=( | |
| None, | |
| "https://cdn2.iconfinder.com/data/icons/adobe-square-2/243/adobe-square-1024.png", | |
| ), | |
| ) | |
| options.change( | |
| update_chatbot, | |
| inputs=[options], | |
| outputs=[chat], | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch(server_name="0.0.0.0", ssl_verify=False) | |