hadadrjt commited on
Commit
7d6f26e
·
1 Parent(s): eb84ae2

ai: Implementing self server request.

Browse files
Files changed (1) hide show
  1. app.py +19 -16
app.py CHANGED
@@ -21,8 +21,8 @@ import threading
21
  import random
22
  import time
23
 
24
- LINUX_SERVER_HOST = os.getenv("LINUX_SERVER_HOST")
25
- LINUX_SERVER_PROVIDER_KEY = [key for key in json.loads(os.getenv("LINUX_SERVER_PROVIDER_KEY", "[]")) if key]
26
 
27
  AI_TYPES = {f"AI_TYPE_{i}": os.getenv(f"AI_TYPE_{i}") for i in range(1, 6)}
28
  RESPONSES = {f"RESPONSE_{i}": os.getenv(f"RESPONSE_{i}") for i in range(1, 10)}
@@ -52,7 +52,7 @@ def chat_with_model(history, user_input, selected_model_display):
52
  yield RESPONSES["RESPONSE_1"]
53
  return
54
 
55
- if not LINUX_SERVER_PROVIDER_KEY or not LINUX_SERVER_HOST:
56
  yield RESPONSES["RESPONSE_3"]
57
  return
58
 
@@ -64,23 +64,26 @@ def chat_with_model(history, user_input, selected_model_display):
64
  messages.append({"role": "user", "content": user_input})
65
 
66
  data = {"model": selected_model, "messages": messages, **model_config}
67
- random.shuffle(LINUX_SERVER_PROVIDER_KEY)
 
 
68
 
69
- for api_key in LINUX_SERVER_PROVIDER_KEY[:2]:
70
- if stop_event.is_set():
71
- yield RESPONSES["RESPONSE_1"]
72
- return
73
- try:
74
- response = session.post(LINUX_SERVER_HOST, json=data, headers={"Authorization": f"Bearer {api_key}"})
75
  if stop_event.is_set():
76
  yield RESPONSES["RESPONSE_1"]
77
  return
78
- if response.status_code < 400:
79
- ai_text = response.json().get("choices", [{}])[0].get("message", {}).get("content", RESPONSES["RESPONSE_2"])
80
- yield from simulate_streaming_response(ai_text)
81
- return
82
- except requests.exceptions.RequestException:
83
- continue
 
 
 
 
 
84
 
85
  yield RESPONSES["RESPONSE_3"]
86
 
 
21
  import random
22
  import time
23
 
24
+ LINUX_SERVER_HOSTS = [host for host in json.loads(os.getenv("LINUX_SERVER_HOST", "[]")) if host]
25
+ LINUX_SERVER_PROVIDER_KEYS = [key for key in json.loads(os.getenv("LINUX_SERVER_PROVIDER_KEY", "[]")) if key]
26
 
27
  AI_TYPES = {f"AI_TYPE_{i}": os.getenv(f"AI_TYPE_{i}") for i in range(1, 6)}
28
  RESPONSES = {f"RESPONSE_{i}": os.getenv(f"RESPONSE_{i}") for i in range(1, 10)}
 
52
  yield RESPONSES["RESPONSE_1"]
53
  return
54
 
55
+ if not LINUX_SERVER_PROVIDER_KEYS or not LINUX_SERVER_HOSTS:
56
  yield RESPONSES["RESPONSE_3"]
57
  return
58
 
 
64
  messages.append({"role": "user", "content": user_input})
65
 
66
  data = {"model": selected_model, "messages": messages, **model_config}
67
+
68
+ random.shuffle(LINUX_SERVER_PROVIDER_KEYS)
69
+ random.shuffle(LINUX_SERVER_HOSTS)
70
 
71
+ for api_key in LINUX_SERVER_PROVIDER_KEYS[:2]:
72
+ for host in LINUX_SERVER_HOSTS[:2]:
 
 
 
 
73
  if stop_event.is_set():
74
  yield RESPONSES["RESPONSE_1"]
75
  return
76
+ try:
77
+ response = session.post(host, json=data, headers={"Authorization": f"Bearer {api_key}"})
78
+ if stop_event.is_set():
79
+ yield RESPONSES["RESPONSE_1"]
80
+ return
81
+ if response.status_code < 400:
82
+ ai_text = response.json().get("choices", [{}])[0].get("message", {}).get("content", RESPONSES["RESPONSE_2"])
83
+ yield from simulate_streaming_response(ai_text)
84
+ return
85
+ except requests.exceptions.RequestException:
86
+ continue
87
 
88
  yield RESPONSES["RESPONSE_3"]
89