行业资讯
📅 2026/9/8 9:42:19
大模型应用开发两周实战路线:从Prompt到RAG与Agent部署
如果今天才开始学 AI 大模型应用开发遇到的最大问题往往不是资料太少而是资料太杂。上来就让你看 Transformer 论文、从头训练模型、推导反向传播的教程比比皆是结果学了两周连一个能跑的 API 都没调通。先给结论大模型应用开发本质上是“调用、集成、编排”大模型能力而不是“从零训练大模型”。你不需要自己训练一个千亿参数模型你需要做的是把现成的模型能力接进业务系统让它在真实场景里稳定产出结果。这篇文章给出一套两周实战学习路线覆盖 Prompt 工程、API 调用、本地部署、RAG 知识库、Agent 工具调用、Web 框架整合和上线部署全部按照可落地、可验证的方式展开。不是课程广告是一份可以直接照着执行的技术清单。这套路线按每天投入 3 到 4 小时设计两周可以跑通主干。想“吃透”后续还要靠真实项目持续打磨。但先把主干跑通剩下的就是经验问题。1. 大模型应用开发到底在学什么先明确边界。大模型应用开发和“大模型训练”“模型微调”是三条不同的技术路线大模型训练从零预训练模型需要大规模算力、数据工程属于算法工程师方向。模型微调在基座模型基础上做继续训练或指令微调需要 GPU、数据准备和训练框架经验。大模型应用开发调用大模型 API 或本地模型接口结合 Prompt、RAG、Agent、向量数据库、Web 框架构建业务应用重点在软件工程能力。这套两周路线只讲第三类。原因很简单对绝大多数后端工程师、前端工程师、测试工程师、运维工程师来说大模型应用开发才是性价比最高的切入方式。它不需要自建 GPU 集群不需要发布论文只需要你把 API 调通、把流程跑顺、把业务接好。能力项说明核心技能Prompt 工程、API 调用、流式输出、RAG、Agent、Function Calling关键技术栈Python、FastAPI、Ollama、LangChain、向量数据库、Docker是否需要训练模型不需要是否需要 GPU可选。调 API 不需要本地部署小模型可用 CPU推荐有 NVIDIA 显卡可复用能力API 封装、Web 集成、批量任务、部署上线、效果评估适合人群后端、前端、测试、运维、产品技术负责人学习周期每天 3-4 小时约两周跑通主干这套路线的目标不是让你记住一堆概念而是让你在两周后能独立交付一个“大模型聊天助手 知识库问答 Agent 工具调用”的完整应用。2. 两周学习路线总览学习最怕没有路线图。下面是按天拆分的执行计划前 7 天解决“能不能调通模型”的问题后 7 天解决“能不能做出产品”的问题。阶段时间核心内容验证产出第一阶段Day 1-2大模型基础认知 Prompt 工程能写出稳定的角色设定、结构化输出 Prompt第二阶段Day 3-4大模型 API 调用与工程化能用代码完成对话、流式输出、错误重试第三阶段Day 5-6本地模型部署与私有化能用 Ollama 跑起本地模型并完成接口调用第四阶段Day 7-8RAG 知识库问答能对本地文档做问答准确回答文档内事实第五阶段Day 9-10Agent 与工具调用能让模型调用搜索、计算、数据库等外部工具第六阶段Day 11-12Web 应用整合能用 FastAPI/Django 封装接口并实现流式输出第七阶段Day 13-14部署上线与效果评估能用 Docker 部署应用做基础压测和效果复核每个阶段都要有产出不能只看不练。判断自己是否学会的标准很简单能不能独立从零写出来遇到报错能不能自己排查。3. 第一阶段大模型基础与 Prompt 工程这一阶段不需要看复杂的论文但需要把几个核心概念搞清楚否则后面调试 Prompt 和参数时会一头雾水。3.1 必须理解的基础概念Token模型输入输出的最小单位中文场景下约 1 个汉字可能对应 1 到 2 个 TokenAPI 计费、上下文长度限制都基于 Token。上下文窗口模型一次能处理的输入输出总长度超出后需要做截断、摘要或分段处理。Temperature控制随机性。值越低输出越稳定适合抽取、分类、代码生成值越高越有创造性适合文案写作。System / User / Assistant 消息多轮对话的基本结构System 消息用于设定模型角色和行为边界。这些概念只需要理解到能指导使用的程度不需要深入数学原理。3.2 Prompt 工程四步法写 Prompt 不是靠感觉而是有一套可复用的工程方法。推荐按下面四步组织任何业务 Prompt角色设定你是资深技术文档工程师擅长将复杂概念解释清楚。 任务描述请将下面的技术内容改写为适合初中生理解的科普文章。 输入数据需要改写的内容 输出要求使用 Markdown 格式分三段输出每段不超过 200 字不得出现专业术语缩写。这套结构能解决大部分场景问题。重点在“输出要求”你要求得越具体模型输出越可控。结构化输出还可以要求模型直接返回 JSON后续接入系统会非常方便。3.3 验证方式准备 10 条不同类型的问题固定 Prompt连续测试 3 次以上。如果输出格式稳定、内容准确说明 Prompt 可用如果格式经常漂移说明输出约束写得太模糊需要继续收紧。4. 第二阶段大模型 API 调用与工程化Prompt 写好了下一步就是用代码调用大模型。现在几乎所有主流大模型 API 都提供 OpenAI 兼容格式也就是说你只要学会一种调用方式就能低成本切换到其他服务。4.1 API 调用示例下面是一个最基础的 Python 调用示例使用 OpenAI 兼容接口其中地址和密钥需要替换为你实际使用的服务商信息from openai import OpenAI client OpenAI( api_keyyour-api-key, # 替换为你自己的密钥 base_urlhttps://your-api-endpoint/v1 # 替换为服务商地址 ) response client.chat.completions.create( modelyour-model-name, messages[ {role: system, content: 你是专业的技术问答助手回答要简洁准确。}, {role: user, content: 请用三句话解释什么是 RAG。} ], temperature0.3, max_tokens500 ) print(response.choices[0].message.content)这一步跑通意味着你已经完成了从“概念学习”到“代码调用”的关键跨越。4.2 流式输出与工程化处理对话类应用几乎必须做流式输出否则用户要等全部内容生成完毕才能看到结果体验很差。from openai import OpenAI client OpenAI( api_keyyour-api-key, base_urlhttps://your-api-endpoint/v1 ) stream client.chat.completions.create( modelyour-model-name, messages[ {role: user, content: 写一段 300 字的大模型应用开发学习建议。} ], streamTrue ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end)流式输出在 Web 端通常配合 SSEServer-Sent Events协议这个后面讲到 Web 集成时会用到。4.3 工程化三件事调通 API 只是开始工程化接业务时还必需要处理三件事超时重试网络波动和服务端限流是常态要设置超时时间并对 429、500 等状态码做指数退避重试。Token 计数与成本控制每次请求前估算输入 Token设置 max_tokens 上限防止调用方一次请求把成本打爆。内容安全过滤模型输出不能直接透传给用户要做敏感内容检测和合规过滤尤其是面向公网的应用。5. 第三阶段本地模型部署与私有化调用云端 API 很省事但很多业务场景有数据合规要求不能把内部文档发给外部 API。这时候需要本地部署小参数模型。5.1 Ollama 部署本地模型Ollama 是目前最简单、最适合应用开发学习者的本地模型管理工具。启动方式和后端开发习惯比较接近适合快速试验。安装完成后在终端执行ollama pull qwen2.5:7b ollama run qwen2.5:7b模型下载和对话都很直接。更推荐的方式是把 Ollama 作为后台服务启动方便后续用代码调用ollama serve默认监听 11434 端口。然后用与之前几乎一致的 OpenAI 兼容接口调用from openai import OpenAI client OpenAI( api_keyollama, base_urlhttp://127.0.0.1:11434/v1 ) response client.chat.completions.create( modelqwen2.5:7b, messages[ {role: user, content: 你好请介绍一下你自己。} ] ) print(response.choices[0].message.content)这一步的意义很大从云端 API 切到本地模型你的应用代码几乎不用改只改 base_url 和 model 名称即可。5.2 模型与硬件选择本地部署的模型参数越大效果越好但硬件要求也越高。这里有两条原则先选小模型跑通流程再根据效果逐步换大模型。不要一开始就追求把 70B 级模型跑在本机上。NVIDIA 显卡优先带 CUDA 支持可以大幅加速推理没有独显时CPU 推理小模型也能用但速度会慢很多。显存占用要按实际模型版本和推理参数测试为准。同一个模型上下文长度开得越大显存占用越高。测试时可以先从短上下文、小批量开始逐步增加。6. 第四阶段RAG 知识库应用RAG 是目前大模型应用开发中落地价值最高的技术方向。它解决的是“大模型不知道你业务内部资料”的问题核心思路是把文档切块、向量化、存进向量数据库用户提问时先检索相关片段再让模型基于检索结果生成回答。6.1 RAG 完整流程一个最小可用的 RAG 系统包含五个环节文档加载读取 PDF、Word、Markdown、TXT 等格式文件。文本分块按固定长度或语义边界切分块太大会引入噪音块太小会丢失上下文。向量化用 Embedding 模型将文本块转成向量。可以调用云端 Embedding API也可以本地部署 Embedding 模型。相似度检索用户提问时将问题转成向量在向量库中检索最相似的前 K 个文本块。生成回答把检索结果和用户问题一起拼入 Prompt交给大模型生成带引用依据的回答。6.2 文本分块与检索示例分块是 RAG 效果好坏的关键。下面是一个简单但实用的分块示例def split_text(text, chunk_size500, overlap50): 按固定长度分块保留重叠区域避免切断语义 chunks [] for i in range(0, len(text), chunk_size - overlap): chunks.append(text[i:i chunk_size]) return chunks向量检索的代码可以直接用向量库的客户端这里以常用开源方案为例import chromadb client chromadb.Client() collection client.create_collection(docs) # 添加文本块 collection.add( documents[RAG 是一种检索增强生成技术, 本地部署模型需关注显存占用], ids[doc_1, doc_2] ) # 检索相关片段 results collection.query( query_texts[什么是 RAG], n_results1 ) print(results[documents])最后把检索结果拼入 Prompt注意在 Prompt 中明确要求“仅根据提供的资料回答不要编造内容”。6.3 RAG 调试的常见切入点RAG 回答效果不好九成问题出在检索环节而不是大模型环节。优先检查三处分块大小是否合适是否切断了关键信息。检索 Top K 是否太少或太多Top K 太少可能漏掉关键段落太多会引入噪音。Embedding 模型是否与业务领域匹配代码类、法律类、医疗类最好用领域语料微调过的向量模型。7. 第五阶段Agent 与工具调用Agent 是比 RAG 更进一层的能力让大模型不再只是“生成文本”而是能自主决策调用外部工具比如搜索网页、查询数据库、执行代码、操作 API。7.1 理解 Function CallingFunction Calling 是当前实现 Agent 的主流方式。流程是开发者提前声明一批工具函数包含函数名、参数说明和 JSON Schema。用户提问后模型判断该调用哪个函数、参数是什么。应用按模型返回的参数执行真实函数。把函数结果回传给模型模型结合结果生成最终回答。7.2 一个简化版 Agent 示例设计一个能查天气的工具函数然后让模型自动选择是否调用from openai import OpenAI client OpenAI( api_keyyour-api-key, base_urlhttps://your-api-endpoint/v1 ) # 模拟的天气查询工具 def get_weather(city: str): data { 北京: 晴26度, 上海: 小雨22度 } return data.get(city, 暂无数据) # 声明工具 tools [ { type: function, function: { name: get_weather, description: 查询指定城市的天气, parameters: { type: object, properties: { city: {type: string, description: 城市名称} }, required: [city] } } } ] response client.chat.completions.create( modelyour-model-name, messages[{role: user, content: 北京今天天气怎么样}], toolstools, tool_choiceauto ) message response.choices[0].message if message.tool_calls: for call in message.tool_calls: if call.function.name get_weather: # 执行工具并回传结果 result get_weather(北京) print(工具执行结果, result)这段代码跑通后你就掌握了 Agent 的核心骨架。后续可以把“查天气”替换成“查数据库”“查订单”“调用企业 API”就变成了真正的业务智能体。7.3 Agent 开发不要重复造轮子如果业务 Agent 比较复杂不需要所有环节都手写。LangChain、LlamaIndex 等框架提供了现成的 Agent 抽象、工具注册机制和记忆管理能力。Dify 这类开源平台则支持可视化编排非核心团队成员也能参与 Agent 配置。建议学习路线是先手写一次理解原理再用框架提高效率。8. 第六阶段Web 应用整合与部署上线模型能力跑通之后要让业务方或用户真正用起来必须把它封装成 Web 应用。8.1 用 FastAPI 封装大模型接口from fastapi import FastAPI from pydantic import BaseModel from openai import OpenAI app FastAPI() client OpenAI( api_keyyour-api-key, base_urlhttps://your-api-endpoint/v1 ) class ChatRequest(BaseModel): message: str app.post(/chat) def chat(req: ChatRequest): response client.chat.completions.create( modelyour-model-name, messages[{role: user, content: req.message}], temperature0.3 ) return {reply: response.choices[0].message.content}启动命令uvicorn main:app --host 0.0.0.0 --port 8000之后就可以用 curl 或 Postman 验证接口curl -X POST http://127.0.0.1:8000/chat \ -H Content-Type: application/json \ -d {message: 介绍一下大模型应用开发}8.2 改用 SSE 实现打字机流式效果纯 JSON 返回在长文本场景下体验较差。将接口改为 SSE 流式返回是对话类产品的基本功from fastapi import FastAPI from fastapi.responses import StreamingResponse app FastAPI() app.post(/chat_stream) async def chat_stream(message: str): def event_stream(): response client.chat.completions.create( modelyour-model-name, messages[{role: user, content: message}], streamTrue ) for chunk in response: if chunk.choices[0].delta.content: yield fdata: {chunk.choices[0].delta.content}\n\n return StreamingResponse(event_stream(), media_typetext/event-stream)前端的 fetch 或 EventSource 直接消费该流就能实现类似专业 AI 助手的流式输出效果。8.3 企业级框架接入如果企业内部已经有 Web 系统不必重新开发一套前端。两种常见整合路径Python 技术栈在 Django 应用中新增大模型 API 路由复用现有用户体系、权限体系和审批流程。Java 技术栈使用 Spring AI 将大模型能力封装为 Spring Boot Starter服务内直接注入调用。关键是保持大模型调用封装成独立内部接口层不要让业务代码到处拼接 Prompt 和模型参数。8.4 部署与治理部署环节至少有四件事要做环境隔离用虚拟环境或 Docker 打包依赖避免污染宿主机 Python 环境。密钥管理API Key 必须放在环境变量或配置中心严禁硬编码进代码仓库。访问控制内部工具不要直接暴露公网做好认证鉴权和限流。日志和监控记录每次请求的输入输出、耗时、Token 消耗、异常原因方便排查问题和优化成本。9. 两周至少完成三个实战项目只看不练永远学不会。两周内建议按下面的优先级完成三个项目项目核心要点完成标准项目一命令行聊天助手API 调用、流式输出、错误重试能在终端连续对话断网时能自动重试项目二本地知识库问答RAG、分块、向量检索、引用来源能对指定的 PDF 文档提问并返回有依据的回答项目三带 Web 界面的 AgentFastAPI、SSE、Function Calling能在网页上对话并能触发查询、计算等外部工具三个项目做完你已经具备独立开发大模型应用的能力。剩下的关键就是把某个具体行业场景想清楚这是工程师最赚钱的部分。10. 少走弯路的 12 条经验结合很多开发者踩坑的经验总结为下面这一列表按重要程度排列先调通 API再研究概念。不要先啃一周论文再动手。Prompt 输出要求要具体尤其是格式、长度、语气、禁止项。统一用 OpenAI 兼容接口格式切换模型服务时可以少改业务代码。流式输出不是可选项对话类应用必做。API 调用必须设超时必须做重试不能裸调。本地部署先选 7B 级小模型含量化版本跑通后再上更大模型。RAG 效果差先查分块和检索不要上来就换大模型。Agent 的难点不是“模型理解工具”而是工具的输入输出设计。向量数据库不用迷信某一家Chroma 适合学习Milvus 或 pgvector 适合生产。大模型输出不可控必须加内容安全过滤不能直接透传。日志里记录 Token 消耗否则月底对账和成本优化没有数据。不要迷信“万能提示词”每个业务场景的 Prompt 都需要持续迭代。11. 常见问题与排查方法问题现象可能原因排查方式解决方案调用 API 报超时网络不稳定或服务端限流查看耗时和状态码增加超时时间做指数退避重试返回内容截断max_tokens 设置过小检查输出是否到达最大长度调大 max_tokens或把长文本分段生成中文回答不理想选择的模型中文能力较弱换不同模型做对比测试优先选中文语料表现好的模型RAG 回答答非所问分块不合理或检索结果不相关打印检索出的文本块调整分块长度增大 Top K换 Embedding 模型本地模型推理很慢模型参数过大或使用了 CPU查看 CPU/GPU 占用换小规模量化模型或使用带 CUDA 的显卡Agent 调用工具参数错误工具 Schema 描述不清晰检查模型返回的 tool_calls 内容在函数描述中补充更详细的参数说明和示例端口启动失败端口被占查看端口占用情况换端口启动或释放原进程部署到服务器后接口不通防火墙或服务未监听正确网卡检查监听地址和防火墙监听 0.0.0.0在云控制台放行安全组端口输出内容有违规风险缺少内容过滤检查应用层是否有合规校验接入内容安全服务建立输入输出双层过滤12. 总结先跑通最小闭环这套两周路线的核心思路是先跑通一个最小闭环再往里面加复杂度。最小的闭环只有三步一个能调通的模型服务、一份稳定的 Prompt、一个能交互的页面。后续的 RAG、Agent、多层记忆、权限体系都是在最小闭环上增量扩展。学大模型应用开发最忌讳的就是一直收藏资料、一直规划、一直不动手。两周时间刚好够你把主干跑一遍。真正常用的开发能力最终来自你自己写过的项目、排查过的 bug、优化过的 Token 消耗。建议把这篇文章收藏下来作为执行清单。从今天开始先跑通第一行代码再谈其他。