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", # Используйте "text-gpt-3.5-turbo" для 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=["text"], | |
outputs="text", | |
live=True, | |
theme="compact", | |
) | |
# Настройка UI для чата с возможностью удаления и изменения сообщений | |
iface.add_textbox("Введите сообщение:", key="input_message") | |
iface.add_button("Отправить", lambda input_message: send_message(iface.data.input_message, input_message), key="send_button") | |
iface.add_textbox("Удалить сообщение (индекс):", key="delete_index") | |
iface.add_button("Удалить", lambda delete_index: delete_message(iface.data.input_message, int(delete_index)), key="delete_button") | |
iface.add_textbox("Изменить сообщение (индекс, новое сообщение):", key="edit_params") | |
iface.add_button("Изменить", lambda edit_params: edit_message(iface.data.input_message, *map(str.strip, edit_params.split(','))), key="edit_button") | |
iface.launch() | |