ChatGPT / app.py
Rooni's picture
Update app.py
ecdb1d7
raw
history blame
1.98 kB
import os
import gradio as gr
import requests
# Замените на свои значения
base_url = os.getenv("BASE_URL")
api_key = os.getenv("API_KEY")
# URL для запроса к GPT-3.5-turbo
gpt_url = f'{base_url}'
# Функция для генерации ответа от GPT-3.5-turbo
def generate_response(prompt):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}",
}
data = {
"inputs": prompt,
"max_tokens": 150,
}
response = requests.post(gpt_url, json=data, headers=headers)
# Проверяем наличие ключа 'choices' в ответе
if "choices" in response.json():
return response.json()["choices"][0]["text"].strip()
else:
return "Error: Unable to retrieve response."
# Создание интерфейса чата с использованием Gradio
def chat_interface(messages):
# Собираем все сообщения в одну строку, чтобы использовать как контекст для GPT-3.5-turbo
conversation_history = "\n".join(messages)
# Генерируем ответ от GPT-3.5-turbo
response = generate_response(conversation_history)
# Обновляем список сообщений с новым ответом
updated_messages = messages + [response]
# Создаем интерфейс Gradio с возможностью удаления или изменения каждого сообщения
iface = gr.Interface(
fn=chat_interface,
inputs=["text"],
outputs="text",
live=True,
examples=[[conversation_history]],
title="Chat with GPT-3.5-turbo",
description="Type a message and see GPT-3.5-turbo's response.",
)
return iface, updated_messages
# Запуск интерфейса Gradio
if __name__ == "__main__":
chat_interface([])[0].launch()