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)可以操作你的网络浏览器来完成任务。

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

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

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

讯飞绘文

讯飞绘文

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

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

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

TRAE编程

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

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

热门AI工具生产力协作转型TraeAI IDE
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多