in src/scripts/gen_completions.py [0:0]
def try_request(engine: str, cur_prompt: str, use_function: bool, retries: int = 0):
if retries >= 5:
return
try:
prompt_chat = [
{"role": "system",
"content": "You are a helpful assistant that extracts structured information from ATel and GCN Circulars datasets. Don't make assumptions about what values to plug into functions, but use only information from text."},
{"role": "user",
"content": cur_prompt}
]
if use_function:
response = openai.ChatCompletion.create(
model=engine, functions=prompts["function"], messages=prompt_chat,
function_call={"name": "extract_entities"})
response = json.loads(response.choices[0]['message']['function_call']['arguments'])
else:
prompt_chat = [
{"role": "system", "content": "You are a helpful assistant, who knows about astronomy."},
{"role": "user", "content": cur_prompt}
]
response = openai.ChatCompletion.create(
model=engine, messages=prompt_chat)
response = eval(response['choices'][0]['message']['content'])
return response
except openai.error.InvalidRequestError:
return
except Exception as e:
print(f'Retrying after catching an exception, try {retries + 1}\n{e}')
time.sleep(90)
return try_request(engine, cur_prompt, use_function, retries + 1)