Hello everybody, we need some help. Our script makes calls to get texts following a given input. since we switched to gpt-4o the script is enchanted once it reaches 90k tokens used. we don't exceed the limit of calls per minute, we even put a 2 second pause between each api call... we don't understand the problem. How can we get support? we are tier 4 API.
#GPT-4o script Freezes after 90k token used
1 messages · Page 1 of 1 (latest)
def improve_tag_title(row, gpt_responses):
global total_tokens_used , actual_api_calls
top_queries = row['top_queries']
tag_title = row["tag title"]
page_url = row["page"]
words_missing = row["missing"]
if not tag_title:
return None
if page_url in gpt_responses:
return gpt_responses[page_url]
prompt = f"""prompt text,,,
prompt text..."""
try:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Scrivi come se fossi un SEO copywriter professionista {gpt_language} di alta qualità."},
{"role": "user", "content": prompt}
],
max_tokens = 500,
temperature = 0.5,
top_p = 1,
frequency_penalty = 0.5,
presence_penalty = 0.2
)
response = json.loads(response.model_dump_json())
total_tokens_used += response['usage']['total_tokens']
actual_api_calls += 1
except Exception as e:
return None
improved_tag_title = response['choices'][0]['message']['content']
gpt_responses[page_url] = improved_tag_title
time.sleep(2)
return improved_tag_title
merged_df8b.reset_index(drop=True, inplace=True)
processed_rows = 0
for index, row in merged_df8b.iterrows():
new_tag_title = improve_tag_title(row, gpt_responses)
merged_df8b.at[index, "new tag title"] = new_tag_title
gpt_responses[row["page"]] = new_tag_title
processed_rows += 1 # Incrementa il contatore di righe processate
for index, row in merged_df8b.iterrows():
page_url = row["page"]
if page_url in gpt_responses:
merged_df8b.at[index, "new tag title"] = gpt_responses[page_url]
except Exception as e:
return None
are you sure there are no errors as its not logged or handled?
we use this in the except:
print(f"Error occured while calling OpenAI API: {e}")
i removed from the post because of the chars limit
except Exception as e:
print(f"Error occured while calling OpenAI API: {e}")
return None
ok
max_tokens = 500,
could this line to block the script if the requests uses over 500 tokens?
it will give an error if there is no room for response
we don't receive any errors