【開源免費】使用Spring Boot和Html實現ChatGPT,1:億還原,將就看

来源:https://www.cnblogs.com/coder-heidong/archive/2023/03/15/17220353.html
-Advertisement-
Play Games

highlight: a11y-dark 簡介 前段時間寫了一個Chatgpt的Java版SDK開源地址:chatgpt-java歡迎使用。但由於原來OpenAI 並沒有支持官網的chatgpt模型,所以使用起來相對沒有官網那麼智能完善,所以就沒有寫出一個demo項目,只開源了Open AI的SDK ...


highlight: a11y-dark

簡介

前段時間寫了一個Chatgpt的Java版SDK開源地址:chatgpt-java歡迎使用。但由於原來OpenAI 並沒有支持官網的chatgpt模型,所以使用起來相對沒有官網那麼智能完善,所以就沒有寫出一個demo項目,只開源了Open AI的SDK而已。但是在三月的時候官方更新了API文檔支持最新版本GPT-3.5-Turbo模型以及whisper-1模型,增加chat聊天模型,這就很nice了,於是動手寫了一個戰損版的ChatGPT。

其實也很簡單,使用Spring Boot對chat相關的sdk進行了介面實現,最終效果和官網也是有一丟丟相似的,實現了流式輸出。

開源項目地址:https://github.com/Grt1228/chatgpt-steam-output

ChatGPT SDK開源地址:https://github.com/Grt1228/chatgpt-java

先上效果圖

image
image

技術簡介

前端主要用到的就是SSE這個東西。不瞭解的同學可以百度下EventSource。
後端的話也是這個SSE實現長鏈接,主義代碼就是OpenAIEventSourceListener

項目部署

拉去源代碼

git clone https://github.com/Grt1228/chatgpt-steam-output

修改配置

修改application.properties文件
預設8000埠,可以自己修改,修改埠記得將1.html文件的8000埠也替換掉

server.port=8000
chatgpt.apiKey=配置自己的key
chatgpt.apiHost=配置opai的Api Host地址

運行

運行ChatgptSteamOutputApplication

com.unfbx.chatgptsteamoutput.ChatgptSteamOutputApplication

運行成功後打開瀏覽器:

http://localhost:8000/

能打開此頁面表示運行成功

image

總結

代碼其實很簡單,小伙伴們可以下載代碼來看下。

最後小伙伴們覺得是不是1:億還原!!!

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 釘釘單元化從2018年開始到今年已經是第五個年頭了,五年的時間,釘釘單元化迭代了三個版本,從最初的毛頭小子,到達今年已經小有成就。今天想借這個場來和大家分享我們單元化的心路歷程和一些最佳實踐。本文要分享的內容只涉及部分內容,無法做到面面俱到,主要是想在同路人中形成共鳴,進而能復用一些架構或者系統。在... ...
  • 觀察者模式 介紹 觀察者模式是極其重要的一個設計模式,在許多框架都使用了,以及實際開發中也會用到。 定義對象之間的一種一對多的依賴關係,使得每當一個對象的狀態發生變化時,其相關的依賴對象都可以得到通知並被自動更新。主要用於多個不同的對象對一個對象的某個方法會做出不同的反應! 以不同觀察者從同一個天氣 ...
  • 1. 回收 1.1. 找到不使用的對象 1.2. 釋放它們的記憶體 1.3. 壓縮堆 1.4. 合在一起稱為回收 2. Throughput回收器 2.1. 工作細節比較簡單 2.1.1. 可以在同一個GC周期內完成回收 2.1.2. 在單次操作過程中回收新生代或老年代 2.2. Minor GC 2 ...
  • 背景 業務系統開發時,你是否踩過這樣的坑: 業務說列表篩選姓名精準查詢查不到人? 導入數據時,明明看起來一樣的ID卻匹配不到DB里的數據? 看起來一樣的內容,SQL Group By 時出現好幾行? …… DEBUG後發現,原來要麼時用戶傳入或者導入的數據里有個空格,要麼是資料庫里不知道什麼時候已經 ...
  • P1 環境搭建 包括java,idea,maven配置,以及在idea中配置maven。 註:在files->New Project Settings中配置maven路徑,jdk版本1.8,不然重啟會失效 P2 創建springboot項目,熱部署 1、創建springboot項目時type選Mav ...
  • 一、用set方法去重後與原列表長度比較 set會生成一個元素無序且不重覆的可迭代對象,也就是我們常說的去重set會生成一個元素無序且不重覆的可迭代對象,也就是我們常說的去重 lst = [1,3,5,3,4,4,2,9,6,7] set_lst=set(lst) if len(set_lst)==l ...
  • 1 簡介 這個項目是基於 SpringBoot和 Vue 開發的地方美食系統,包括系統功能模塊,管理員功能模塊,用戶管理模塊,功能齊全,可以作為畢業設計,課程設計等。源碼下載下來,進行一些簡單的部署,就可以使用,都有對應的教程。 2 技術棧 開發語言:Java 框架:springboot JDK版本 ...
  • 最近ChatGPT蠻火的,今天試著讓ta寫了一篇數據分析實戰案例,大家來評價一下! 一、數據 您的團隊已經為您提供了一些游戲數據,包括玩家的行為和收入情況。以下是數據的一些特征: user_id: 玩家ID date: 游戲日期 level: 玩家達到的游戲等級 revenue: 玩家在游戲中花費的 ...
一周排行
    -Advertisement-
    Play Games
  • 周末,寫點簡單的水一下。 新版本的vs創建項目的時候可以選擇自帶一個swagger。然而這隻是基本的swagger功能。 幾個介面無所謂啦,隨著介面越來越多,就這麼丟給你,一時間也會懵逼,所以這篇文章要做的有兩個功能。 給swagger文檔添加註釋 給swagger添加切換“版本”的功能(也可以理解 ...
  • 大家好,我是沙漠盡頭的狼。 本文首發於Dotnet9,介紹使用Lib.Harmony庫攔截第三方.NET庫方法,達到不修改其源碼並能實現修改方法邏輯、預期行為的效果,並且不限於只攔截public訪問修飾的類及方法,行文目錄: 什麼是方法攔截? 示常式序攔截 非public方法怎麼攔截? 總結 1. ...
  • 問題代碼: xmal:一個按鈕+一個顯示框 1 <Button Width="100" Height="50" Margin="10" Click="Button_Click">test</Button> 2 <TextBox x:Name="display" Width="300" Height= ...
  • 前置條件 ​ 阿裡雲伺服器一臺(可在購買伺服器時勾選安裝寶塔選項,免去後面的寶塔安裝) ​ 設置阿裡雲伺服器密碼並登陸伺服器 ​ 以下操作均在伺服器Linux中進行(使用遠程連接工具登錄) 寶塔登錄 登錄阿裡雲伺服器在Linux命令行中輸入bt,查看寶塔信息 ​ 根據寶塔信息提供的網站登陸寶塔服務( ...
  • GetTokenInformation 用於檢索進程或線程的令牌(Token)信息。Token是一個數據結構,其包含有關進程或線程的安全上下文,代表當前用戶或服務的安全標識符和許可權信息。GetTokenInformation函數也可以用來獲取這些安全信息,通常用於在運行時檢查某個進程或線程的許可權或安... ...
  • matplotlib 在1.0版本之前其實是不支持3D圖形繪製的。 後來的版本中,matplotlib加入了3D圖形的支持,不僅僅是為了使數據的展示更加生動和有趣。更重要的是,由於多了一個維度,擴展了其展示數據分佈和關係的能力,可以一次從三個維度來比較數據。 下麵介紹在matplotlib中繪製各類 ...
  • 編寫一個App就能編譯發佈到iOS、Android和Web等各大平臺的跨平臺技術,各大廠商一直都有研究和發佈對應技術產品,目前最熱門的莫過於Flutter框架了。而Dart作為其唯一的編程語言,今天我們開始來體驗一下…… ...
  • 實現基本的線程池 前提:我們要實現的線程池有如下功能: 基本的線程池模型 能提交和運行任務 能正常關閉線程池 線程的拒絕策略 線程池擴容 縮容線程池 代碼地址: 1、線程池的介紹? 線程池是什麼? 線程池是一種利用池化技術來管理線程的一種技術。 當沒有線程池的時候,我們如何創建線程? 繼承Threa ...
  • SDRAM基本信息 儲存能力計算 4X16X4=256(Mbit),註意不是MByte SDRAM控制 sdram包含兩個部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其頂層為SDRAM的控制模塊內部實例化了5個模塊,有初始化、自刷新、寫和讀模塊,還有一個仲裁模塊對這四個不 ...
  • 歡迎訪問我的GitHub 這裡分類和彙總了欣宸的全部原創(含配套源碼):https://github.com/zq2599/blog_demos 本篇概覽 欣宸正在為接下新的Java雲原生實戰系列原創做準備,既然是實戰,少不了一套雲原生環境,以下內容是必不可少的: linux操作系統 kuberne ...