
Label Studio Prompts 草拟与运行指南从 Prompt 撰写到 LLM 预测评估的完整实战【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studioLabel Studio 的 Prompts 功能允许你编写 LLM Prompt将其运行在项目任务上自动生成预测Predictions并针对 Ground Truth 基线评估 Prompt 的准确率、F1 等指标从而实现用 LLM 自动标注 人工微调 Prompt的迭代闭环。本文以官方文档 prompts_draft.md 为核心骨架完整讲解草拟 Prompt、选择基线、执行 Evaluate/Run、解读评估指标、使用 Enhance Prompt 自动精炼并结合仓库源码ml_models/models.py剖析背后的模型与任务运行机制读完后你将能独立完成一个可评估、可迭代、可投产的 LLM 自动标注 Prompt。前置条件创建 Prompt 与配置模型密钥在开始草拟之前你需要确保以下两项就绪详见 创建 Prompt 指南已创建 Prompt在 Prompts 页面点击Create Prompt填写名称Name、描述Description并选择目标项目Target Project。目标项目必须是你有访问权限的项目且不能位于个人沙箱Personal Sandbox工作区。选择项目后界面会展示该项目标注配置labeling config中定义的类别classes这些类别将用于约束 Prompt 输出。已配置模型提供方 API Key基础模型下拉框中出现的模型取决于你在组织内配置的 API Keys。支持 OpenAI如 gpt-5、gpt-5-mini、Gemini、Vertex AI、Anthropic如 claude-3-5-sonnet、Azure OpenAI、Azure AI Foundry 以及 Custom自托管 OpenAI 兼容接口等提供方。从源码看Prompt 的底层模型版本对象为 ThirdPartyModelVersion它继承自ModelVersion其中 prompt 字段 就是提示词正文并持有provider提供方枚举、provider_model_id如gpt-3.5以及model_provider_connection对应你配置的 API Key 连接。也就是说草拟页面上选择基础模型 输入 Prompt这两个动作最终落库为一条ThirdPartyModelVersion记录。草拟 Prompt 并生成预测打开已创建的 Prompt 后按以下步骤完成草拟与预测生成1. 选择基础模型在基础模型下拉框中选择用于推理的模型。可选范围由组织内配置的 API Key 决定模型白名单参见 Supported base models。注意如果你限制了出口网络还需将模型服务的 IP 加入白名单。2. 输入 Prompt 内容在Prompt输入框中编写提示词需要注意必须包含文本变量文本变量显示在 Prompt 输入框正上方例如示例中的review点击变量名即可将其插入 Prompt。运行时该占位符会被替换为任务的实际文本内容。建议为每个类别提供定义虽然非强制但为各类别给出明确解释有助于提升预测准确率也是后续 添加上下文 的基础。提示最快上手的方式是先插入文本变量然后点击Enhance Prompt让系统帮你生成初稿详见下文 Enhance Prompt。3. 选择基线Baseline基线决定了本次运行要对哪些任务生成预测共三种选项基线作用是否生成准确率分数适用场景All Project Tasks对项目内全部任务生成预测否项目较大时处理时间较长用于 Bootstrapping 项目用 Prompt 冷启动Sample Tasks对项目内前 20 个任务生成预测否快速试跑同上适用场景Ground Truths对所有带 Ground Truth 标注的任务生成预测是返回 Prompt 准确率分数仅当项目存在 Ground Truth 时可用用于 Auto-labeling 自动标注 与 Prompt 评估与微调源码层面这三种基线对应 ModelRun.ProjectSubset 枚举中的All、Sample、HasGT此外还有面向高级场景的Custom支持通过 filters_json 传入 Data Manager 筛选条件自定义任务子集。其中 Sample 的默认样本量由sample_subset_size字段控制未设置时回退到PROMPTER_SAMPLE_SUBSET_SIZE配置。4. 保存与版本管理首次草拟或希望调整当前版本时点击Save。若想创建 Prompt 的新版本以便在不同版本之间对比评估结果点击Save旁的下拉菜单并选择Save As。每个版本会独立保留评估分数方便你追踪提示词改动 → 指标变化的迭代轨迹。5. 执行 Evaluate 或 Run当基线为Ground Truths时点击Evaluate生成预测 准确率评分。当基线为All Project Tasks / Sample Tasks时点击Run。警告点击Evaluate或Run会为基线内每个任务生成预测并覆盖该 Prompt 之前生成的所有预测。此外如果同一项目存在多个 Prompt或同时使用了 Evaluate/Run 与Get Predictions for All TasksData Manager 中同一任务会出现多条预测。预测写入的数据链路从源码看一次运行对应一条 ModelRun 记录其status字段Pending/InProgress/Completed/Failed/Canceled见 ModelRunStatus驱动整个推理任务的生命周期。运行期间会累计total_tasks、total_predictions、total_correct_predictions等计数这些正是评估指标准确率、Outputs的原始数据来源推理完成后预测写入任务的Prediction表同时为每个受影响任务刷新 Data Manager 的预测计数update_tasks_counters。评估结果解读当使用 Ground Truth 基线执行Evaluate后评估结果会展示以下指标指标适用任务适用配置说明Overall accuracy总体准确率Ground Truths所有标注配置预测与 Ground Truth 一致的度量。例如 10 条 Ground Truth 中预测匹配 7 条则准确率为0.70Outputs输出数所有任务类型所有标注配置被评估的任务数量F1 ScoreGround Truths单个Choices、单个Labels综合**精确率precision与召回率recall**的调和平均F1 2 * (precision * recall) / (precision recall)Inference cost推理成本所有任务类型所有标注配置按本次运行消耗的 token 数量估算的成本其中Precision精确率衡量所有正类预测中正确预测的比例回答正类预测有多可靠用于控制误报false positivesRecall召回率衡量所有实际正类中被正确识别出的比例回答有多少真正的正类被找到了适用于允许多标签标注的场景用于减少漏报。需要说明的是这里的正类positive既指某个正向标签如勾选框也指预测中出现了某个特定的 choice/label。分类报告Classification reports点击Expand可展开分类报告查看每个类别被识别了多少次。该报告适用于以下标签类型ChoicesLabelsPairwiseRating分类报告 总体准确率共同构成了提示词微调的仪表盘你可以据此发现某个类别频繁误判从而针对性地改进 Prompt 中该类的描述。Enhance Prompt让 Teacher Model 帮你自动精炼提示词Enhance Prompt用于辅助构建和自动优化提示词。最低要求是先插入文本变量点击 Prompt 输入框上方的变量名即可然后从弹窗中选择用于撰写提示词的Teacher Model教师模型。自动精炼完成后你会得到与旧提示词并排展示的新提示词对本次改动的解释说明自动精炼所花费的估算成本。工作原理任务子集Task Subset作为上下文自动精炼时系统以任务子集为上下文。若项目存在 Ground Truth 数据则以其作为任务子集否则采样最多 10 个项目任务。预测生成自动精炼流程会先使用你的初始提示词 Teacher Model 对任务子集生成预测Ground Truth 任务或样本任务如适用还会与 Ground Truth 比对计算准确率。教师模型评审Teacher Model 评估初始提示词相对 Ground Truth或样本输出的预测表现找出可改进之处然后输出一份更贴近预期结果的精炼提示词。整个过程形成了草拟 → 精炼 → 评估 → 再精炼的闭环特别适合不熟悉提示词工程细节的标注团队快速获得一个高质量初稿。草拟高效提示词的四大原则除了使用 Enhance Prompt官方还给出如下提示词工程建议更系统的技巧可参考学术综述《The Prompt Report: A Systematic Survey of Prompting Techniques》与 OpenAI 的 Prompt Engineering 指南。文本放置Text placement文本变量在运行时会被实际文本内容替换。当文本较长或结构复杂时把它插入句子中间可能让 LLM 产生混淆。例如应避免Classifytextas one of the following:而应结构化书写为Given the following text:text. Classify this text as one of the following:通过把变量独立成句、前后给出明确指令可以显著降低长文本对模型理解的干扰。明确目标Define your objective撰写有效提示词的第一步是清晰定义任务目标。提示词应显式声明将给定文本分类到预定义类别例如把模糊的 Analyze this text 改为 Classify the following text into categories such as spam or not spam。清晰的目标能降低模型响应的歧义性。添加上下文Add context上下文是引导模型准确分类的关键。提供背景信息或示例能显著增强提示词效果。例如对客户评论分类任务可以补充各类别的判据Classify the following customer review as positive, negative, or neutral. A positive review indicates customer satisfaction, a negative review indicates dissatisfaction, and a neutral review is neither overly positive nor negative.这段上下文帮助模型将输出与你的具体要求对齐。在 Label Studio 中你可以为每个输出类别补充类似定义这与草拟第 2 步为每个类提供定义的建议相呼应。具体性Specificity提示词越具体输出越精确。应明确指定响应格式、关注的关键词或短语以及其他相关细节。例如Please classify the following text and provide the category in a single word: positive, negative, or neutral.具体性尤其是限定输出格式能保证模型输出的格式一致性直接匹配 Label Studio 标注配置对预测结果格式的要求便于后续转成标注。从预测到标注后续闭环当 Prompt 达到满意的准确率后可以将其应用于项目全部任务对应 prompts_predictions 指南 中的Get Predictions for All Tasks随后在 Data Manager 中使用Total predictions per task列确认每个任务至少有一条预测选中任务后通过Actions Create Annotations from Predictions将预测转为正式标注若需清除误生成的预测可选中任务后通过Actions Delete Predictions删除或在项目设置的Predictions页面按模型/版本定向清理。源码层面删除预测由 ModelRun.delete_predictions 实现它会先解除依赖这些预测的标注Annotation.parent_prediction再清理预测统计PredictionStats / PredictionPairStats、失败预测FailedPrediction与预测元数据PredictionMeta最后用_raw_delete批量删除并重算受影响任务的预测计数保证 Data Manager 列值不残留脏数据。这一实现也解释了文档中多次 Evaluate/Run 会覆盖旧预测的行为——同一 Prompt 版本对应的 ModelRun 预测会被整体替换而不同 Prompt 的预测则并存。小结Label Studio 的 Prompts 草拟流程把 LLM 提示词工程与数据标注工作流无缝衔接通过All Project Tasks / Sample Tasks / Ground Truths三种基线控制预测范围通过Evaluate获取准确率、F1 与推理成本等量化反馈通过Enhance Prompt借助 Teacher Model 自动精炼提示词再配合版本化Save As实现可追踪的迭代优化。结合 ml_models/models.py 的源码可知整个机制以ThirdPartyModelVersionPrompt 本体与ModelRun运行实例为核心模型预测的生命周期管理生成、覆盖、删除、计数刷新都有明确的工程化实现。掌握本文的操作步骤与评估方法论即可在项目中快速建立LLM 自动标注 人工微调的高效标注管线。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考