Files
MNeMoNiCuZ-ComfyUI-mnemic-n…/utils/api_utils.py
T
2024-09-15 12:37:17 +02:00

38 lines
1.8 KiB
Python

import requests
import json
import time
def make_api_request(data, headers, url, max_retries):
for attempt in range(max_retries):
response = requests.post(url, headers=headers, json=data)
print(f"Response status: {response.status_code}, Response body: {response.text}")
if response.status_code == 200:
try:
response_json = json.loads(response.text)
if 'choices' in response_json and response_json['choices']:
assistant_message = response_json['choices'][0]['message']['content']
print(f"Extracted message: {assistant_message}")
return assistant_message, True, "200 OK"
else:
return "No valid response content found.", False, "200 OK but no content"
except Exception as e:
print(f"Error parsing response: {str(e)}")
return "Error parsing JSON response.", False, "200 OK but failed to parse JSON"
else:
return "ERROR", False, f"{response.status_code} {response.reason}"
time.sleep(2)
return "Failed after all retries.", False, "Failed after all retries"
def load_prompt_options(prompt_files):
prompt_options = {}
for json_file in prompt_files:
try:
with open(json_file, 'r') as file:
prompts = json.load(file)
prompt_options.update({prompt['name']: prompt['content'] for prompt in prompts})
except Exception as e:
print(f"Failed to load prompts from {json_file}: {str(e)}")
return prompt_options
def get_prompt_content(prompt_options, prompt_name):
return prompt_options.get(prompt_name, "No content found for selected prompt")