Spaces:
Runtime error
Runtime error
Revert "ai: Implementing parallel request with first-success strategy."
Browse filesThis reverts commit 4f6f36362a39d4a0ae777d9b8f1d1347f6abe55b.
jarvis.py
CHANGED
|
@@ -219,10 +219,6 @@ async def fetch_response_async(host, key, model, msgs, cfg, sid):
|
|
| 219 |
marked_item(key, LINUX_SERVER_PROVIDER_KEYS_MARKED, LINUX_SERVER_PROVIDER_KEYS_ATTEMPTS)
|
| 220 |
return None
|
| 221 |
|
| 222 |
-
async def candidate_task(h, k, model, msgs, cfg, sid):
|
| 223 |
-
r = await fetch_response_async(h, k, model, msgs, cfg, sid)
|
| 224 |
-
return r, (h, k)
|
| 225 |
-
|
| 226 |
async def chat_with_model_async(history, user_input, model_display, sess, custom_prompt):
|
| 227 |
ensure_stop_event(sess)
|
| 228 |
if not get_available_items(LINUX_SERVER_PROVIDER_KEYS, LINUX_SERVER_PROVIDER_KEYS_MARKED) or not get_available_items(LINUX_SERVER_HOSTS, LINUX_SERVER_HOSTS_ATTEMPTS):
|
|
@@ -245,25 +241,18 @@ async def chat_with_model_async(history, user_input, model_display, sess, custom
|
|
| 245 |
sess.active_candidate = None
|
| 246 |
keys = get_available_items(LINUX_SERVER_PROVIDER_KEYS, LINUX_SERVER_PROVIDER_KEYS_MARKED)
|
| 247 |
hosts = get_available_items(LINUX_SERVER_HOSTS, LINUX_SERVER_HOSTS_ATTEMPTS)
|
| 248 |
-
|
| 249 |
-
random.shuffle(
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
except:
|
| 261 |
-
continue
|
| 262 |
-
for t in tasks:
|
| 263 |
-
t.cancel()
|
| 264 |
-
if first_success:
|
| 265 |
-
sess.active_candidate = candidate
|
| 266 |
-
return first_success
|
| 267 |
return RESPONSES["RESPONSE_2"]
|
| 268 |
|
| 269 |
async def respond_async(multi, history, model_display, sess, custom_prompt):
|
|
|
|
| 219 |
marked_item(key, LINUX_SERVER_PROVIDER_KEYS_MARKED, LINUX_SERVER_PROVIDER_KEYS_ATTEMPTS)
|
| 220 |
return None
|
| 221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 222 |
async def chat_with_model_async(history, user_input, model_display, sess, custom_prompt):
|
| 223 |
ensure_stop_event(sess)
|
| 224 |
if not get_available_items(LINUX_SERVER_PROVIDER_KEYS, LINUX_SERVER_PROVIDER_KEYS_MARKED) or not get_available_items(LINUX_SERVER_HOSTS, LINUX_SERVER_HOSTS_ATTEMPTS):
|
|
|
|
| 241 |
sess.active_candidate = None
|
| 242 |
keys = get_available_items(LINUX_SERVER_PROVIDER_KEYS, LINUX_SERVER_PROVIDER_KEYS_MARKED)
|
| 243 |
hosts = get_available_items(LINUX_SERVER_HOSTS, LINUX_SERVER_HOSTS_ATTEMPTS)
|
| 244 |
+
random.shuffle(keys)
|
| 245 |
+
random.shuffle(hosts)
|
| 246 |
+
for k in keys:
|
| 247 |
+
for h in hosts:
|
| 248 |
+
task = asyncio.create_task(fetch_response_async(h, k, model_key, msgs, cfg, sess.session_id))
|
| 249 |
+
done, _ = await asyncio.wait({task}, return_when=asyncio.FIRST_COMPLETED)
|
| 250 |
+
if task in done:
|
| 251 |
+
result = task.result()
|
| 252 |
+
if result:
|
| 253 |
+
sess.active_candidate = (h, k)
|
| 254 |
+
return result
|
| 255 |
+
task.cancel()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
return RESPONSES["RESPONSE_2"]
|
| 257 |
|
| 258 |
async def respond_async(multi, history, model_display, sess, custom_prompt):
|