综合介绍
Promptimizer 是一个实验性的提示词优化库,旨在帮助用户系统地改进其AI系统的提示词。通过自动化的优化过程,Promptimizer 可以在特定任务上改进提示词的表现。用户只需提供初始提示词、数据集和自定义评估器(可选的人类反馈),Promptimizer 就会运行优化循环,生成一个优化后的提示词,旨在超越原始提示词的表现。
功能列表
- 提示词优化:自动化优化提示词,提升AI系统在特定任务上的表现。
- 数据集支持:支持多种数据集格式,方便用户进行提示词优化。
- 自定义评估器:用户可以定义自定义评估器,量化提示词的表现。
- 人类反馈:支持人类反馈,进一步提升提示词优化效果。
- 快速开始指南:提供详细的快速开始指南,帮助用户快速上手。
使用帮助
安装
- 首先安装CLI工具:
pip install -U promptim
- 确保环境中有有效的LangSmith API Key:
export LANGSMITH_API_KEY=你的API_KEY export ANTHROPIC_API_KEY=你的API_KEY
创建任务
- 创建一个优化任务:
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
该命令将生成一个包含任务配置文件和任务代码的目录。
定义评估器
- 打开生成的任务目录中的
task.py
文件,找到评估逻辑部分:score = len(str(predicted.content)) < 180
- 修改评估逻辑,例如惩罚包含标签的输出:
score = int("#" not in result)
训练
- 运行训练命令,开始优化提示词:
promptim train --task ./my-tweet-task/config.json
训练完成后,终端会输出最终的优化提示词。
添加人工标签
- 设置注释队列:
promptim train --task ./my-tweet-task/config.json --annotation-queue my_queue
- 访问LangSmith UI,导航到指定队列,进行人工标注。