若模型响应偏离预期角色或风格,需检查系统提示词设置:一、api请求中将role为"system"的消息置于messages首位;二、dashscope sdk用system_prompt参数;三、langchain用systemmessage类;四、api网关注入全局system指令。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在调用千问API时发现模型响应偏离预期角色或风格,则可能是由于系统提示词(System Prompt)未正确设置或未被有效识别。以下是设置系统提示词的具体步骤:
一、通过API请求体中显式传入system消息
该方式适用于所有支持OpenAI兼容接口或DashScope SDK的调用场景,确保system指令在每轮请求中作为独立消息类型参与上下文构建,具备最高优先级和上下文稳定性。
1、构造包含role为"system"的消息对象,content字段填入完整提示词文本。
2、将该system消息置于messages数组首位,后续user与assistant消息按顺序追加。
3、确认API端点支持system角色,例如DashScope的/qwen-max或OpenAI兼容接口的/chat/completions路径。
4、发送HTTP POST请求,检查响应中是否体现system指令所定义的角色行为与约束条件。
二、使用DashScope Python SDK配置system_prompt参数
该方式专用于DashScope官方SDK,通过封装后的参数接口直接注入系统级指令,避免手动拼接messages结构,降低格式错误风险。
1、安装最新版dashscope库:执行pip install dashscope --upgrade。
2、导入dashscope模块并设置API-KEY:import dashscope;dashscope.api_key = "您的API密钥"。
3、调用Generation.call方法,传入system_prompt参数而非嵌入messages中,例如system_prompt="你是一位严谨的法律文书校对员,只指出错别字与格式错误,不解释原因"。
4、验证返回结果是否严格遵循该角色限定,如未出现解释性语句或主观评价。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
三、在LangChain中使用SystemMessage类封装
该方式适用于集成LangChain框架的工程化部署,利用Message抽象统一管理不同角色消息,确保system指令在多步链路中持续生效。
1、从langchain_core.messages导入SystemMessage类。
2、实例化SystemMessage对象,content参数设为结构化提示词,例如SystemMessage(content="请始终以表格形式输出对比结果,列名固定为:项目、A方案、B方案、推荐理由")。
3、将该对象作为messages列表首项传入LLMChain或RunnableSequence。
4、运行链式调用,观察输出是否强制符合指定格式且无额外说明文字。
四、通过API网关或代理层注入全局system指令
该方式适用于企业级统一治理场景,在请求抵达千问服务前由中间件自动附加标准化system提示词,实现策略集中管控与灰度发布能力。
1、在API网关配置规则,识别目标模型调用路径(如/v1/models/qwen-72b-chat/invoke)。
2、启用请求重写功能,向原始JSON payload的messages字段头部插入预设system消息。
3、设置白名单机制,仅对特定AppKey或IP段启用该注入策略。
4、触发一次测试调用,抓包验证注入后的payload中system消息已存在且content值准确无误。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










