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