500 The server had an error processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if you keep seeing this error
I have another agent with function, but it works fine. Both agents have same structure but first throws error on api call.
If i remove fuction definition - agent works fine. But i cant see the issue. Because function definitions are similar. Different only names of functions
Nope. I tryed place plain objects in tool params array and still same error. If i change model to gpt-4o then its works fine. But i wanna get voice message in base64 along side with text message
[
{
role: 'system',
content: 'Ты система для обработки неклассифицированных вопросов пользователей. Ты можешь: - Приветствовать пользователя. Если сообщение пользователя является приветствием, то поприветствуй его (официально) в ответ и спроси с решением какого вопроса ты можешь помочь; - Отвечать пользователю на базовые разговорные вопросы. Если вопрос или утверждение является провокационным (связан с политикой, вооруженные конфликты, рассовые вопросы и т.п), то попроси его уточнить вопрос. Так же не давай объяснения на термины, которые касаются провакационных тем (политика, войны, рассовые вопросы и т.д.); - Сообщать пользователю о переводе на оператора. Если пользователь уточнаяет вопрос более двух раз непрерывно, то сообщи о том, что не можешь помочь с вопросом и перенаправляешь на оператора.'
},
{ role: 'user', content: 'Что такое США?' }
]
The JSON provided has single quotes instead of double quotes and a trailing comma. Here is the corrected JSON:
[
{
"role": "system",
"content": "Ты система для обработки неклассифицированных вопросов пользователей. Ты можешь: - Приветствовать пользователя. Если сообщение пользователя является приветствием, то поприветствуй его (официально) в ответ и спроси с решением какого вопроса ты можешь помочь; - Отвечать пользователю на базовые разговорные вопросы. Если вопрос или утверждение является провокационным (связан с политикой, вооруженные конфликты, рассовые вопросы и т.п), то попроси его уточнить вопрос. Так же не давай объяснения на термины, которые касаются провакационных тем (политика, войны, рассовые вопросы и т.д.); - Сообщать пользователю о переводе на оператора. Если пользователь уточнаяет вопрос более двух раз непрерывно, то сообщи о том, что не можешь помочь с вопросом и перенаправляешь на оператора."
},
{
"role": "user",
"content": "Что такое США?"
}
]
If this resolved your issue, do let me know and mark this an an answer.
But in working agent i send almost same array of js objects:
[
{
role: 'system',
content: '\n' +
' Ты виртуальный ассистент который специализируется на обработке запросов от пользователей посредством поиска информации в базе знаний\n' +
'\n' +
' Перед началом получи информацию о пользователе и его объектах если ее нету в истории сообщений (get_contact_info)\n' +
' \n' +
' Ты можешь \n' +
' - Использовать данные из базы знаний для ответа на вопрос\n' +
' - Если данные из базы знаний не подходят или база знаний пуста,то отвечай сообщением "escalate_to_classifier".\n' +
' - Если пользователь отвечает, что не удовлетворен ответом на вопрос или ответ не подходит под его вопрос, то отвечай только сообщением: "escalate_to_classifier"\n' +
'\n' +
' База знаний:\n' +
' Когда будут начисляться коммунальные платежи?\n' +
'Скрипт: Начисление коммунальных платежей начинается с момента регистрации права собственности на клиента.\n' +
'\n' +
'Обязательно ли должен быть осмотр перед подписанием договора купли-продажи?\n' +
'Скрипт: Осмотр перед подписанием договора купли-продажи необязателен. Проводится на усмотрение клиента.\n' +
'\n' +
' В конце спроси у пользователя есть ли у него еще вопросы.\n' +
' '
},
{ role: 'user', content: 'Когда начнется начисление коммуналки?' }
]
You’re right!
I still recommend running the payloads you’re sending through a JSON validator just once to completely rule out the possibility of the payload being wrong. (Another plus is that you’ll have payloads that follow a certain standard which improves the quality of your code.)
I will try to figure out a different answer in the meantime and update you with any news if I have any.
I am getting this same error in our chat completions based agent.
The server had an error while processing your request. Sorry about that!
Few things about our case:
We have a fairly large system prompt
stream is set to true
The only other message is a user role, ‘hello how are you’, sent as format wav
parallel_tool_calls is set to false
audio is set to alloy/pcm16
modalities is text, audio
We have 6 functions defined in our tools array
What I’ve tried while debugging:
Our non-multimodal agent works fine, with the same tool definitions, so it isn’t a parsing problem with the tools. Non-multimodal, meaning, prior to the recent updates to chat completions, I hooked up a pipeline that sent the audio to get transcribed, then to the old chat completions, then took the response to TTS, and played back the audio. That pipeline works fine, with all the tool definitions.
If I remove three of the tools, the call completes correctly
Seeing this, I thought it might be a total content length issue, but if I remove our system prompt, leaving the tool definitions, it still fails (at a smaller content length than when I remove three of the tools). This leads me to believe it isn’t a total content length issue, but rather something specific with the tools.
I tried removing various combinations of tools, and it doesn’t seem related to a specific tool, but rather the total size of tool definitions.
Perhaps when used in a multimodal fashion, the total amount of space you can use for tool definitions is smaller? We did run into a few issues during development of the non-multimodal agent when we made the description field in a tool too long, for example. Maybe this error is some variation of that?