in lmms_eval/tasks/mmvet/utils.py [0:0]
def get_chat_response(prompt, model=GPT_EVAL_MODEL_NAME, temperature=0.0, max_tokens=128, patience=3, sleep_time=5):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
messages = [
{"role": "user", "content": prompt},
]
payload = {
"model": model,
"messages": messages,
"temperature": temperature,
"max_tokens": max_tokens,
}
while patience > 0:
patience -= 1
try:
response = requests.post(
API_URL,
headers=headers,
json=payload,
timeout=60,
)
response.raise_for_status()
response_data = response.json()
content = response_data["choices"][0]["message"]["content"].strip()
if content != "":
return content, response_data["model"]
except Exception as e:
eval_logger.error(f"Error: {e}")
if "Rate limit" in str(e):
eval_logger.info("Sleeping due to rate limit...")
time.sleep(sleep_time)
eval_logger.info(f"Retrying...Patience left: {patience}")
return "", ""