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

Java SpringBoot實(shí)現(xiàn)調(diào)用OpenAI ChatGPT的相關(guān)接口(詳細(xì)教程)

這篇具有很好參考價(jià)值的文章主要介紹了Java SpringBoot實(shí)現(xiàn)調(diào)用OpenAI ChatGPT的相關(guān)接口(詳細(xì)教程)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大綱

說明

Java調(diào)用OpenAI接口,Java調(diào)用實(shí)現(xiàn)ChatGPT聊天,OpenAIAPI是一個(gè)自己封裝的OpenAI GPT-3聊天API的Java工具類,可用于通過Java代碼調(diào)用GPT-3模型進(jìn)行自然語(yǔ)言交互,實(shí)現(xiàn)智能聊天等功能。
通過調(diào)用GPT-3模型,輸入一段文本,返回機(jī)器人對(duì)話回復(fù)的文本。
附項(xiàng)目代碼:在本文最后面

OpenAI3.5模型版本使用

工具類

使用了Lombok以及hutool依賴
以下是自己封裝的工具類,只需寫一下自己的api就可以使用了哦

import cn.hutool.core.convert.ConvertException;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.experimental.UtilityClass;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author Astar
 * ClassName:OpenAIAPI.java
 * date:2023-03-03 16:49
 * Description:
 */
@UtilityClass
public class OpenAIAPI {
    /**
     * 聊天端點(diǎn)
     */
    String chatEndpoint = "https://api.openai.com/v1/chat/completions";
    /**
     * api密匙
     */
    String apiKey = "Bearer 你自己的key";

    /**
     * 發(fā)送消息
     *
     * @param txt 內(nèi)容
     * @return {@link String}
     */
    public String chat(String txt) {
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("model", "gpt-3.5-turbo");
        List<Map<String, String>> dataList = new ArrayList<>();
        dataList.add(new HashMap<String, String>(){{
            put("role", "user");
            put("content", txt);
        }});
        paramMap.put("messages", dataList);
        JSONObject message = null;
        try {
            String body = HttpRequest.post(chatEndpoint)
                .header("Authorization", apiKey)
                .header("Content-Type", "application/json")
                .body(JsonUtils.toJson(paramMap))
                .execute()
                .body();
            JSONObject jsonObject = JSONUtil.parseObj(body);
            JSONArray choices = jsonObject.getJSONArray("choices");
            JSONObject result = choices.get(0, JSONObject.class, Boolean.TRUE);
            message = result.getJSONObject("message");
        } catch (HttpException e) {
            return "出現(xiàn)了異常";
        } catch (ConvertException e) {
            return "出現(xiàn)了異常";
        }
        return message.getStr("content");
    }

    public static void main(String[] args) {
        System.out.println(chat("Hello,一個(gè)小浪吳啊"));
    }
}

參數(shù)說明:
txt:要發(fā)送的文本內(nèi)容。
返回值:機(jī)器人的回復(fù)文本。

測(cè)試

java實(shí)現(xiàn)openai audio,java,AI,java,spring boot,chatgpt

注意事項(xiàng)

  1. 在使用OpenAIAPI之前,需要先在OpenAI官網(wǎng)注冊(cè)賬號(hào),并獲取API密鑰。
  2. 在使用chat方法之前,需要先修改OpenAIAPI中的chatEndpoint和apiKey變量,分別指定API的URL和密鑰。
  3. 在使用chat方法之前,需要先確定使用的GPT-3模型和參數(shù)。
  4. 在使用chat方法時(shí),需要注意文本內(nèi)容的長(zhǎng)度和格式,以及網(wǎng)絡(luò)連接的穩(wěn)定性和速度。

代碼說明

這段代碼是一個(gè) Java 工具類,用于訪問 OpenAI 的 API 接口來進(jìn)行聊天。下面是一些重要的技術(shù)說明:

  1. 使用了 Java 的 Lombok 工具類,來提供 @UtilityClass 注解,使該類成為一個(gè)不可實(shí)例化的工具類。
  2. 定義了兩個(gè) String 類型的常量 chatEndpoint 和 apiKey,分別代表 OpenAI 的聊天 API 端點(diǎn)和 API 密鑰。
  3. 定義了一個(gè) chat 方法,用于發(fā)送聊天消息到 OpenAI 的 API 接口,輸入?yún)?shù)為 txt,代表聊天內(nèi)容。
  4. 使用了第三方 Java 工具類 Hutool 來進(jìn)行 HTTP 請(qǐng)求和 JSON 數(shù)據(jù)解析。其中,HttpRequest.post() 方法用于發(fā)送 POST 請(qǐng)求,JsonUtils.toJson() 方法用于將參數(shù) paramMap 轉(zhuǎn)換為 JSON 格式的字符串,JSONUtil.parseObj() 方法用于將接口返回的 JSON 字符串解析為 JSONObject 對(duì)象。
  5. 在發(fā)送請(qǐng)求時(shí),將請(qǐng)求參數(shù)封裝為一個(gè) Map 對(duì)象,其中 model 屬性代表使用的 GPT 模型,messages 屬性為一個(gè) List 對(duì)象,其中包含一個(gè) HashMap 對(duì)象,代表用戶的聊天消息。
  6. 在發(fā)送請(qǐng)求后,從接口返回的 JSON 數(shù)據(jù)中獲取到聊天機(jī)器人返回的消息,然后將消息的 content 屬性作為方法的返回值。
  7. 在異常處理中,使用了 Hutool 提供的 HttpException 和 ConvertException 異常類來處理異常情況。

總體來說,這段代碼使用了 Java 的 Hutool 工具類來發(fā)送 HTTP 請(qǐng)求和解析 JSON 數(shù)據(jù),從而實(shí)現(xiàn)了通過 OpenAI API 進(jìn)行聊天的功能。

后文

項(xiàng)目地址:https://gitee.com/wy521a/astar-weixin-mp

集成公眾號(hào)使用:https://gitee.com/wy521a/astar-weixin-mp文章來源地址http://www.zghlxwxcb.cn/news/detail-816035.html

到了這里,關(guān)于Java SpringBoot實(shí)現(xiàn)調(diào)用OpenAI ChatGPT的相關(guān)接口(詳細(xì)教程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 最詳細(xì)的SpringBoot實(shí)現(xiàn)接口校驗(yàn)簽名調(diào)用

    最詳細(xì)的SpringBoot實(shí)現(xiàn)接口校驗(yàn)簽名調(diào)用

    代碼地址:GitHub - passerbyYSQ/DemoRepository: 各種開發(fā)小demo 概念 開放接口 驗(yàn)簽 接口驗(yàn)簽調(diào)用流程 1. 約定簽名算法 2. 頒發(fā)非對(duì)稱密鑰對(duì) 3. 生成請(qǐng)求參數(shù)簽名 4. 請(qǐng)求攜帶簽名調(diào)用 代碼設(shè)計(jì) 1. 簽名配置類 2. 簽名管理類 3. 自定義驗(yàn)簽注解 4. AOP實(shí)現(xiàn)驗(yàn)簽邏輯 5. 解決請(qǐng)求體只能讀取一

    2024年02月09日
    瀏覽(18)
  • .net中最簡(jiǎn)單的http請(qǐng)求調(diào)用(比如調(diào)用chatgpt的openAI接口)

    支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 http請(qǐng)求調(diào)用是開發(fā)中經(jīng)常會(huì)用到的功能,因?yàn)?,很多第三方功能接口往往是通過http地址的形式提供的,比如:ChatGpt、OpenAI、短信服務(wù)、在線翻譯、地圖服務(wù)、語(yǔ)音智能、等… ? .net中調(diào)用http請(qǐng)

    2024年02月02日
    瀏覽(23)
  • java怎么調(diào)用openai接口

    java怎么調(diào)用openai接口

    OpenAI提供了一個(gè)REST API,可以通過Java調(diào)用??梢允褂肑ava的HttpClient類來發(fā)送HTTP請(qǐng)求,以調(diào)用OpenAI API。具體步驟如下: 1. 創(chuàng)建一個(gè)HttpClient對(duì)象,用于發(fā)送HTTP請(qǐng)求。 2. 構(gòu)造一個(gè)HttpPost對(duì)象,指定OpenAI API的URL。 3. 將請(qǐng)求參數(shù)添加到HttpPost對(duì)象中。 4. 使用HttpClient發(fā)送請(qǐng)求,并獲取

    2024年02月12日
    瀏覽(23)
  • Java調(diào)用ChatGPT的API接口實(shí)現(xiàn)對(duì)話與圖片生成

    有些魔法是需要做配置的。否則無法正確實(shí)現(xiàn)代碼測(cè)試。這里以我使用的工具為例說明。 在pom.xml文件中添加: Constants類中,聲明自己的API Key 其中,查看API Key的位置: https://platform.openai.com/account/api-keys 余額查詢: https://platform.openai.com/account/usage pom.xml文件中需要增加依賴:

    2024年02月07日
    瀏覽(24)
  • java調(diào)用chatgpt接口,實(shí)現(xiàn)專屬于自己的人工智能助手

    java調(diào)用chatgpt接口,實(shí)現(xiàn)專屬于自己的人工智能助手

    今天突然突發(fā)奇想,就想要用java來調(diào)用chatget的接口,實(shí)現(xiàn)自己的聊天機(jī)器人,但是網(wǎng)上找文章,屬實(shí)是少的可憐(可能是不讓發(fā)吧)。找到了一些文章,但是基本都是通過調(diào)用別人的庫(kù)來完成的,導(dǎo)入其他的jar還有不低的學(xué)習(xí)成本,于是就自己使用HttpClient5寫了一個(gè),在這里講

    2024年02月03日
    瀏覽(27)
  • 一文讀懂Springboot如何使用ChatGPT【OpenAI官方Springboot依賴,極強(qiáng)接口封裝】

    封裝了豐富的OpenAI 接口可直接使用 申請(qǐng)外國(guó)虛擬信用卡【Depay】 充值USTD虛擬貨幣【歐易】 USTD充值到Depay Depay 的USTD 轉(zhuǎn) USD虛擬貨幣 將USD貨幣存入虛擬信用卡 通過虛擬信用卡充值到ChatGPT 優(yōu)先ChatGPT試用用戶 暢享絲滑的響應(yīng)速度 優(yōu)先體驗(yàn)新功能 原文 非常感謝你從頭到尾閱讀

    2024年02月07日
    瀏覽(31)
  • AIGC: 關(guān)于ChatGPT中API接口調(diào)用相關(guān)準(zhǔn)備工作

    ChatGPT之API接口相關(guān) 通過頁(yè)面和GPT交流獲取信息相比直接調(diào)用GPT的API而言是非常有限的 頁(yè)面上的GPT是比較封閉的,而且只允許我們?nèi)ポ斎胛谋镜男畔?我們需要借助GPT的API開發(fā)來激發(fā)AI工具的無限可能,實(shí)現(xiàn)更多個(gè)性化需求 1 ) 使用API 使用API有一個(gè)前置的條件 注冊(cè)ChatGPT賬號(hào)

    2024年02月04日
    瀏覽(56)
  • Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)可連續(xù)對(duì)話和流式輸出

    Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)可連續(xù)對(duì)話和流式輸出

    源碼及更詳細(xì)的介紹說明參見Git上的 README.md 文檔 https://github.com/asleepyfish/chatgpt 本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo 流式輸出結(jié)合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatgpt-vue 后續(xù)使用方法和api版本更新均在Github的READM

    2024年02月09日
    瀏覽(46)
  • Java調(diào)用ChatGPT(基于SpringBoot),實(shí)現(xiàn)可連續(xù)對(duì)話和流式輸出的ChatGPT API(可自定義實(shí)現(xiàn)AI助手)

    Java調(diào)用ChatGPT(基于SpringBoot),實(shí)現(xiàn)可連續(xù)對(duì)話和流式輸出的ChatGPT API(可自定義實(shí)現(xiàn)AI助手)

    源碼及更詳細(xì)的介紹說明參見Git上的 README.md 文檔 https://github.com/asleepyfish/chatgpt 本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo 流式輸出結(jié)合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatgpt-vue 后續(xù)使用方法和api版本更新均在Github的READM

    2023年04月13日
    瀏覽(27)
  • 使用SSE技術(shù)調(diào)用OPENAI接口并實(shí)現(xiàn)流式輸出,用PHP語(yǔ)言實(shí)現(xiàn)

    作為AI語(yǔ)言模型服務(wù)提供商,OpenAI 提供了一系列的 API 接口,其中大部分需要通過 HTTP 請(qǐng)求訪問。對(duì)于大量數(shù)據(jù)的請(qǐng)求,傳統(tǒng)的同步請(qǐng)求會(huì)導(dǎo)致網(wǎng)絡(luò)響應(yīng)變慢,無法滿足實(shí)時(shí)數(shù)據(jù)處理和分析的需求。因此,為了優(yōu)化這些接口的調(diào)用效率,我們可以利用 SSE(Server Sent Events) 技術(shù)來

    2024年02月11日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包