Claude With Amazon Bedrock
← 所有课程
课程 18Claude With Amazon Bedrock

Code based grading

摘要音频

本节课没有语音摘要。

学习笔记

代码评分器 (Code Grader) 学习笔记

核心概念

  • 代码评分器目的: 确保模型输出是纯净的 Python 代码、JSON 或正则表达式,且不包含任何解释性文字。
  • 语法验证机制: 通过定义三个辅助函数(validateJSON、validatePython、validateRegEx)进行验证。
  • 验证方法: 尝试解析(JSON)、解析抽象语法树(AST,用于 Python)或编译(RegEx)。
  • 评分标准: 成功解析/加载返回 10 分;解析失败返回 0 分。

实现步骤 (Checklist)

  • 添加验证函数 (AddInFunctions): 编写 validateJSON、validatePython 和 validateRegEx 三个函数。
  • 更新数据集: 在测试用例数据集中添加一个 format 键,明确指定每个任务期望的输出格式(如 "JSON"、"Python" 或 "regex")。
  • 优化提示词 (Prompt Template):
  • 在提示词中明确要求模型仅以 Python、JSON 或正则表达式的形式响应。
  • 禁止模型添加任何注释或解释性评论。
  • 强制纯净输出技巧: 使用预填充的助手消息(Pre-filled assistant message)和停止序列(Stop sequence)来引导模型输出原始代码内容。
  • 合并评分: 将模型评分(Model Score)与代码语法评分(Syntax Score)合并。
  • 最终得分计算: (模型评分 + 语法评分) / 2。

关键术语

  • 抽象语法树 (AST): 用于验证 Python 代码结构是否有效。
  • 停止序列 (Stop Sequence): 用于限制模型输出的边界,确保输出为纯代码。
  • 格式键 (Format Key): 数据集中用于指示预期输出类型的字段。

Takeaways

  • 代码评分器的核心目的是强制模型输出纯净的代码(Python、JSON 或正则表达式),禁止任何解释性文字。
  • 语法验证通过定义辅助函数(如 validateJSON、validatePython)并尝试解析或编译来实现,成功则得 10 分。
  • 实现该功能需要更新数据集(添加格式键)和优化提示词,利用停止序列(Stop Sequence)引导模型输出原始代码。
  • 最终得分是模型评分与代码语法评分的平均值((模型评分 + 语法评分) / 2)。
抽认卡 7 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.