Rooni commited on
Commit
bd9617d
·
1 Parent(s): cffb3cf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -45
app.py CHANGED
@@ -1,56 +1,53 @@
 
1
  import gradio as gr
2
  import requests
3
- import os
4
 
5
- OPENAI_API_KEY = os.getenv("API_KEY")
6
- API_URL = os.getenv("BASE_URL")
 
7
 
8
- # Список для хранения сообщений в чате
9
- chat_history = []
10
 
11
- # Функция для генерации ответов на основе диалога
12
- def generate_response(dialog):
13
  headers = {
14
- 'Content-Type': 'application/json',
15
- 'Authorization': f'Bearer {OPENAI_API_KEY}',
16
  }
17
 
18
  data = {
19
- 'model': 'gpt-3.5-turbo',
20
- 'messages': [{'role': 'system', 'content': 'You are a helpful assistant.'}] + dialog,
21
- 'max_tokens': 150,
22
  }
23
 
24
- response = requests.post(API_URL, json=data, headers=headers)
25
- response_data = response.json()
26
- generated_text = response_data['choices'][0]['message']['content'].strip()
27
-
28
- return generated_text
29
-
30
- # Функция для обновления чата
31
- def update_chat(input_text):
32
- user_message = {'role': 'user', 'content': input_text}
33
- chat_history.append(user_message)
34
-
35
- # Генерация ответа на основе текущего диалога
36
- assistant_reply = generate_response(chat_history)
37
- assistant_message = {'role': 'assistant', 'content': assistant_reply}
38
- chat_history.append(assistant_message)
39
-
40
- # Обновление текста в поле вывода
41
- output_text = "Chat History:\n"
42
- for message in chat_history:
43
- output_text += f"{message['role']}: {message['content']}\n"
44
-
45
- return output_text
46
-
47
- # Интерфейс Gradio для чата
48
- iface = gr.Interface(
49
- fn=update_chat,
50
- inputs=gr.Textbox(),
51
- outputs=gr.Textbox(),
52
- live=True,
53
- title="Chat with GPT-3.5-turbo"
54
- )
55
-
56
- iface.launch()
 
1
+ import os
2
  import gradio as gr
3
  import requests
 
4
 
5
+ # Замените на свои значения
6
+ base_url = os.getenv("BASE_URL")
7
+ api_key = os.getenv("API_KEY")
8
 
9
+ # URL для запроса к GPT-3.5-turbo
10
+ gpt_url = {base_url}
11
 
12
+ # Функция для генерации ответа от GPT-3.5-turbo
13
+ def generate_response(prompt):
14
  headers = {
15
+ "Content-Type": "application/json",
16
+ "Authorization": f"Bearer {api_key}",
17
  }
18
 
19
  data = {
20
+ "prompt": prompt,
21
+ "max_tokens": 150,
 
22
  }
23
 
24
+ response = requests.post(gpt_url, json=data, headers=headers)
25
+ return response.json()["choices"][0]["text"].strip()
26
+
27
+ # Создание интерфейса чата с использованием Gradio
28
+ def chat_interface(messages):
29
+ # Собираем все сообщения в одну строку, чтобы использовать как контекст для GPT-3.5-turbo
30
+ conversation_history = "\n".join(messages)
31
+
32
+ # Генерируем ответ от GPT-3.5-turbo
33
+ response = generate_response(conversation_history)
34
+
35
+ # Добавляем сгенерированный ответ к списку сообщений
36
+ messages.append(response)
37
+
38
+ # Создаем интерфейс Gradio с возможностью удаления или изменения каждого сообщения
39
+ iface = gr.Interface(
40
+ fn=chat_interface,
41
+ inputs=["text"],
42
+ outputs="text",
43
+ live=True,
44
+ examples=[[conversation_history]],
45
+ title="Chat with GPT-3.5-turbo",
46
+ description="Type a message and see GPT-3.5-turbo's response.",
47
+ )
48
+
49
+ return iface
50
+
51
+ # Запуск интерфейса Gradio
52
+ if __name__ == "__main__":
53
+ chat_interface([]).launch()