最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Kotlin寫個(gè)chatgpt client,然而卻連不上?

2023-03-07 10:13 作者:pathologyenigma  | 我要投稿

Kotlin是個(gè)什么東西,想必各位都知道,尤其是一些安卓工程師應(yīng)當(dāng)是相當(dāng)熟悉,最近正好openai的api更新了gpt-3.5的支持,找了一下官方和社區(qū)的各語言的binding,沒有在下喜歡的rust,go語言雖會但不喜歡,crystal的那個(gè)3年未更新,scala看不出來是scala3還是scala2不敢隨便動手,PHP嘛(雖然是“最好的”語言,但是我真的實(shí)際用過,所以就......),python這語言在下從未系統(tǒng)學(xué)過(大一新生的時(shí)候作為學(xué)院的計(jì)算機(jī)協(xié)會的考核科目,當(dāng)時(shí)是安排所有人自學(xué),然后考試來著,也就當(dāng)時(shí)學(xué)了點(diǎn)皮毛),Ruby不熟(是的,crystal會一點(diǎn),但ruby只能說不熟),R語言想必很多人可能甚至沒有聽說過,swift的嘛在下倒是安裝了一個(gè),但由于某些問題,在windows或者linux上其編譯器總是有點(diǎn)水土不服,unity和虛幻的binding就有點(diǎn)過了,至于c#嘛,和不選擇java的理由類似,語法太啰嗦了

說了那么多廢話其實(shí)就是為自己開個(gè)kotlin的新坑找了點(diǎn)借口,具體內(nèi)容如題

先簡單的認(rèn)識一下kotlin,各位可以在其官網(wǎng)選擇為java開發(fā)者準(zhǔn)備的文檔,花上片刻便可快速上手,由于其買IDE送語言的特點(diǎn),我們需要安裝IntelliJ IDEA或者Android studio(不裝也行,但vscode并沒有足夠好用的插件,最后還是得使用IDEA)

廢話不多說,直接一個(gè)spring reactive webflux項(xiàng)目(在spring starter那里直接選就行了),這里我選擇的java版本是19,語言當(dāng)然要選擇kotlin(不然豈不是java教程?),記得選gradle而不是maven

下載完成后,依賴大概是這樣(阿b居然沒有kotlin的代碼塊):

簡單的寫個(gè)route,看看能不能跑起來:

不出意外的話,8080端口下的/路徑應(yīng)當(dāng)有一句unimplemented!

那么我們其實(shí)就很簡單的需要搞一個(gè)頁面來顯示聊天,然后一個(gè)處理聊天信息并發(fā)給chatgpt,處理完以后返回給客戶端的接口

我們可以很簡單的就搞一個(gè)ws,來接收服務(wù)器消息,也可以直接作為返回值發(fā)給客戶端

這里不妨升級一下難度,搞一個(gè)graphql api來處理請求和返回消息,此時(shí)其實(shí)就只有一個(gè)query和一個(gè)subscription或者只有一個(gè)query,但也能稍微熟悉一下語言(是的,其實(shí)我不會kotlin)

那么我們既然已經(jīng)用了spring,就去找該框架下的graphql解決方案吧

由于spring的官方資料幾乎99%都是java的,我們需要想辦法替換為等價(jià)的kotlin代碼,這里就不細(xì)說java版本直接給出kotlin的版本(畢竟人人都會點(diǎn)java對吧)

簡單的編寫一下schema:

簡單來說該項(xiàng)目就只有兩個(gè)接口,一個(gè)query(其實(shí)如果你需要在服務(wù)器記錄聊天歷史,保存聊天相關(guān)的東西,那么此時(shí)該行為應(yīng)該為一個(gè)mutation,而且此時(shí)將需要額外的query來獲取聊天歷史記錄),一個(gè)subscription

這里為了測試我們先將query的返回值改成String,畢竟核心邏輯失敗了也就沒有后續(xù)了

那么我需要加入一些依賴:

然后簡單的修改一下controller(這里需要各位填寫自己的token):

對于這個(gè)人均java高手的時(shí)代,這點(diǎn)代碼想必也無需在下多言

然而,在下屢次嘗試均只能得到連接超時(shí)的提示,多次嘗試后,現(xiàn)在更是連openai的官網(wǎng)都進(jìn)不去了

原因不清楚,但各位如果使用上述代碼成功的話,不妨告知在下

為了確定是否為在下使用的技術(shù)棧的問題,在下分別嘗試了官方的nodejs項(xiàng)目,和自己用普通的post請求發(fā)請求到api,均返回socket超時(shí)(是否科學(xué)上網(wǎng)情況下均嘗試過,結(jié)果相同)

nodejs項(xiàng)目超時(shí)
直接發(fā)post請求超時(shí)

各位如果知道究竟是什么原因的,不妨指點(diǎn)在下一番,不勝感激

本文本來是找個(gè)接口嘗試kotlin,但選擇的項(xiàng)目以失敗告終,或許還會有kotlin的系列,但考慮到在下本身更喜歡.net系的東西,可能會做F#的內(nèi)容也不一定


Kotlin寫個(gè)chatgpt client,然而卻連不上?的評論 (共 條)

分享到微博請遵守國家法律
江西省| 宜君县| 大理市| 临邑县| 泾川县| 临城县| 奈曼旗| 邢台市| 昭通市| 郴州市| 修水县| 吴旗县| 潮州市| 宜春市| 肥西县| 寿阳县| 观塘区| 常州市| 定襄县| 虎林市| 北京市| 胶州市| 武安市| 安岳县| 安达市| 黄大仙区| 岳普湖县| 大同市| 黄陵县| 芜湖市| 周口市| 军事| 汝城县| 交口县| 博罗县| 鹰潭市| 桂阳县| 达日县| 青阳县| 五指山市| 伊通|