Prompt Playground: 一个简易的提示词调试工具

将LLM引入到日常的开发工作中后,会面临大量的提示词调试的工作,由于LLM不确定性,这个工作会变得非常的繁琐,需要不断的调整,甚至需要大量的重试来确保输出结果的稳定性,以确保提示词的有效性。

通常情况下可能会使用OpenAI(Azure OpenAI) 提供的Playground 或者其他的一些工具例如 Semantic Kernel Tool进行调试。

但是不免还是会有一些不便,例如无法批量调用,无法快速的对比输出结果的差异等等。

于是我就写了一个小工具,方便进行提示词的调试工作,这就是 Prompt Playground.

功能介绍

目前Prompt Playground 处于早期开发阶段,已经支持了以下功能:

  1. 多模型支持: Azure Chat Completions(gpt-35,gpt-4)、 Baidu ERNIE Bot Turbo
  2. 批量结果生成: 可以一次性生成多个模型的结果,方便对比
  3. Semantic Kernel 提示词导入和保存: 支持skprompt.txt 格式的提示词文件导入和导出,方便进行提示词的调试和保存
  4. Semantic Kernel 提示词配置文件修改: 支持 skprompt.txt 对应 config.json 文件的加载和修改
  5. Semantic Kernel 提示词参数填充

界面介绍

界面相对简洁直观,主要分为三个部分:

菜单栏: 提供了一些基本的功能,例如模型接口的配置,skprompt.txt 文件导入

功能区: 包含提示词和config.json 文件的编辑区域,以及一些基本的操作按钮

结果区: 用于展示模型的输出结果和一些状态信息

使用方法

首次使用的时候需要先点击菜单栏的配置按钮,进行模型接口的配置,配置完成后,关闭即可。

Max Generate Results 指最大生成结果数量,默认为3。

完成配置之后,就可以在主界面直接输入提示词,点击生成(Ctrl + G)按钮,即可生成结果。

如果有使用 Semantic Kernel的项目,可以点击打开(Ctrl + O)菜单,打开skprompt.txt 文件,文件内容会自动填充到编辑框中.

此时也可以看到多了一个config.json的Tab,点击编辑框右侧的Tab即可切换到 config.json 的编辑界面,可以对config.json 进行修改。

修改完成之后,点击保存(Ctrl + S)按钮,即可保存修改后的skprompt.txt 和 config.json 文件。

构建与贡献

该项目目前在Github上开源,使用.NET 7 + AvaloniaUI 进行开发,支持跨平台,目前提供了 Windows 的构建版本。

有兴趣的同学或者有跨平台需要的同学可以自行构建。

如果有任何问题或者建议,也欢迎提issue或者PR。


本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。


WE WANT YOU!

Prompt Playground: 一个简易的提示词调试工具的更多相关文章

  1. 免费Midjourney AI绘画Prompt提示词平台合集

    Midjourney AI绘图最关键的地方在于Prompt提示词写的好,一个好的提示词可以让AI模型创造出更优质的绘图,以下是8个免费的Midjourney Prompt提示词辅助平台. ​ 编辑切换 ...

  2. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

  3. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  4. Midjourney 提示词工具(10 个国内外最好最推荐的)

    Midjourney,是一个革命性的基于人工智能的艺术生成器,可以从被称为提示的简单文本描述中生成令人惊叹的图像.Midjourney已经迅速成为艺术家.设计师和营销人员的首选工具(包括像我这样根本不 ...

  5. 使用Phalcon框架开发一个简易的博客系统

    使用Phalcon PHP框架开发一个简易的博客系统(类似于CMS) 最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚 ...

  6. 实验楼 MySQL 基础课程 挑战:搭建一个简易的成绩管理系统的数据库

    传送门:https://www.shiyanlou.com/courses/running 介绍 现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩.数据库中有三张表分别用于记录学生信 ...

  7. Spring Security和 JWT两大利器来打造一个简易的权限系统。

    写在前面 关于 Spring Security Web系统的认证和权限模块也算是一个系统的基础设施了,几乎任何的互联网服务都会涉及到这方面的要求.在Java EE领域,成熟的安全框架解决方案一般有 A ...

  8. android开发学习---开发一个简易的短信发送器

    一.需求: 开发一个简易的短信发送器,输入:对方手机号码,短信内容,点击发送按钮,短信发送成功,对方手机成功收到短信. 其中要求短信内容过长时可以自动拆分,长度英文是160个英文,中文是70个,中英混 ...

  9. 从零实现一个简易的jQuery框架之二—核心思路详解

    如何读源码 jQuery整体框架甚是复杂,也不易读懂.但是若想要在前端的路上走得更远.更好,研究分析前端的框架无疑是进阶路上必经之路.但是庞大的源码往往让我们不知道从何处开始下手.在很长的时间里我也被 ...

  10. javascript基础修炼(12)——手把手教你造一个简易的require.js

    目录 一. 概述 二. require.js 2.1 基本用法 2.2 细说API设计 三. 造轮子 3.1 模块加载执行的步骤 3.2 代码框架 3.3 关键函数的代码实现 示例代码托管在我的代码仓 ...

随机推荐

  1. Python全栈开发工程师 day57 jQuery

    二.jQuery样式操作标签样式操作<!DOCTYPE html><html lang="en"><head> <meta charset ...

  2. 【Qt6】QWindow类可以做什么

    原来的水文标题是"用 VS Code 搞 Qt6",想想还是直接改为"Qt6",反正这个用不用 VS Code 也能搞.虽然我知道大伙伴们都很讨厌 CMake, ...

  3. redission分布式redis锁使用

    public void lock(String key, List<Long> idx) { if (CollectionUtils.isEmpty(idx)) { return; } i ...

  4. day07-优惠券秒杀03

    功能03-优惠券秒杀03 4.功能03-优惠券秒杀 4.6Redisson的分布式锁 Redis分布式锁-Redisson+RLock可重入锁实现篇 4.6.1基于setnx实现的分布式锁问题 我们在 ...

  5. 为HttpClient开启HTTP/2

    .Net Core在调用其他服务时,调用通常使用HttpClient,而HttpClient默认使用HTTP/1.1 . 配置 HttpClient 以使用 HTTP/2 h2 连接 自 .NET C ...

  6. Python 函数传递任意数量的实参

    函数传递任意数量的实参 *形参名,形参名中的星号让python创建了一个空元组,并将收到的所有值都封装到这个元组中 # 案例 *toppings 形参名中的星号让python创建了一个空元组,并将收到 ...

  7. selenium 执行js脚本

    使用 selenium 直接在当前页面中进行js交互 使用selenium 执行 Js 脚本 要使用 js 首先要知道 js 怎么用,现在举个简单得例子,就用12306举例子, 它的首页日期选择框是只 ...

  8. sourcetree和git无法识别新增文件

    在工程中新建文件,但是git和sourcetree无法识别,我是用的是Xcode添加的文件和图片,全都无法识别.例如,新建一个类文件,.h和.m都是别不出来,但是工程文件显示已经添加相对应的类,所以肯 ...

  9. Selenium - 浏览器操作

    Selenium - 浏览器操作 获取浏览器信息 from selenium import webdriver driver = webdriver.Chrome() driver.get(" ...

  10. Redis 高级特性 Redis Stream使用

    Redis Stream 简介 Redis Stream 是 Redis 5.0 版本新增加的数据结构. Stream从字面上看是流类型,但其实从功能上看,应该是Redis对消息队列(MQ,Messa ...