enotkrutoy commited on
Commit
eb2b526
·
verified ·
1 Parent(s): 7b2c12d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -20
app.py CHANGED
@@ -2,48 +2,55 @@ import gradio as gr
2
  import requests
3
  import json
4
 
 
5
  def chat_function(message):
6
- # Define the request payload
7
  payload = {
8
  "model": "mixtral-8x7b-32768",
9
  "messages": [
10
  {
11
  "role": "system",
12
- "content": "Вы — API-интерфейс аналитики данных, способный анализировать настроения и отвечать в формате JSON. Схема JSON должна быть следующей:\n\n"
13
  },
14
  {"role": "user", "content": message}
15
  ]
16
  }
17
- # Set the headers including your API key
 
18
  headers = {
19
  "Content-Type": "application/json",
20
- "Authorization": "Bearer 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" # Replace with your API key
21
  }
22
 
23
  try:
24
- # Make the POST request to the Groq API
25
  response = requests.post("https://api.groq.com/openai/v1/chat/completions", headers=headers, data=json.dumps(payload))
26
 
27
- # Check if the request was successful
28
  if response.status_code == 200:
29
  data = response.json()
30
- return data["choices"][0]["message"]["content"] # Return the model's response
 
 
31
  else:
32
- return f"Error: {response.status_code}, {response.text}"
 
33
  except requests.exceptions.RequestException as e:
34
- return f"Error: {e}"
 
35
 
36
- # Set up Gradio interface
37
  gr.Interface(
38
- fn=chat_function, # Function that handles the chatbot
39
- inputs=gr.Textbox(placeholder="Ask something..."), # Input for user message
40
- outputs="text", # Output as text
41
- title="Groq-Gradio Chat", # Title of the interface
42
- theme="upsatwal/mlsc_tiet", # Ensure theme is valid
 
43
  examples=[
44
- "##POWERSHELL",
45
- "##PYTHON",
46
- "ПРОГНОЗ РЕЗУЛЬТАТА?",
47
- "##НУЖЕН ВЕТЕР"
48
- ]
49
  ).launch()
 
2
  import requests
3
  import json
4
 
5
+ # Функция для отправки запроса в API Groq и получения ответа
6
  def chat_function(message):
7
+ # Определение данных запроса
8
  payload = {
9
  "model": "mixtral-8x7b-32768",
10
  "messages": [
11
  {
12
  "role": "system",
13
+ "content": "Вы — API-интерфейс аналитики данных, способный анализировать настроения и отвечать в формате JSON. Схема JSON должна быть следующей:\n\n{\n \"sentiment\": \"positive|neutral|negative\",\n \"analysis\": \"Краткий текст анализа настроения.\"\n}"
14
  },
15
  {"role": "user", "content": message}
16
  ]
17
  }
18
+
19
+ # Заголовки с указанием ключа API
20
  headers = {
21
  "Content-Type": "application/json",
22
+ "Authorization": "Bearer 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" # Укажите свой API-ключ
23
  }
24
 
25
  try:
26
+ # Отправка POST-запроса в API Groq
27
  response = requests.post("https://api.groq.com/openai/v1/chat/completions", headers=headers, data=json.dumps(payload))
28
 
29
+ # Обработка ответа
30
  if response.status_code == 200:
31
  data = response.json()
32
+ # Извлечение ответа модели
33
+ content = data.get("choices", [{}])[0].get("message", {}).get("content", "No content available")
34
+ return content
35
  else:
36
+ # Если запрос вернул ошибку
37
+ return f"Ошибка: {response.status_code}, {response.text}"
38
  except requests.exceptions.RequestException as e:
39
+ # Обработка исключений
40
+ return f"Ошибка при выполнении запроса: {e}"
41
 
42
+ # Настройка интерфейса Gradio
43
  gr.Interface(
44
+ fn=chat_function, # Функция обработки сообщений
45
+ inputs=gr.Textbox(placeholder="Введите запрос..."), # Поле ввода для сообщений
46
+ outputs="text", # Вывод результата в текстовом формате
47
+ title="Groq-Gradio Chat", # Заголовок интерфейса
48
+ description="Чатбот с аналитикой данных. Введите сообщение для анализа настроений.", # Описание интерфейса
49
+ theme="default", # Тема интерфейса (указана простая стандартная)
50
  examples=[
51
+ "Какие перспективы на рынке акций?",
52
+ "Сегодня погода будет хорошей или плохой?",
53
+ "Какой результат от встречи с партнёрами?",
54
+ "Как настроение в моём тексте?"
55
+ ] # Примеры запросов
56
  ).launch()