链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

Promptimizer-用于优化AI提示的实验性库

Promptimizer是一个实验性的提示优化库。它能自动化针对特定任务优化提示的过程。使用者提供初始提示、数据集和自定义评估器等,它就能运行优化循环生成优化提示。比如在简单的推文生成任务中,可按安装、创建任务、定义评估器、训练等步骤操作。在训练时先加载数据和提示,评估基线指标,...

访问官网 →

Promptimizer-用于优化AI提示的实验性库

一、项目简介

Promptim是一个实验性的提示优化库。它能够自动化针对特定任务优化提示的过程。使用者提供初始提示、数据集以及自定义评估器(也可包含人为反馈),Promptim就会运行优化循环,从而生成一个旨在超越原始提示的优化提示。

二、项目快速上手

  1. 安装:首先安装CLI,使用命令“pip install -U promptim”,并且要确保环境中有有效的LangSmith API Key。
  2. 创建任务:运行“promptim create task./my-tweet-task\–name my-tweet-task\–prompt langchain-ai/tweet-generator-example-with-nothing:starter\–dataset https://smith.langchain.com/public/6ed521df-c0d8-42b7-a0db-48dd73a0c680/d\–description “Write informative tweets on any subject.”-y”来创建一个待优化的任务。此命令会生成起始代码,包含任务的名称、提示、数据集、描述等内容,完成模板创建后,在my-tweet-task目录下会有两个文件config.json和task.py(暂时可忽略config.json文件)。
  3. 定义评估器:打开my-tweet-task/task.py中的评估器存根,量化任务上的提示性能,例如对包含哈希标签的输出进行惩罚等操作。
  4. 训练:运行“promptim train — task./my-tweet-task/config.json”命令开始优化提示,终端会显示训练进度,完成后会输出最终的“优化”提示以及到中心的提交链接。

三、项目原理

当运行promptim train时,Promptim首先加载配置中的提示和数据集,然后使用配置的评估器评估开发集(若存在,否则为完整数据集)上的提示,得到基线指标。之后通过循环小批次的训练示例开始优化提示,计算指标并应用元提示来建议对当前提示进行更改,重复这个过程。在消耗完整个训练集后,再次计算开发集上的指标,如果指标显示有改进则保留更新后的提示,否则丢弃。这个过程会重复执行指定的轮数。

四、添加人工标签

  1. 设置注释队列:运行train命令时,使用“–annotation-queue”选项指定队列名称,如“promptim train — task./my-tweet-task/config.json — annotation-queue my_queue”。训练期间,系统会在每个批次后暂停并给出标记结果的说明。
  2. 访问注释界面:打开LangSmith UI,导航到指定队列进行查看、标记示例并添加注释和分数。
  3. 继续训练:在终端输入’c’,训练循环将获取注释并将其包含在下一次元提示的优化过程中。

五、项目总结

Promptimizer为优化AI任务的提示提供了一套较为完整的方案,从创建任务、定义评估器到训练以及人工参与优化等环节都有涉及。希望大家能够在使用过程中积极留言分享自己的体验或者遇到的问题,共同探讨Promptimizer的更多可能性。

项目地址

GitHub链接直达