|
|
|
|
|
import requests |
|
import os |
|
|
|
|
|
DEEPSEEK_KEYS = [ |
|
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() |
|
] |
|
|
|
|
|
OPENAI_KEYS = [ |
|
os.getenv("open1", "").strip(), |
|
os.getenv("open2", "").strip(), |
|
os.getenv("open3", "").strip(), |
|
os.getenv("open4", "").strip(), |
|
os.getenv("open5", "").strip() |
|
] |
|
|
|
|
|
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 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 multi_query(prompt): |
|
for key in DEEPSEEK_KEYS: |
|
output = try_deepseek(prompt, key) |
|
if not output.startswith("[ERROR]"): |
|
return output |
|
|
|
for key in OPENAI_KEYS: |
|
output = try_openai(prompt, key) |
|
if not output.startswith("[ERROR]"): |
|
return output |
|
|
|
return "[ALL APIs FAILED: Out of quota or network error]" |
|
|