Spaces:
Sleeping
Sleeping
File size: 2,727 Bytes
52de7b8 5498795 52de7b8 d529e8c 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 52de7b8 5498795 4be863d 5498795 4be863d 52de7b8 5498795 4be863d 5498795 4be863d 52de7b8 4be863d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# multi_inference.py
import requests
import os
# OpenAI keys (try first)
OPENAI_KEYS = [
os.getenv("open1", "").strip(),
os.getenv("open2", "").strip(),
os.getenv("open3", "").strip(),
os.getenv("open4", "").strip(),
os.getenv("open5", "").strip()
]
# DeepSeek keys (fallback)
DEEPSEEK_KEYS = [
os.getenv("DEEPSEEK_KEY", "").strip(), # top-level key
os.getenv("DEEPSEEK_KEY_1", "").strip(),
os.getenv("DEEPSEEK_KEY_2", "").strip(),
os.getenv("DEEPSEEK_KEY_3", "").strip(),
os.getenv("DEEPSEEK_KEY_4", "").strip(),
os.getenv("DEEPSEEK_KEY_5", "").strip()
]
def try_openai(prompt, key):
try:
url = "https://api.openai.com/v1/chat/completions"
headers = {
"Authorization": f"Bearer {key}",
"Content-Type": "application/json"
}
data = {
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
}
res = requests.post(url, headers=headers, json=data)
result = res.json()
if "choices" in result:
return result["choices"][0]["message"]["content"]
return f"[ERROR] OpenAI: {result.get('error', {}).get('message', 'Unknown error')}"
except Exception as e:
return f"[ERROR] OpenAI Exception: {str(e)}"
def try_deepseek(prompt, key):
try:
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Authorization": f"Bearer {key}",
"Content-Type": "application/json"
}
data = {
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
}
res = requests.post(url, headers=headers, json=data)
result = res.json()
if "choices" in result:
return result["choices"][0]["message"]["content"]
return f"[ERROR] DeepSeek: {result.get('error', {}).get('message', 'Unknown error')}"
except Exception as e:
return f"[ERROR] DeepSeek Exception: {str(e)}"
def multi_query(prompt):
# Try OpenAI first
for key in OPENAI_KEYS:
if key:
response = try_openai(prompt, key)
if not response.startswith("[ERROR]"):
return response
# Fallback to DeepSeek
for key in DEEPSEEK_KEYS:
if key:
response = try_deepseek(prompt, key)
if not response.startswith("[ERROR]"):
return response
return "[ALL APIs FAILED: Out of quota or invalid keys]"
|