Spaces:
Sleeping
Sleeping
import gradio as gr | |
import requests | |
import os | |
BASE_URL = os.getenv("BASE_URL") | |
API_KEY = os.getenv("API_KEY") | |
def generate_response(prompt): | |
endpoint = f'{BASE_URL}' | |
headers = { | |
"Content-Type": "application/json", | |
"Authorization": f"Bearer {API_KEY}", | |
} | |
data = { | |
"model": "gpt-3.5-turbo", | |
"prompt": prompt, | |
"temperature": 0.7, | |
"max_tokens": 150, | |
} | |
response = requests.post(endpoint, headers=headers, json=data) | |
return response.json()["choices"][0]["text"] | |
def send_message(messages, new_message): | |
messages.append(new_message) | |
return messages | |
def delete_message(messages, index): | |
if 0 <= index < len(messages): | |
del messages[index] | |
return messages | |
def edit_message(messages, index, new_message): | |
if 0 <= index < len(messages): | |
messages[index] = new_message | |
return messages | |
iface = gr.Interface( | |
fn=generate_response, | |
inputs=gr.Textbox("Введите сообщение:"), | |
outputs=gr.Textbox(""), | |
live=True, | |
theme="compact", | |
) | |
iface.inputs[0].placeholder = "Удалить сообщение (индекс):" | |
iface.inputs[0].type = "text" | |
iface.inputs[0].label = "Удалить сообщение (индекс):" | |
iface.inputs[0].live = True | |
iface.inputs[0].actions = lambda delete_index: delete_message(iface.data.input_message, int(delete_index)) | |
iface.inputs[1].placeholder = "Изменить сообщение (индекс, новое сообщение):" | |
iface.inputs[1].type = "text" | |
iface.inputs[1].label = "Изменить сообщение (индекс, новое сообщение):" | |
iface.inputs[1].live = True | |
iface.inputs[1].actions = lambda edit_params: edit_message(iface.data.input_message, *map(str.strip, edit_params.split(','))) | |
iface.launch() | |