国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot+vue實(shí)現(xiàn)ChatGPT逐字輸出打字效果

這篇具有很好參考價(jià)值的文章主要介紹了springboot+vue實(shí)現(xiàn)ChatGPT逐字輸出打字效果。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

在調(diào)用OpenAI GPT接口時(shí),如果不使用流式(stream:true)參數(shù),接口會等待所有數(shù)據(jù)生成完成后一次返回。這個(gè)等待時(shí)間可能會很長,給用戶帶來不良體驗(yàn)。

為了提升用戶體驗(yàn),我們需要使用流式調(diào)用方式。在這篇文章中,我們將介紹如何使用Spring Boot和Vue對接OpenAI GPT接口,并實(shí)現(xiàn)類似ChatGPT逐字輸出的效果。


一、效果

PC端
springboot+vue實(shí)現(xiàn)ChatGPT逐字輸出打字效果
移動(dòng)端
springboot+vue實(shí)現(xiàn)ChatGPT逐字輸出打字效果

二、Springboot后端

1.封裝請求OpenAI接口的客戶端

官方給的Example request:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

根據(jù)官方示例,用java封裝請求接口的客戶端。本文選擇使用OkHttpClient作為http請求客戶端。
注意:接口調(diào)用需要魔法

GtpClient.java文章來源地址http://www.zghlxwxcb.cn/news/detail-470356.html

@Component
public class GptClient {
   
    private final String COMPLETION_ENDPOINT = "https://api.openai.com/v1/chat/completions";
	// OpenAI的API key
    @Value("${gpt.api-key}")
    private String apiKey;
    // 魔法服務(wù)器地址
    @Value("${network.proxy-host}")
    private String proxyHost;
    // 魔法服務(wù)器端口
    @Value("${network.proxy-port}")
    private int proxyPort;

    OkHttpClient client = new OkHttpClient();
    MediaType mediaType;
    Request.Builder requestBuilder;

    @PostConstruct
    private void init() {
   
        client.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)));
        client.setConnectTimeout(60, TimeUnit.SECONDS);
        client.setReadTimeout(60, TimeUnit.SECONDS);
        mediaType = MediaType.parse("application/json; charset=utf-8");
        requestBuilder = new Request.Builder()
                .url(COMPLETION_ENDPOINT)
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiKey);
    }

    /**
     * 聊天接口
     * @param requestBody 聊天接口請求體
     * @return 接口請求響應(yīng)
     */
    public Response chat(ChatRequestBody requestBody) throws ChatException {
   
        RequestBody bodyOk = RequestBody.create(mediaType, requestBody.toString())<

到了這里,關(guān)于springboot+vue實(shí)現(xiàn)ChatGPT逐字輸出打字效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java集成chatGpt完整案例代碼(效果和官網(wǎng)一樣逐字輸出)

    java集成chatGpt完整案例代碼(效果和官網(wǎng)一樣逐字輸出)

    背景 要集成chatGpt參考我上一篇文章即可。但是,如果要實(shí)現(xiàn)官網(wǎng)一樣的效果,逐字輸出,難度就提升了不少了。經(jīng)過在官網(wǎng)的研究發(fā)現(xiàn)它應(yīng)該是采用了SSE技術(shù),這是一種最新的HTTP交互技術(shù)。SSE(Server-Sent Events):通俗解釋起來就是一種基于HTTP的,以流的形式由服務(wù)端持續(xù)向客戶

    2024年02月08日
    瀏覽(23)
  • ChatGPT-MP:基于ChatGPT實(shí)現(xiàn)的微信小程序,適配H5和WEB端,包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能

    ChatGPT-MP:基于ChatGPT實(shí)現(xiàn)的微信小程序,適配H5和WEB端,包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能

    包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能。 開源版禁止商用,僅供學(xué)習(xí)交流,禁止倒賣。 感謝Star! 技術(shù)棧:JDK8 + SpringBoot + Vue2 + Uniapp + Mysql Github地址:https://github.com/oldinaction/ChatGPT-MP Gitee地址(國內(nèi)訪問更快):https://gitee.com

    2024年02月09日
    瀏覽(26)
  • WPF實(shí)現(xiàn)類似ChatGPT的逐字打印效果

    WPF實(shí)現(xiàn)類似ChatGPT的逐字打印效果

    前一段時(shí)間ChatGPT類的應(yīng)用十分火爆,這類應(yīng)用在回答用戶的問題時(shí)逐字打印輸出,像極了真人打字回復(fù)消息。出于對這個(gè)效果的興趣,決定用WPF模擬這個(gè)效果。 真實(shí)的ChatGPT逐字輸出效果涉及其語言生成模型原理以及服務(wù)端與前端通信機(jī)制,本文不做過多闡述,重點(diǎn)是如何用

    2024年02月13日
    瀏覽(19)
  • ChatGPT-MP:基于GPT實(shí)現(xiàn)的微信小程序,適配H5和WEB端,包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能

    ChatGPT-MP:基于GPT實(shí)現(xiàn)的微信小程序,適配H5和WEB端,包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能

    包含前后臺,支持打字效果輸出流式輸出,支持AI聊天次數(shù)限制,支持分享增加次數(shù)等功能。 開源版禁止商用,僅供學(xué)習(xí)交流,禁止倒賣。 感謝Star! 技術(shù)棧:JDK8 + SpringBoot + Vue2 + Uniapp + Mysql Github地址:https://github.com/oldinaction/ChatGPT-MP Gitee地址(國內(nèi)訪問更快):https://gitee.com

    2024年02月15日
    瀏覽(29)
  • Android okHttp-sse 實(shí)現(xiàn)chatgpt逐字逐句效果

    1. 什么是SSE Server-Send Events 服務(wù)器發(fā)送事件,簡稱SSE。服務(wù)器主動(dòng)向客戶端推送消息,我們常見的有 WebSocket (SignalR) ,SSE 也是其中一種。 ? ? SSE 是HTML5規(guī)范的一部分,該規(guī)范非常簡單,主要由兩部分組成:第一部分是服務(wù)端與瀏覽器端的通訊協(xié)議(Http協(xié)議),第二部分是

    2024年02月07日
    瀏覽(21)
  • 如何實(shí)現(xiàn)chatgpt的打字機(jī)效果

    如何實(shí)現(xiàn)chatgpt的打字機(jī)效果

    點(diǎn)擊↑上方↑藍(lán)色“ 編了個(gè)程 ”關(guān)注我~ 這是Yasin的第 88 篇原創(chuàng)文章 最近在搭建chat gpt代理的時(shí)候,發(fā)現(xiàn)自己的配置雖然能夠調(diào)通接口,返回?cái)?shù)據(jù),但是結(jié)果是一次性顯示出來的,不像之前的chat gpt的官網(wǎng)demo那樣實(shí)現(xiàn)了打字機(jī)效果,一個(gè)字一個(gè)字出來。 所以研究了一下chat

    2023年04月18日
    瀏覽(29)
  • 前端開發(fā)攻略---實(shí)現(xiàn)與ChatGPT同款光標(biāo)閃爍打字效果。

    前端開發(fā)攻略---實(shí)現(xiàn)與ChatGPT同款光標(biāo)閃爍打字效果。

    創(chuàng)建一個(gè)空字符串? strp ?用于存儲逐字打印的文本內(nèi)容,以及一個(gè)計(jì)數(shù)器? i ?用于跟蹤當(dāng)前打印到的字符的索引。 編寫? print1() ?函數(shù),該函數(shù)負(fù)責(zé)實(shí)現(xiàn)文本的逐字打印效果。在函數(shù)內(nèi)部,通過檢查? textStr ?中的字符來逐個(gè)構(gòu)建? strp ?字符串,并將其顯示在 HTML 頁面上的

    2024年04月17日
    瀏覽(24)
  • Vue3實(shí)現(xiàn)打字機(jī)效果

    typeit 是一款輕量級打字機(jī)特效插件。該打印機(jī)特效可以設(shè)置打字速度,是否顯示光標(biāo),是否換行和延遲時(shí)間等屬性,它可以打印單行文本和多行文本,并具有可縮放、響應(yīng)式等特點(diǎn)。官方文檔

    2024年02月02日
    瀏覽(22)
  • 微信小程序-接入sse數(shù)據(jù)流并實(shí)現(xiàn)打字機(jī)效果( ChatGPT )

    微信小程序-接入sse數(shù)據(jù)流并實(shí)現(xiàn)打字機(jī)效果( ChatGPT )

    從流中獲取的數(shù)據(jù)格式如下 小程序調(diào)用SSE接口 我這邊接收到的數(shù)據(jù)類型為Uint8Array,需要處理成text文本(如上圖) 使對話有打字機(jī)效果 參考自:小程序?qū)崿F(xiàn) ChatGPT 聊天打字兼自動(dòng)滾動(dòng)效果 完整代碼

    2024年04月09日
    瀏覽(55)
  • Vue3實(shí)現(xiàn)酷炫打字機(jī)效果:讓你的網(wǎng)站文字動(dòng)起來

    Vue3實(shí)現(xiàn)酷炫打字機(jī)效果:讓你的網(wǎng)站文字動(dòng)起來

    ?創(chuàng)作者:陳書予 ??個(gè)人主頁:陳書予的個(gè)人主頁 ??陳書予的個(gè)人社區(qū),歡迎你的加入: 陳書予的社區(qū) ??專欄地址: 三十天精通 Vue 3

    2024年02月05日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包