Azure OpenAI API 400错误排查:无法解析并估算请求令牌
解决Azure OpenAI API 400解析错误问题
可能的问题及修复方案
1. 修复未闭合的Prompt字符串
你的代码中prompt的多行字符串存在未闭合问题:
prompt = """some complex prompt (just text """
开头的三个双引号没有对应的结尾闭合符号,会导致字符串语法错误,生成不符合API要求的请求内容。修正为:
prompt = """some complex prompt (just text)"""
确保多行字符串完整闭合。
2. 验证Base64图片编码有效性
- 检查
base64_image变量是否为无换行、完整连续的Base64编码:Azure OpenAI不接受带有换行符的Base64字符串,需确保编码格式纯净。 - 用Base64解码工具验证编码数据,确认能正常还原为JPEG图片,排除编码损坏问题。
3. 排查请求格式完整性
手动校验messages结构的JSON合法性:
- 检查所有括号、逗号是否正确匹配,无遗漏闭合符号。
- 可将
messages转为JSON字符串,用JSON校验工具确认格式合规。
4. 简化请求定位问题
先发送极简多模态请求测试API连通性:
response = client.chat.completions.create( model='gpt-4o-2024-05-13', messages=[ {'role':'system','content':'You are a helpful assistant'}, {'role':'user','content':[ {"type":'text','text':'test'}, {"type":'image_url','image_url': { "url":f"data:image/jpeg;base64,{valid_base64_image}", "detail": 'low'}} ]}], max_tokens=300, response_format={"type": "json_object"} )
若简化请求成功,再逐步恢复原prompt和图片数据,定位具体问题点。
内容的提问来源于stack exchange,提问作者yaron
相关产品推荐
相关产品推荐

