首页 > 其他分享 >Prompt Playground 7月开发记录

Prompt Playground 7月开发记录

时间:2023-08-07 20:33:29浏览次数:51  
标签:Prompt 记录 样式 配置 Playground 组件 Avalonia

Prompt Playground 2023年7月开发记录

上个月的时候,出于日常工作需求,做了一个简单的提示词调试工具 Prompt Playground。

这个工具的初衷是为了方便测试,所以没有做太多的功能,只是简单的实现了一个提示词的运行界面,可以方便的调整参数,查看结果。尤其是希望没有开发经验的人也可以方便的使用。

但是由于对客户端开发不熟悉,所以在实现的过程中遇到了很多问题,也花了很多时间去解决,所以把这个过程记录下来,希望能够对其他人有所帮助。

Prompt Playground 的更新

样式的更新

这个月更多的更新还是样式相关的。

刚开始的时候,只是为了实现基础的功能,所以整体使用的大部分还是Avalonia原始的组件样式,大部分的功能都需要通过鼠标点击按钮来操作,于是界面上就放置了很明显的按钮。

于是最初的样式是这样的:
0.1.0 主界面

同时为了简单的个性化,又在所有能够展示文字的地方都加上了一些emoji,这样看起来就比较有趣了,但是仍然简陋。

其他的一些地方,就更不用说了,像是配置界面就是最简单的表单样式,没有任何的美化。

0.1.0 配置界面

经过了些许的摸索和学习之后,尝试在项目中引入了Semi.Avalonia,这是一个基于Avalonia的UI组件库,提供了很多现成的组件,可以直接使用。

像是Tab组件的样式就有了很大的改变,于是就有了第二版的界面。

0.2.0 主界面

虽然还是原有emoji的风格,但是整体的风格上组件可以做的更加精巧。

后面经过探索,引入了 Icons.Avalonia,将emoji替换成了图标,同时也对配置界面进行了一些调整,于是就有了现在的样子。

0.3.0 主界面

配置窗口也做了一些简单的调整。

配置界面的优化

配置模式的优化

0.1.0 版本中,所有的配置项都是配置模型下的一个字段,导致配置的重用和扩展都比较困难。

于是在0.2.0 版本中,将配置项的配置模型改为了一个列表,不同的模型可以指定需要的配置项,由此,可以实现不同模型的配置重用。
例如 Baidu ERNIE 模型和 Baidu ERNIE Turbo其实使用的相同的配置参数,那么在配置的时候,切换模型就不需要重复配置了。
这项优化也应用到了 Embedding的配置上。

结果展示优化

调试词的运行,不仅仅是需要看的生成结果,同时也需要看到生成消耗的Tokens数量,以及生成的时间。

于是在0.2.0 的更新中,就加入了这两个信息的展示。

展示结果的优化

对接向量数据库

Memory 是Semantic Kernel中最重要的一个功能,可以通过 TextMemorySkill,在提示词中加入相关信息,生成更加丰富的提示词。

而向量数据库则是Memory必备的配置,所以在0.3.0 版本中,加入了对向量数据库的支持。

但是由于Memory需要的配置项较多, 目前也没有进行优化,所以在配置的时候,需要手动输入所有的配置项。包括向量数据库的信息,Embedding的信息。
同时在调用的时候,还需要提供 Collection、Limit 和 Relevance 参数。

向量数据库的配置

接下来的更新计划

  1. Core Skills(Plugins)的支持
  2. 优化文件管理
  3. 结果的统计和分析
  4. 更名(Prompt Studio)

参与

该项目目前在Github上开源,使用.NET 7 + AvaloniaUI 进行开发,支持跨平台,欢迎大家参与。

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


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


标签:Prompt,记录,样式,配置,Playground,组件,Avalonia
From: https://www.cnblogs.com/xbotter/p/17612655.html

相关文章

  • 记录--前端重新部署如何通知用户
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1.场景前端构建完上线,用户还停留还在老页面,用户不知道网页重新部署了,跳转页面的时候有时候js连接hash变了导致报错跳不过去,并且用户体验不到新功能。2.解决方案每次打包写入一个json文件,或者对比生成的script......
  • MySQL问题记录Can't connect to MySQL server on 'localhost' (10061)解决方法
    登录MySQL提示Can'tconnecttoMySQLserveron'localhost'(10061)进入安装目录bin目录,执行mysqld--install,启动MySQL点击查看代码cdD:\soft\MySQL\MySQLServer5.7\binmysqld--installnetstartmysql提示启动失败最后执行mysqld--initialize--user=root--......
  • Spring记录-01
    一、Spring三种思想1.loc思想:InversionofControl,控制反转,强调是在原来程序中创建中创建Bean的权利反转给第三方2.Dl思想:DependencyInjection,依赖注入,强调Bean之间的关系,这种关系由第三方去负责并管理3.AOP思想:AspectOrientedProgramming,面向切面编程,功能的横向抽取,主......
  • 解析json数据导出某个字段的值到excel(记录)
    记录一下导出代码publicstaticvoidmain(String[]args){ //将你的json数据放在txt文档里并复制路径到下面StringfilePath="E:/home/2023年需求/人才/20230801出表/job_mobile_json.txt";//替换成你的文件路径try{Stringcontent=r......
  • 【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoo
    文章目录一、报错信息二、解决方案(安装Hadoop运行环境)一、报错信息核心报错信息:WARNShell:Didnotfindwinutils.exe:java.io.FileNotFoundException:java.io.FileNotFoundException:HADOOP_HOMEandhadoop.home.dirareunset.在PyCharm中,调用PySpark执......
  • 【网站搭建】开源社区Flarum搭建记录
    环境服务器系统:腾讯云OpenCloudOS宝塔版本:免费版8.0.1Nginx:1.24.0MySQL:5.7.42PHP:8.1.21萌狼蓝天2023年8月7日PHP设置1.安装扩展:flieinfo、opcache、exif2.解除禁用函数:putenv、pcntl_signal、proc_open3.配置修改:max_execution_time=600,memory_limit=1024M创......
  • AT 下分记录
    7.30AGC063\(+30=1620\)B做法假WA了三次,为啥总是吃了罚时才能发现问题啊心态还是需要解决的问题。过完B啥都想不出来又自闭了......
  • java 用法记录
    1.列表拼接成字符串#1.1Stringresult=Joiner.on("_").join(list);#1.2Stringresult=list.stream().collect(Collectors.joining("_"));2.Java8的foreach()中使用return/break/continueforeach()处理集合时不能使用break和continue这两个方法可以试用return实现co......
  • 玩一玩通义千问Qwen开源版,Win11 RTX3060本地安装记录!
    大概在两天前,阿里做了一件大事儿。   就是开源了一个低配版的通义千问模型--通义千问-7B-Chat。这应该是国内第一个大厂开源的大语言模型吧。虽然是低配版,但是在各类测试里面都非常能打。官方介绍:Qwen-7B是基于Transformer的大语言模型,在超大......
  • 关于 LCA 的简单记录
    最近做了几道LCA的题目。所以总结一下。首先我们来回顾一下倍增求LCA的流程吧。首先是初始化:进行bfs。处理出每层的深度。处理每个节点的\(2^k\)级父亲,方式为一个递推,即为由\(2^{k-1}\)级祖先的\(2^{k-1}\)祖先推出\(2^k\)级祖先。然后是每次的查询:把y......