gpt-prompt-engineer

gpt-prompt-engineer

智能提示工程优化系统

gpt-prompt-engineer是一款自动化提示工程工具,能够根据任务描述和测试用例生成、评估和排序多个提示。该工具支持多种先进AI模型,包括GPT-4、GPT-3.5-Turbo和Claude 3 Opus。通过ELO评分系统、分类功能和专门的Claude 3版本,gpt-prompt-engineer显著提升了提示工程的效率和质量。

GPT提示工程AI测试ELO评分系统Github开源项目

gpt-提示工程师

在Twitter上关注 在Colab中打开主版本 在Colab中打开分类版本

概述

提示工程有点像炼金术。没有明确的方法可以预测什么会最有效。一切都在于不断尝试,直到找到正确的提示。gpt-prompt-engineer是一个将这种实验提升到全新水平的工具。

只需输入任务描述和一些测试用例,系统就会生成、测试并对大量提示进行排名,找出表现最佳的提示。

2024年3月20日新增:Claude 3 Opus版本

我添加了一个新版本的gpt-prompt-engineer,充分利用了Anthropic的Claude 3 Opus模型。这个版本可以自动生成测试用例,并允许用户定义多个输入变量,使其更加强大和灵活。试试仓库中的claude-prompt-engineer.ipynb笔记本吧!

2024年3月20日新增:Claude 3 Opus -> Haiku转换版本

这个笔记本使您能够以通常成本的一小部分构建闪电般快速、高性能的AI系统。通过使用Claude 3 Opus建立潜在空间,并使用Claude 3 Haiku进行实际生成,您可以达到惊人的效果。该过程的工作原理是利用Opus生成一系列高质量的示例,然后用这些示例指导Haiku生成可比质量的输出,同时大幅降低延迟和每次生成的成本。试试仓库中的opus-to-haiku-conversion.ipynb笔记本吧!

特点

  • 提示生成:使用GPT-4、GPT-3.5-Turbo或Claude 3 Opus,gpt-prompt-engineer可以根据提供的用例和测试用例生成各种可能的提示。

  • 提示测试:真正的魔力发生在生成之后。系统会针对所有测试用例测试每个提示,比较它们的性能,并使用ELO评级系统对它们进行排名。

    <img width="1563" alt="2023年7月4日上午11点41分54秒的屏幕截图" src="https://github.com/mshumer/gpt-prompt-engineer/assets/41550495/f8171cff-1703-40ca-b9fd-f0aa24d07110">
  • ELO评级系统:每个提示最初的ELO评级为1200。当它们在生成测试用例的响应时相互竞争时,它们的ELO评级会根据表现而改变。这样,您可以轻松看出哪些提示最有效。

  • 分类版本gpt-prompt-engineer -- 分类版本笔记本专门用于处理分类任务。它通过将测试用例与预期输出('true'或'false')匹配来评估其正确性,并提供每个提示的得分表。

    <img width="1607" alt="2023年7月10日下午5点22分24秒的屏幕截图" src="https://github.com/mshumer/gpt-prompt-engineer/assets/41550495/d5c9f2a8-97fa-445d-9c38-dec744f77854">
  • Claude 3版本:claude-prompt-engineer笔记本专为与Anthropic的Claude 3 Opus模型配合使用而设计。它可以自动生成测试用例,并允许多个输入变量,使其更加强大和灵活。

  • Claude 3 Opus -> Haiku转换版本:旨在为您的用例保留Opus的质量,同时获得使用Haiku的速度和成本优势。

  • Weights & Biases日志记录:可选择将您的配置(如温度和最大令牌数)、每个部分的系统和用户提示、使用的测试用例以及每个候选提示的最终排名ELO评级记录到Weights & Biases。将use_wandb设置为True即可使用。

  • Portkey:可选工具,用于记录和跟踪所有提示链及其响应。将use_portkey设置为True即可使用。

设置

  1. 在Google Colab中打开笔记本或在本地Jupyter笔记本中打开。对于分类任务,请使用这个笔记本。对于Claude 3版本,请使用这个笔记本

  2. 将你的OpenAI API密钥添加到openai.api_key = "在此处添加你的密钥"这一行。如果你使用的是Claude 3版本,请将你的Anthropic API密钥添加到ANTHROPIC_API_KEY = "在此处添加你的密钥"这一行。

使用方法

  1. 如果你使用的是GPT-4版本,请定义你的用例和测试用例。用例是对你希望AI执行的任务的描述。测试用例是你希望AI回应的具体提示。例如:
description = "给定一个提示,生成一个落地页标题。" # 这种描述风格通常效果较好

test_cases = [
    {
        'prompt': '推广一款创新的新健身应用Smartly',
    },
    {
        'prompt': '为什么素食对你的健康有益',
    },
    {
        'prompt': '介绍一门新的数字营销在线课程',
    },
    {
        'prompt': '推出一条新的环保服装产品线',
    },
    {
        'prompt': '推广一个专注于预算旅行的新旅游博客',
    },
    {
        'prompt': '宣传一款用于高效项目管理的新软件',
    },
    {
        'prompt': '介绍一本关于掌握Python编程的新书',
    },
    {
        'prompt': '推广一个新的在线语言学习平台',
    },
    {
        'prompt': '宣传一项新的个性化膳食计划服务',
    },
    {
        'prompt': '推出一款新的心理健康和正念应用',
    }
]

对于分类版本,你的测试用例应该采用以下格式:

test_cases = [
    {
        'prompt': '我今天过得很棒!',
        'output': 'true'
    },
    {
        'prompt': '我感觉很沮丧。',
        'output': 'false'
    },
    // 在此添加更多测试用例
]

对于Claude 3版本,除了用例描述外,你还可以定义输入变量:

description = "给定一个提示,生成个性化的邮件回复。"

input_variables = [
    {"variable": "SENDER_NAME", "description": "发送邮件的人的名字。"},
    {"variable": "RECIPIENT_NAME", "description": "接收邮件的人的名字。"},
    {"variable": "TOPIC", "description": "邮件的主要话题或主题。一到两句话。"}
]

测试用例将根据用例描述和输入变量自动生成。

  1. 选择要生成的提示数量。请注意,如果生成大量提示,费用可能会很高。10个是一个不错的起点。

  2. 调用generate_optimal_prompt(description, test_cases, number_of_prompts)来生成潜在提示列表,并测试和评估它们的性能。对于分类版本,只需运行最后一个单元格。对于Claude 3版本,调用generate_optimal_prompt(description, input_variables, num_test_cases, number_of_prompts, use_wandb)

  3. 最终的ELO评分将以表格形式打印,按降序排列。评分越高,提示效果越好。

    <img width="1074" alt="屏幕截图2023-07-04 11:48:45" src="https://github.com/mshumer/gpt-prompt-engineer/assets/41550495/324f90b8-c0ee-45fd-b219-6c44d9aa281b">

对于分类版本,每个提示的得分将以表格形式打印(如上图所示)。

欢迎贡献!一些想法:

  • 使用多个不同的系统提示生成器,创建不同风格的提示,以覆盖更多领域(例如:示例、详细、简短、Markdown等)
  • 自动生成测试用例
  • 扩展分类版本,使用tiktoken支持两个以上的类别

许可证

本项目采用MIT许可。

联系方式

Matt Shumer - @mattshumer_

项目链接:https://github.com/mshumer/gpt-prompt-engineer

最后,如果你想尝试比这更酷的东西,可以注册HyperWrite个人助手(我大部分时间都在开发这个)。这基本上是一个能够访问实时信息的AI,它a)在自然写作方面非常出色,b)可以操作你的网络浏览器来完成任务。

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多