使用WPF或AspNetCore建立簡易版ChatGPT客戶端,打造屬於自己的AI助手

WeskyNet發表於2022-12-18
前言:前一天寫的一個ChatGPT服務端,貌似大家用起來還不是那麼方便,所以我順便用WPF和AspNetCore的webapi程式做個客戶端吧,透過客戶端來快速訪問chatgpt模型生成對話。
 
1、新建一個WPF專案,用來做第一個客戶端示例。
2、專案框架我這邊選擇的是.NET6,建議大家選擇.NET CORE2.2或以上環境,不然ChatGPT的庫會引用不成功。
 
3、引用下圖這兩個包,如圖。第一個是用來提供依賴注入的核心元件,第二個是用來快捷訪問OpenAI的我提前寫好的一個通用客戶端類庫。
 
4、WPF專案做點小調整,在App.Xaml裡面,把啟動項幹掉先。
 
5、App.xaml.cs裡面,新增如下功能程式碼。因為通用庫的方法實現使用了依賴注入的形式,所以此處就弄一個簡單的註冊方式來意思一下,就不搞別的IOC容器來做了,怎麼簡單怎麼來。
核心的兩個註冊選項:HttpClient、IOpenAiServices介面以及實現
6、隨便搞兩個輸入框和一個按鈕,給倆輸入框命個名,區分一哈,例如 Receive和Send。大家可以自己自定義,不用在意這些細節。
7、提供的客戶端訪問介面是非同步的,建議也用非同步的形式呼叫。在按鈕事件裡面進行實現,如圖所示。其他備註可以直接看圖文字描述。
8、執行程式,做個簡單測試,例如寫一個hello world。提供的答案是一個C程式程式碼的Hello world,看來訪問是沒得問題的,Bingo~
9、接下來,再做一個基於aspnetcore的webapi的客戶端試試。新建一個webapi專案。
10、此處我也選擇的是.NET 6框架版本。大佬們自己喜歡就行,版本不重要,.NET CORE2.2以及以上都可以用。
11、新增上面同款引用
12、新增註冊。
13、對IOpenAiServices服務進行注入。簡單起見,直接在預設的控制器裡面注入吧。
14、改造一下預設的方法,看圖即可。
中途插播我文章的原文連結,防止盜鏈。本文最初發表於:https://www.cnblogs.com/weskynet/p/16990125.html
如果其他地方看見該文章,作者不是Wesky或者WeskyNet,則大機率是盜版文章。
繼續~繼續~~~
15、啟動程式,走一個。例如寫一個Vue前端登入程式碼
 
16、大概可以看出內容,但是返回值直接看字串是比較頭大,剛好上面WPF有輸入框,那就丟過去看看效果。
17、啟動,瞅一眼效果,看起來好像還可以,基本上功能都涵蓋到了。比自己擼,還是快很多的。
18、既然WPF的客戶端都開了,那就順便我也再問一下WPF的前端程式碼,並使用MVVM模式,看看排版怎麼樣。貌似也幾乎寫的不差,包括了Xaml程式碼和ViewModel程式碼
19、切換回webapi專案,CallGPT3引數如下所示,所以message引數後面也可以自定義為我們自己的個性化調參使用。
 
 例如,內建的key過期了或者沒錢了我要傳一個自己的key來訪問
20、走一個,輸入請求對話的內容,以及自己的key,走一個。內容和返回,自行看圖~
 
21、以上就是本篇文章的全部內容,大佬們感興趣,歡迎自己把玩一番。要是覺得對你有幫助,歡迎轉發、評論、推薦點贊,謝謝各位大佬~
如果需要上面客戶端原始碼,也可以在我的個人公眾號【Dotnet Dancer】後臺回覆【聊天神器】即可獲取。
 

相關文章