ChatGPT / app.py
Rooni's picture
Update app.py
c5efbfb
raw
history blame
1.82 kB
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()