From 38d66af43948f1e77d48e4c2761b51a01e530494 Mon Sep 17 00:00:00 2001 From: Mika Date: Tue, 7 Jan 2025 21:29:43 +0100 Subject: [PATCH] implement model choose and more finished yipiieeee --- app.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index f7be24e..ea4cbe4 100644 --- a/app.py +++ b/app.py @@ -1,3 +1,4 @@ +import requests import gradio as gr from openai import OpenAI @@ -8,11 +9,16 @@ client = OpenAI( chat_history = [] -def ask(text): +def get_models(): + response = requests.get("http://localhost:7869/api/tags") + models = response.json()["models"] + return [model["name"] for model in models] + +def ask(text, model): global chat_history chat_history.append({"role": "user", "content": text}) response = client.chat.completions.create( - model="llama3.2", + model=model, messages=chat_history ) response_text = response.choices[0].message.content @@ -34,13 +40,14 @@ def clear_history(): with gr.Blocks() as server: with gr.Tab("Chatbot LF6"): + model_dropdown = gr.Dropdown(label="Select Model", choices=get_models(), value="llama3.2") chatbox = gr.Textbox(label="Chat History", lines=10, interactive=False) input_text = gr.Textbox(label="Input Text", placeholder="Enter your text here...") submit_button = gr.Button("Submit") clear_button = gr.Button("Clear") - submit_button.click(fn=ask, inputs=input_text, outputs=[chatbox, input_text]) - input_text.submit(fn=ask, inputs=input_text, outputs=[chatbox, input_text]) # Submit on Enter key press + submit_button.click(fn=lambda text, model: ask(text, model), inputs=[input_text, model_dropdown], outputs=[chatbox, input_text]) + input_text.submit(fn=lambda text, model: ask(text, model), inputs=[input_text, model_dropdown], outputs=[chatbox, input_text]) # Submit on Enter key press clear_button.click(fn=clear_history, inputs=None, outputs=chatbox) server.launch() \ No newline at end of file