Prompt Playground 7月開(kāi)發(fā)記錄
Prompt Playground 2023年7月開(kāi)發(fā)記錄
上個(gè)月的時(shí)候,出于日常工作需求,做了一個(gè)簡(jiǎn)單的提示詞調(diào)試工具 Prompt Playground。
這個(gè)工具的初衷是為了方便測(cè)試,所以沒(méi)有做太多的功能,只是簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)提示詞的運(yùn)行界面,可以方便的調(diào)整參數(shù),查看結(jié)果。尤其是希望沒(méi)有開(kāi)發(fā)經(jīng)驗(yàn)的人也可以方便的使用。
但是由于對(duì)客戶(hù)端開(kāi)發(fā)不熟悉,所以在實(shí)現(xiàn)的過(guò)程中遇到了很多問(wèn)題,也花了很多時(shí)間去解決,所以把這個(gè)過(guò)程記錄下來(lái),希望能夠?qū)ζ渌擞兴鶐椭?/p>
Prompt Playground 的更新
樣式的更新
這個(gè)月更多的更新還是樣式相關(guān)的。
剛開(kāi)始的時(shí)候,只是為了實(shí)現(xiàn)基礎(chǔ)的功能,所以整體使用的大部分還是Avalonia原始的組件樣式,大部分的功能都需要通過(guò)鼠標(biāo)點(diǎn)擊按鈕來(lái)操作,于是界面上就放置了很明顯的按鈕。
于是最初的樣式是這樣的:

同時(shí)為了簡(jiǎn)單的個(gè)性化,又在所有能夠展示文字的地方都加上了一些emoji,這樣看起來(lái)就比較有趣了,但是仍然簡(jiǎn)陋。
其他的一些地方,就更不用說(shuō)了,像是配置界面就是最簡(jiǎn)單的表單樣式,沒(méi)有任何的美化。

經(jīng)過(guò)了些許的摸索和學(xué)習(xí)之后,嘗試在項(xiàng)目中引入了Semi.Avalonia,這是一個(gè)基于Avalonia的UI組件庫(kù),提供了很多現(xiàn)成的組件,可以直接使用。
像是Tab組件的樣式就有了很大的改變,于是就有了第二版的界面。

雖然還是原有emoji的風(fēng)格,但是整體的風(fēng)格上組件可以做的更加精巧。
后面經(jīng)過(guò)探索,引入了 Icons.Avalonia,將emoji替換成了圖標(biāo),同時(shí)也對(duì)配置界面進(jìn)行了一些調(diào)整,于是就有了現(xiàn)在的樣子。

配置窗口也做了一些簡(jiǎn)單的調(diào)整。

配置模式的優(yōu)化
0.1.0 版本中,所有的配置項(xiàng)都是配置模型下的一個(gè)字段,導(dǎo)致配置的重用和擴(kuò)展都比較困難。
于是在0.2.0 版本中,將配置項(xiàng)的配置模型改為了一個(gè)列表,不同的模型可以指定需要的配置項(xiàng),由此,可以實(shí)現(xiàn)不同模型的配置重用。
例如 Baidu ERNIE 模型和 Baidu ERNIE Turbo其實(shí)使用的相同的配置參數(shù),那么在配置的時(shí)候,切換模型就不需要重復(fù)配置了。
這項(xiàng)優(yōu)化也應(yīng)用到了 Embedding的配置上。
結(jié)果展示優(yōu)化
調(diào)試詞的運(yùn)行,不僅僅是需要看的生成結(jié)果,同時(shí)也需要看到生成消耗的Tokens數(shù)量,以及生成的時(shí)間。
于是在0.2.0 的更新中,就加入了這兩個(gè)信息的展示。

對(duì)接向量數(shù)據(jù)庫(kù)
Memory 是Semantic Kernel中最重要的一個(gè)功能,可以通過(guò) TextMemorySkill,在提示詞中加入相關(guān)信息,生成更加豐富的提示詞。
而向量數(shù)據(jù)庫(kù)則是Memory必備的配置,所以在0.3.0 版本中,加入了對(duì)向量數(shù)據(jù)庫(kù)的支持。
但是由于Memory需要的配置項(xiàng)較多, 目前也沒(méi)有進(jìn)行優(yōu)化,所以在配置的時(shí)候,需要手動(dòng)輸入所有的配置項(xiàng)。包括向量數(shù)據(jù)庫(kù)的信息,Embedding的信息。
同時(shí)在調(diào)用的時(shí)候,還需要提供 Collection、Limit 和 Relevance 參數(shù)。

接下來(lái)的更新計(jì)劃
- Core Skills(Plugins)的支持
- 優(yōu)化文件管理
- 結(jié)果的統(tǒng)計(jì)和分析
- 更名(Prompt Studio)
參與
該項(xiàng)目目前在Github上開(kāi)源,使用.NET 7 + AvaloniaUI 進(jìn)行開(kāi)發(fā),支持跨平臺(tái),歡迎大家參與。
如果有任何問(wèn)題或者建議,也歡迎提issue或者PR。
本作品采用知識(shí)共享署名-相同方式共享 4.0 國(guó)際許可協(xié)議進(jìn)行許可。

浙公網(wǎng)安備 33010602011771號(hào)