FreshPixels commited on
Commit
0f9ed55
·
verified ·
1 Parent(s): 90357fd

Update server.py

Browse files
Files changed (1) hide show
  1. server.py +16 -56
server.py CHANGED
@@ -11,7 +11,7 @@ def log(msg):
11
  sys.stdout.flush()
12
 
13
  def send_tg(chat_id, text):
14
- """Отправка в Telegram через Cloudflare"""
15
  if not CF_URL or not TOKEN: return
16
  url = f"{CF_URL}/bot{TOKEN}/sendMessage"
17
  data = json.dumps({"chat_id": chat_id, "text": str(text)}).encode('utf-8')
@@ -20,43 +20,6 @@ def send_tg(chat_id, text):
20
  try: urllib.request.urlopen(req, timeout=15)
21
  except: pass
22
 
23
- def check_api():
24
- """ПРЯМОЙ РЕНТГЕН ТВОЕГО ПРОВАЙДЕРА API"""
25
- base = os.environ.get("OPENAI_API_BASE", "").strip().rstrip('/')
26
- key = os.environ.get("OPENAI_API_KEY", "").strip()
27
-
28
- if not base or not key:
29
- return False, "❌ В секретах Hugging Face не найдены OPENAI_API_BASE или OPENAI_API_KEY!"
30
-
31
- if not base.endswith("/v1"):
32
- base += "/v1"
33
-
34
- url = f"{base}/chat/completions"
35
-
36
- # Отправляем тестовый запрос напрямую в агрегатор
37
- data = json.dumps({
38
- "model": "z-ai/glm-5.1",
39
- "messages": [{"role": "user", "content": "Привет"}],
40
- "max_tokens": 10
41
- }).encode('utf-8')
42
-
43
- headers = {
44
- "Authorization": f"Bearer {key}",
45
- "Content-Type": "application/json"
46
- }
47
- req = urllib.request.Request(url, data=data, headers=headers)
48
-
49
- try:
50
- resp = urllib.request.urlopen(req, timeout=10)
51
- res_data = json.loads(resp.read().decode('utf-8'))
52
- return True, "✅ API работает отлично!"
53
- except urllib.error.HTTPError as e:
54
- # ВОТ ЗДЕСЬ МЫ ПОЙМАЕМ РЕАЛЬНУЮ ОШИБКУ ПРОВАЙДЕРА
55
- err_msg = e.read().decode('utf-8', errors='ignore')
56
- return False, f"❌ Провайдер API отклонил запрос (Код {e.code}):\n{err_msg}"
57
- except Exception as e:
58
- return False, f"❌ Ошибка соединения с провайдером API: {e}"
59
-
60
  class WebhookHandler(BaseHTTPRequestHandler):
61
  def do_POST(self):
62
  length = int(self.headers.get('Content-Length', 0))
@@ -73,28 +36,25 @@ class WebhookHandler(BaseHTTPRequestHandler):
73
  send_tg(chat_id, "⛔ Доступ закрыт.")
74
  return
75
 
76
- send_tg(chat_id, "🔍 Сканирую провайдера API...")
77
-
78
- # --- ЗАПУСК ДИАГНОСТИКИ ---
79
- api_ok, api_msg = check_api()
80
-
81
- if not api_ok:
82
- log(f"⚠️ ОШИБКА API: {api_msg}")
83
- # Отправляем реальную ошибку провайдера прямо тебе в бота!
84
- send_tg(chat_id, api_msg[:4000])
85
- return
86
-
87
- # Если API ответило нормально, запускаем Гермеса
88
- send_tg(chat_id, "🤖 API в норме! Запускаю Гермеса...")
89
 
90
  try:
91
  my_env = os.environ.copy()
92
- api_base = my_env.get("OPENAI_API_BASE", "")
93
- if api_base and not api_base.endswith("/v1"):
94
- my_env["OPENAI_API_BASE"] = api_base.rstrip('/') + "/v1"
95
- my_env["OPENAI_BASE_URL"] = my_env["OPENAI_API_BASE"]
 
 
 
 
 
96
 
97
- cmd = ["hermes", "-m", "openai/z-ai/glm-5.1", "-z", text, "chat", "--cli"]
 
 
 
98
  result = subprocess.run(cmd, capture_output=True, text=True, env=my_env)
99
 
100
  reply = result.stdout.strip()
 
11
  sys.stdout.flush()
12
 
13
  def send_tg(chat_id, text):
14
+ """Отправка в Telegram через твой Cloudflare-мост"""
15
  if not CF_URL or not TOKEN: return
16
  url = f"{CF_URL}/bot{TOKEN}/sendMessage"
17
  data = json.dumps({"chat_id": chat_id, "text": str(text)}).encode('utf-8')
 
20
  try: urllib.request.urlopen(req, timeout=15)
21
  except: pass
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  class WebhookHandler(BaseHTTPRequestHandler):
24
  def do_POST(self):
25
  length = int(self.headers.get('Content-Length', 0))
 
36
  send_tg(chat_id, "⛔ Доступ закрыт.")
37
  return
38
 
39
+ # Даем знать, что пошел процесс с новой моделью
40
+ send_tg(chat_id, "🚀 Запускаю DeepSeek-v4-Pro...")
 
 
 
 
 
 
 
 
 
 
 
41
 
42
  try:
43
  my_env = os.environ.copy()
44
+
45
+ # Подхватываем твою базу (NVIDIA или OPENAI) и чиним ссылку
46
+ api_base = my_env.get("OPENAI_API_BASE", my_env.get("NVIDIA_API_BASE", "")).strip().rstrip('/')
47
+
48
+ if api_base:
49
+ if not api_base.endswith("/v1"):
50
+ api_base += "/v1"
51
+ my_env["OPENAI_API_BASE"] = api_base
52
+ my_env["OPENAI_BASE_URL"] = api_base
53
 
54
+ # 🔥 ГЛАВНАЯ МАГИЯ: ТЕПЕРЬ ИСПОЛЬЗУЕМ DEEPSEEK ИЗ ТВОЕГО АГРЕГАТОРА
55
+ cmd = ["hermes", "-m", "deepseek-ai/deepseek-v4-pro", "-z", text, "chat", "--cli"]
56
+ log(f"⚙️ Полная команда: {' '.join(cmd)}")
57
+
58
  result = subprocess.run(cmd, capture_output=True, text=True, env=my_env)
59
 
60
  reply = result.stdout.strip()