第 1 章:LLM API、Prompt、结构化输出 + LLM Gateway
本章笔记与讲义:模型调用、Streaming、Structured Output、Prompt 工程与项目① LLM Gateway。
课程讲义
1. LLM API 与模型调用基础
- Chat Completions / Responses API:请求结构(model、messages、temperature 等)、返回结构(choices、usage)
- 模型参数:
temperature、top_p、max_tokens - Token 与 Context Window:输入 + 输出都计费;超窗会报错或截断
- 错误处理:超时、限流(429)、格式错误,需要重试与降级策略
- 多模型调用:统一封装,屏蔽厂商差异
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "hello"}],
)
print(resp.choices[0].message.content)
2. Prompt Engineering
- System Prompt:设定全局行为(相当于岗位说明书)
- 角色定义与行为约束:代码审查助手 / 分析师等
- 输出风格控制:详细程度、语气、结构
- Few-shot:给 2~3 个「输入 → 输出」范例,格式敏感任务更有效
- 任务拆解:复杂任务拆多步,降低幻觉率
- Prompt 模板:变量嵌入固定模板,可复用、可版本管理
- Prompt 注入风险:用户输入篡改指令的防护
3. Structured Output(结构化输出)
- 为什么不能依赖自然语言解析:解析脆弱、无法校验
- JSON Schema:定义字段名、类型、必填
- Pydantic Model:定义结构 + 校验 + 反序列化
- 模型原生结构化输出:API 层传 Schema,模型保证合规
- 校验失败处理:错误反喂模型重试,多次失败降级回退
4. Streaming(流式输出)
- 为什么需要:模型延迟高,串行等待体验差
- SSE:基于 HTTP 长连接的流式协议,实现打字机效果
- FastAPI
StreamingResponse保持低延迟转发 - CLI/前端消费:逐块读取;用户可随时取消
- 长文本断点:超出 Context Window 或断线时持久化状态
5. LLM Gateway
- 统一 HTTP 入口,各组件无需各自维护 API Key
- OpenAI Compatible 协议,统一多厂商格式差异
- Streaming 代理、Structured Output 透传、Prompt 模板库
- 错误重试与 fallback、Token/Cost/Latency 日志
6. 阶段一项目:LLM 统一模型调用服务
- OpenAI Compatible API 接口
- 多模型调用与模型路由
- Streaming 流式输出
- Structured Output 结构化输出
- Prompt 模板管理
- Token / Cost / Latency 记录
- 基础错误处理、重试与限流
讲义(五小节)
- 第 1 章讲义 · 01 LLM API 与模型调用基础:请求/返回结构、模型参数、Token、结构化输出、错误处理、多模型调用
- 第 1 章讲义 · 02 Streaming 流式输出:SSE 协议、流式转发、流式结构化输出与超时处理
- 第 1 章讲义 · 03 Prompt Engineering:System Prompt、Few-shot、模板与注入防护
- 第 1 章讲义 · 04 Structured Output 结构化输出:JSON Schema、Pydantic、三家厂商落地
- 第 1 章讲义 · 05 LLM Gateway(统一模型调用服务):统一入口、模型路由、回退熔断、用量统计
面试(五小节)
- 第 1 章面试 · 01 LLM API 与模型调用基础:协议选择、Responses API、token 与成本、结构化输出、错误重试
- 第 1 章面试 · 02 Streaming 流式输出:SSE 实现、流式中断、流式结构化输出的边界
- 第 1 章面试 · 03 Prompt Engineering:模板工程、注入防护、可观测与评估
- 第 1 章面试 · 04 Structured Output 结构化输出:方案取舍、厂商差异、失败兜底
- 第 1 章面试 · 05 LLM Gateway:架构设计、路由回退、限流熔断、成本治理