FinnNick commited on
Commit
b86492c
·
verified ·
1 Parent(s): 69c3b5c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -3,6 +3,7 @@ import gradio as gr
3
  import requests
4
  import inspect
5
  import pandas as pd
 
6
 
7
  # (Keep Constants as is)
8
  # --- Constants ---
@@ -14,13 +15,16 @@ class BasicAgent:
14
  def __init__(self):
15
  self.api_key = os.getenv("GEMINI_API_KEY")
16
  if not self.api_key:
17
- raise ValueError("❌ Переменная GEMINI_API_KEY не найдена. Установи её в Hugging Face Secrets.")
18
 
19
  self.model = "gemini-1.5-pro"
20
  self.api_url = f"https://generativelanguage.googleapis.com/v1/models/{self.model}:generateContent?key={self.api_key}"
21
- print(f"✅ Используется Gemini API: {self.api_url}")
22
 
23
  def __call__(self, question: str) -> str:
 
 
 
24
  headers = {
25
  "Content-Type": "application/json"
26
  }
@@ -38,24 +42,22 @@ class BasicAgent:
38
  response = requests.post(self.api_url, headers=headers, json=payload, timeout=30)
39
 
40
  if response.status_code == 429:
41
- print("❗️Превышен лимит запросов (429). Пауза 10 секунд...")
42
  time.sleep(10)
43
- return "Превышен лимит запросов. Попробуйте позже."
44
 
45
  if response.status_code == 400:
46
- print("❌ Ошибка 400. Проверь формат запроса.")
47
- print("Ответ:", response.text[:500])
48
- return "Ошибка 400: Неверный формат запроса."
49
 
50
  response.raise_for_status()
51
 
52
  data = response.json()
53
- answer = data["candidates"][0]["content"]["parts"][0]["text"]
54
- return answer
55
 
56
  except Exception as e:
57
- print("❌ Ошибка при вызове Gemini:", e)
58
- return f"Ошибка при вызове Gemini API: {e}"
59
 
60
 
61
 
 
3
  import requests
4
  import inspect
5
  import pandas as pd
6
+ import time
7
 
8
  # (Keep Constants as is)
9
  # --- Constants ---
 
15
  def __init__(self):
16
  self.api_key = os.getenv("GEMINI_API_KEY")
17
  if not self.api_key:
18
+ raise ValueError("❌ Переменная окружения GEMINI_API_KEY не найдена.")
19
 
20
  self.model = "gemini-1.5-pro"
21
  self.api_url = f"https://generativelanguage.googleapis.com/v1/models/{self.model}:generateContent?key={self.api_key}"
22
+ print(f"✅ Подключение к Gemini API: {self.api_url}")
23
 
24
  def __call__(self, question: str) -> str:
25
+ if not isinstance(question, str) or not question.strip():
26
+ return "❌ Неверный формат вопроса."
27
+
28
  headers = {
29
  "Content-Type": "application/json"
30
  }
 
42
  response = requests.post(self.api_url, headers=headers, json=payload, timeout=30)
43
 
44
  if response.status_code == 429:
45
+ print("⚠️ 429 Too Many Requests — спим 10 секунд...")
46
  time.sleep(10)
47
+ return "Превышен лимит запросов. Подождите немного."
48
 
49
  if response.status_code == 400:
50
+ print("❌ Ошибка 400 неверный формат запроса. Ответ:", response.text[:300])
51
+ return "Ошибка 400: Неправильный формат запроса."
 
52
 
53
  response.raise_for_status()
54
 
55
  data = response.json()
56
+ return data["candidates"][0]["content"]["parts"][0]["text"]
 
57
 
58
  except Exception as e:
59
+ print("❌ Ошибка при вызове Gemini API:", e)
60
+ return f"Ошибка Gemini API: {e}"
61
 
62
 
63