0Pricing
Learn AI with Python · 课时

面向生产环境 LLM 应用的提示词工程

系统提示词设计、少样本示例、输出格式、重试逻辑和成本优化。

面向生产环境 LLM 应用的提示词工程 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。

生产环境中的提示词

在实际应用中,提示词就是代码:需要具备结构,经过测试,并且可靠。优秀的提示词工程可以减少幻觉、强制规定输出格式并控制成本。本课将介绍生产环境中真正重要的技术。

系统提示词设计

系统提示词设定模型的角色、语气、限制和规则。请务必具体说明:助手是什么、必须做什么和不得做什么,以及答案应采用的格式。清晰的系统提示词是您最有力的引导工具。

system = (
    "You are a support agent for an e-commerce store. "
    "Answer only questions about orders and shipping. "
    "If asked anything else, politely decline. "
    "Keep replies under 3 sentences."
)

少样本示例

少样本提示是指向模型展示输入/输出示例对,使其学习其中的模式。您可以在真实请求之前,将这些示例作为交替出现的用户/助手消息放置。

messages = [
    {"role": "system", "content": system},
    {"role": "user", "content": "Classify: I love this!"},
    {"role": "assistant", "content": "positive"},
    {"role": "user", "content": "Classify: This broke instantly."},
    {"role": "assistant", "content": "negative"},
    {"role": "user", "content": "Classify: It is okay I guess."}
]

少样本为何有效

与单独使用指令相比,示例能更好地明确您的意图。它们可以固定确切的输出风格(一个单词、JSON 或一个标签),并显著提高分类、提取和格式化任务的一致性。

强制输出 JSON

对于机器可读的回复,请使用 response_format 请求 JSON 模式。使用 {"type": "json_object"} 后,模型会受到约束,只能输出有效 JSON,之后您就可以安全地解析它。

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)

使用 tiktoken 计算令牌

成本和上下文限制以令牌衡量。tiktoken 库可以在本地计算令牌数量,让您在发送请求前做好预算。请使用 pip install tiktoken 安装。

import tiktoken

enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("Hello, how are you?")
print(len(tokens))

令牌计算为何重要

每个模型都有上下文窗口(令牌数量上限),并且按令牌收费。提前计算可以让您裁剪历史记录、拒绝过大的输入,并在请求离开服务器之前预测成本。

def cost_estimate(text, price_per_1k=0.005):
    enc = tiktoken.encoding_for_model("gpt-4o")
    n = len(enc.encode(text))
    return n, n / 1000 * price_per_1k

处理速率限制

生产环境流量会遇到速率限制(HTTP 429)和暂时性错误。不要让程序直接崩溃,而应使用指数退避进行重试。tenacity 库可以通过一行装饰器实现这一点。

pip install tenacity

from tenacity import retry, wait_exponential, stop_after_attempt

使用 tenacity 重试

使用 @retry 装饰您的 API 调用。使用 wait_exponential 逐渐增加尝试之间的等待时间,并使用 stop_after_attempt 限制总尝试次数。这样即使遇到临时服务中断,程序也能平稳运行。

@retry(wait=wait_exponential(min=1, max=30), stop=stop_after_attempt(5))
def ask(prompt):
    return client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )

为输出定义 JSON Schema

强制使用 JSON 模式时,请始终在提示词中描述您需要的确切结构,以便键名保持可预测。在 JSON 模式的基础上用纯文本写清模式,就能始终获得可解析、可验证的结果。

system = (
    "Return ONLY JSON with this shape: "
    "{\"sentiment\": \"positive|negative|neutral\", "
    "\"confidence\": number between 0 and 1}"
)

综合运用

生产环境中的提示词流程是:设计严格的系统提示词,添加少样本示例,在需要时强制输出 JSON,通过计算令牌管理成本和上下文,并用retry逻辑封装调用。综合使用这些方法,可以让 LLM 功能更加可靠。

快速检查

测试您对生产环境提示词的了解。

回顾:生产环境提示词设计

您学会了编写严格的系统提示词,使用少样本示例引导行为,并通过 response_format JSON 模式确保回复结构化。您还使用令牌统计工具 tiktoken 管理上下文和成本,并通过 tenacity 重试机制应对速率限制,从而提升了系统的稳健性。

常见问题解答

「面向生产环境 LLM 应用的提示词工程」课时是免费的吗?

是的 — 「面向生产环境 LLM 应用的提示词工程」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。

「面向生产环境 LLM 应用的提示词工程」这节课中我会学到什么?

系统提示词设计、少样本示例、输出格式、重试逻辑和成本优化。 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn AI with Python 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「面向生产环境 LLM 应用的提示词工程」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn AI with Python 课中编写并运行代码吗?

能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. OpenAI API:chat.completions 与流式传输
  2. 在 Python 中使用 Anthropic Claude API
  3. 使用 LLM 进行函数调用与工具使用
  4. 面向生产环境 LLM 应用的提示词工程
← 返回 Learn AI with Python