怎么一步步实现自己的第一个Request|零基础学习大模型API请求与Prompt工程
一、学习前言
本文为AI应用开发零基础入门复盘笔记,梳理从Prompt工程基础认知,到手动编写第一个Request请求、打通大模型API多轮对话的完整学习流程。全文以理论搭配实操案例的形式记录,无冗余内容,仅保留核心知识点,用于日常复盘巩固,适合新手循序渐进入门学习。
二、认识Prompt工程(AI开发核心基础)
Prompt Engineering,中文名称为提示词工程,是AI应用开发最基础、最核心的能力。
核心逻辑:无需对大模型进行训练、无需修改模型底层代码,仅通过规范、合理、结构化的文字指令,就能精准控制大模型的输出内容、回答风格、输出格式、回答范围,这就是Prompt工程的核心价值。
所有大模型API对话,都遵循全球统一的角色规范,仅有三种固定角色,不支持自定义、不允许拼写错误,是开发的硬性标准。
1. 三大核心角色(附实操案例)
system 系统提示词(全局最高规则)
作用:定义AI的身份、工作规则、输出约束,全局生效,优先级高于所有用户提问,直接决定AI的回答质量。
{"role":"system","content":"你是AI应用开发教学助手,回答简洁通俗、逻辑清晰,不编造未知内容,专注解答Python接口与Prompt工程相关问题。"}user 用户提示词(单次需求指令)
作用:承载用户每一次的提问需求,仅对当前单轮对话生效,无全局约束效果。
{"role":"user","content":"学习Prompt工程需要掌握哪些基础内容?"}assistant 模型回复(对话记忆核心)
作用:存储大模型返回的回答内容,是实现多轮上下文对话的关键,不存储该内容,AI会全程失忆。
{"role":"assistant","content":"学习Prompt工程首先要掌握对话角色规范,其次熟练大模型API请求格式,最后学会规范化设计提示词。"}2. 完整标准对话结构案例
以下是官方规范的完整对话模板,所有大模型请求均需遵循该结构:
[{"role":"system","content":"你是零基础AI开发助手"},{"role":"user","content":"什么是Request请求"},{"role":"assistant","content":"Request是Python网络请求库,可用于调用大模型API,实现人机对话功能。"}]3. 学习Prompt工程的第一步(核心重点)
很多新手学习Prompt工程,会直接背诵提示词模板,这是错误的学习顺序。
学习Prompt工程的第一步,是手写标准Request请求、打通大模型API接口。
只有熟练掌握API请求规范、读懂对话数据结构、清楚提示词的传输逻辑,才能真正理解Prompt的生效原理,后续设计优质提示词、优化AI输出效果才有基础。脱离API请求的Prompt学习,都是纸上谈兵。
三、从零实现第一个大模型Request请求(分步实操)
正式开发前,必须遵循官方开发规范:所有接口代码以官方文档为唯一标准,不凭空编写代码,严格匹配接口格式与参数。
公共接口地址:https://api.siliconflow.cn/v1/chat/completions
1. 接口密钥获取方法
api_key是调用大模型接口的身份凭证,无密钥无法发起请求,新手免费获取步骤如下:
1. 注册并登录硅基流动官方平台;
2. 进入个人中心,找到「API密钥管理」模块;
3. 一键生成SK密钥,复制后替换代码中密钥参数即可使用;
4. 重要注意:密钥属于个人私密凭证,严禁公开、分享,防止被盗用产生算力消耗。
2. 接口三大核心组成(官方标准)
请求地址:固定接口路径,用于向大模型服务端提交对话数据
请求头(headers):声明数据格式、携带身份密钥,用于服务端权限校验
headers={"Content-Type":"application/json","Authorization":f"Bearer 你的个人密钥"}请求体(body):核心参数集合,决定模型调用、对话内容、生成规则
3. 核心参数详解(对错案例对照)
model 模型名称:必须与官方文档完全一致,不可简写、遗漏前缀
✅ 正确:Qwen/Qwen2.5-7B-Instruct
❌ 错误:Qwen2.5-7B-Instruct(缺少前缀,直接报错)
messages 对话列表:存储system、user、assistant完整对话,格式为数组嵌套字典,是上下文对话的核心载体
temperature 随机性参数:取值范围0-2,数值越低模型回答越严谨、无编造,新手调试固定设置为0
max_tokens 最大输出字数:限制模型单次回复最大字符数,数值过小会导致回答截断,新手建议设置500及以上
stream 流式输出:新手统一关闭(False),一次性获取完整回答,便于调试学习
4. 标准化开发流程
导包 → 基础参数配置 → 构造请求头 → 初始化对话历史 → 组装标准请求体 → 发送网络请求 → 解析返回结果 → 存储AI回答实现记忆
四、完整可运行实操代码(新手标准模板)
代码经过调试修复,无冗余、无报错,适配零基础新手直接运行使用:
importrequests# 1. 官方固定基础配置api_url="https://api.siliconflow.cn/v1/chat/completions"api_key="你的个人SK密钥"model="Qwen/Qwen2.5-7B-Instruct"# 2. 标准请求头(固定格式无需修改)headers={"Content-Type":"application/json","Authorization":f"Bearer{api_key}"}# 3. 初始化系统提示词与对话历史chat_history=[{"role":"system","content":"专注解答AI应用开发、Python接口调用、Prompt工程相关问题,回答完整规范、逻辑清晰,不编造未知内容。"}]# 4. 循环多轮对话,实现连续聊天print("=== 大模型多轮对话工具 ===")print("输入 exit 即可退出对话\n")whileTrue:user_input=input("你:")# 退出程序判定ifuser_input.lower()=="exit":print("对话结束!")break# 追加用户提问到对话历史chat_history.append({"role":"user","content":user_input})# 组装官方标准请求体body={"model":model,"messages":chat_history,"stream":False,"temperature":0,"max_tokens":500}# 发送POST请求res=requests.post(api_url,headers=headers,json=body)# 解析并保存AI回答,实现上下文记忆ifres.status_code==200:ai_answer=res.json()["choices"][0]["message"]["content"]print(f"AI:{ai_answer}\n")# 核心代码:存储AI回答,避免失忆chat_history.append({"role":"assistant","content":ai_answer})else:print("请求失败!错误码:",res.status_code,"错误详情:",res.text)五、上下文记忆核心原理(带实操对比)
大模型本身不具备任何记忆能力,所有多轮连续对话效果,均为代码手动实现。
失忆效果(错误写法):仅追加用户提问(user),不存储AI回答(assistant),每一轮对话都是全新请求,AI无法承接上文。
记忆效果(正确写法):每轮对话结束后,必须将AI回答存入对话列表
chat_history.append({"role":"assistant","content":ai_answer})实操验证:第一轮提问「什么是Prompt工程」,第二轮提问「总结上一轮内容」,模型可精准承接上文,证明上下文记忆功能生效。
六、实战踩坑问题总结(新手高频报错)
1. 20015 参数非法报错
原因:参数名拼写错误、自定义role角色、请求体传参不规范
典型错误:max_token(缺少复数s)、自定义role=“助手”
解决方案:严格使用官方参数名,仅使用system、user、assistant三种标准角色
2. 模型不存在报错
原因:模型名称简写,缺失官方前缀
解决方案:完整填写官方模型名 Qwen/Qwen2.5-7B-Instruct
3. 回答内容截断
原因:max_tokens 参数数值设置过小,限制了输出长度
解决方案:调整数值为500或更高,保证回答完整输出
4. AI上下文失忆
原因:未将AI回答(assistant)追加至对话历史列表
解决方案:每轮AI回复后,执行记忆存储代码
5. 状态码判断失效
原因:将数字状态码与字符串对比(res.status_code == “200”)
解决方案:统一使用数字判断 res.status_code == 200
七、整体学习总结
1. Prompt工程的核心是通过规范化文字指令控制大模型输出,其入门第一步是掌握标准Request请求开发。
2. 大模型API开发严格遵循官方文档规范,请求头、请求体、参数格式均不可自定义修改。
3. 多轮对话记忆的核心是持续拼接user和assistant对话内容,完整保留上下文数据。
4. 新手绝大多数接口报错,均由参数拼写、格式不规范、传参错误导致,对照文档即可快速排错。
八、后续进阶学习方向
基础Request请求巩固 → 流式打字机输出开发 → 结构化Prompt精准设计 → 代码工具类封装 → RAG知识库应用开发 → AI智能体进阶开发