#GPT-4o script Freezes after 90k token used

1 messages · Page 1 of 1 (latest)

supple sundial
#

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.

#

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]

nimble plank
#

are you sure there are no errors as its not logged or handled?

supple sundial
#

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

nimble plank
#

ok

supple sundial
#

max_tokens = 500,
could this line to block the script if the requests uses over 500 tokens?

nimble plank
#

it will give an error if there is no room for response

supple sundial
#

we don't receive any errors

supple sundial
#

VSC running but no more answer after 90k token

#

time of the screenshot: 15:43:22 (10 minutes of hang)