Topics

准备:环境准备(Codex + DeepSeek)

本节汇总环境准备阶段的笔记与成果:Codex + DeepSeek 环境配置、Agent 使用日志模板。

1. Codex CLI 安装

1
2
3
npm install -g @openai/codex
codex --version
codex login          # 登录 OpenAI 账号

2. DeepSeek API 配置

platform.deepseek.com 创建 API Key,然后设置环境变量:

1
export DEEPSEEK_API_KEY="sk-..."

DeepSeek 提供 OpenAI 兼容接口,base URL 为 https://api.deepseek.com, 可用 curl 快速验证:

1
2
3
4
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"hello"}]}'

3. Codex 接入 DeepSeek(官方一键脚本)

DeepSeek-V4-Flash 原生支持 Responses API 格式,官方针对 Codex 做了适配,并提供一键配置脚本(推荐方式)。

Read more >

相关资源收集

实战过程中持续收集的资料,按类别整理,随进度扩充。

书籍

官方文档(按章节对应)

论文

开源项目与工具

路线图与免费课程

社区

链接会随学习进度持续扩充,欢迎通过 Issue 或评论区补充。

Read more >

第 1 章:LLM API、Prompt、结构化输出 + LLM Gateway

本章笔记与讲义:模型调用、Streaming、Structured Output、Prompt 工程与项目① LLM Gateway。

课程讲义

1. LLM API 与模型调用基础

  • Chat Completions / Responses API:请求结构(model、messages、temperature 等)、返回结构(choices、usage)
  • 模型参数:temperaturetop_pmax_tokens
  • Token 与 Context Window:输入 + 输出都计费;超窗会报错或截断
  • 错误处理:超时、限流(429)、格式错误,需要重试与降级策略
  • 多模型调用:统一封装,屏蔽厂商差异
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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 记录
  • 基础错误处理、重试与限流