必须严格匹配智谱清言api路径、请求头、json字段和认证方式,否则报401/404;chat api用messages数组和sdk,autoglm用prompt字符串和bearer鉴权,二者不可混用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要根据智谱清言官方接口文档生成可运行的请求代码,必须严格匹配其路径、请求头格式、JSON字段结构和认证方式,任意一项不一致都会导致401或404错误。
确认当前使用的API接口类型
打开智谱清言开放平台文档页(https://open.bigmodel.cn/doc),查看左侧导航栏:若进入的是「Chat API」分类,对应SDK调用方式;若进入「Open-AutoGLM」或「/v1/auto-glm/」路径,则必须用HTTP POST + Bearer鉴权。两者不可混用——【用ZhipuAI SDK调用AutoGLM端点会直接报错】。
检查URL末尾路径:/v3/model-api/glm-4-flash/invoke 属于旧版PAAS接口;/v1/chat/completions 是标准Chat Completions接口;/v1/auto-glm/think 则是沉思模型专用端点。不同路径对应完全不同的参数规则。
从文档中提取关键字段并映射到代码
在接口文档「请求参数」表格中逐行核对:
• prompt 字段只存在于 AutoGLM 类接口,Chat Completions 接口必须用 messages 数组;
• temperature 在 Chat Completions 中是浮点数,在 AutoGLM 中也是浮点数但默认值不同;
• stream 参数仅在 Chat Completions 接口中生效,AutoGLM 接口不支持流式返回;
• tools 字段为 Chat Completions 独有,AutoGLM 不识别该字段,传入会导致 422 错误。
构造合法请求体的两种写法
方法一:Chat Completions 接口(推荐新手)
第一步:确保 messages 至少含一个 {"role": "user", "content": "xxx"} 对象;
第二步:system 角色为可选,但加入后能约束模型行为,例如 {"role": "system", "content": "你是一个严谨的技术文档助手"};
第三步:删除所有文档里没列出的字段,比如 remove、logit_bias、n 等非公开参数——这些字段不会被服务端接受,反而引发 400 Bad Request。
方法二:AutoGLM HTTP 接口(需手动发请求)
直接使用 requests.post,headers 必须包含 Authorization: Bearer
payload 中不能出现 messages 字段,必须改用 prompt 字符串;
【max_tokens 字段名不能写成 max_token 或 max_length】,文档明确要求是 max_tokens,拼错即 422。
验证请求是否符合文档规范
复制文档中的「请求示例」JSON,粘贴到 https://jsonlint.com/ 验证格式合法性;
用 curl 命令快速测试基础连通性:curl -X POST "https://open.bigmodel.cn/api/paas/v3/model-api/glm-4-flash/invoke" -H "Authorization: Bearer sk-xxx" -H "Content-Type: application/json" -d '{"prompt":"test"}';
若返回 {"error":{"code":"invalid_request","message":"Missing required parameter: messages"}},说明你正用 Chat 接口的文档去调 AutoGLM 的 URL,立刻切换文档页签。











