日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

使用 Spring Boot 創建自己的 ChatGPT 應用程序

來源: 責編: 時間:2024-01-18 17:40:35 281觀看
導讀在本篇文中,將解釋如何與OpenAI聊天完成 API 集成以使用它們并創建自己的 ChatGPT 版本。將使用Spring Boot程序與ChatGPT的 開放API集成。我們將Spring Boot程序公開一個 REST 端點,它將以requestParam的形式發起請求,

SPk28資訊網——每日最新資訊28at.com

在本篇文中,將解釋如何與OpenAI聊天完成 API 集成以使用它們并創建自己的 ChatGPT 版本。將使用Spring Boot程序與ChatGPT的 開放API集成。SPk28資訊網——每日最新資訊28at.com

我們將Spring Boot程序公開一個 REST 端點,它將以requestParam的形式發起請求,然后對其進行處理,并以可讀的文本格式返回響應。SPk28資訊網——每日最新資訊28at.com

讓我們按照以下步驟操作:SPk28資訊網——每日最新資訊28at.com

前提條件

我們將使用OpenAI的ChatGPT完成API在我們程序里的調用。SPk28資訊網——每日最新資訊28at.com

該API的各個重要參數描述如下:SPk28資訊網——每日最新資訊28at.com

模型: 我們將向“gpt-3.5-turbo”發送請求SPk28資訊網——每日最新資訊28at.com

GPT-3.5 Turbo是一種極其強大的人工智能驅動的語言模型。它擁有 8192 個處理器核心和多達 3000 億個參數,是迄今為止最大的語言模型之一。在廣泛的自然語言處理任務中表現優秀,可以用于生成文章、回答問題、對話、翻譯和編程等多種應用場景。它的能力使得人們可以通過自然語言與計算機進行更加自然、靈活和高效的交互。SPk28資訊網——每日最新資訊28at.com

Messages 這表示發送到模型的實際請求類,以便模型可以解析消息并以人們可讀的格式生成相應的響應。SPk28資訊網——每日最新資訊28at.com

包含兩個子屬性:SPk28資訊網——每日最新資訊28at.com

role 指定消息的發送者(請求時為“user”,響應時為“assistant”)。SPk28資訊網——每日最新資訊28at.com

content: 這才是真正的消息。SPk28資訊網——每日最新資訊28at.com

Message DTO 如下所示:SPk28資訊網——每日最新資訊28at.com

public class Message {    private String role;    private String content;    // getters & setters}

話不多說,讓我們開始與我們的 Spring Boot 應用程序集成。SPk28資訊網——每日最新資訊28at.com

創建一個基本的 Spring Boot 應用程序。為此,請前往start.spring.io并使用以下選擇:
我們只需要 Spring Web 依賴項:
SPk28資訊網——每日最新資訊28at.com

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId>  </dependency>

創建一個Controller 代碼:SPk28資訊網——每日最新資訊28at.com

package com.akash.mychatGPT.controller;import com.akash.mychatGPT.dtos.ChatRequest;import com.akash.mychatGPT.dtos.ChatResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate;@RestControllerpublic class ChatController {    @Qualifier("openaiRestTemplate")    @Autowired    private RestTemplate restTemplate;    @Value("${openai.model}")    private String model;    @Value("${openai.api.url}")    private String apiUrl;    @GetMapping("/chat")    public String chat(@RequestParam String prompt) {        // 創建請求        ChatRequest request = new ChatRequest(model, prompt, 1, 1.1);        // 調用API        ChatResponse response = restTemplate.postForObject(apiUrl, request, ChatResponse.class);        if (response == null || response.getChoices() == null || response.getChoices().isEmpty()) {            return "No response";        }        // 返回響應        return response.getChoices().get(0).getMessage().getContent();    }}

創建一個ChatRequest類:SPk28資訊網——每日最新資訊28at.com

package com.akash.mychatGPT.dtos;import java.util.ArrayList;import java.util.List;public class ChatRequest {    private String model;    private List<Message> messages;    private int n;// 如果我們想增加要生成的響應的數量,可以指定。默認值為1。    private double temperature;// 控制響應的隨機性。默認值為1 (大多數隨機)。         // 構造方法, Getters & setters}

在這里,我們使用以下屬性,將其放入 application.properties 中:SPk28資訊網——每日最新資訊28at.com

openai.model=gpt-3.5-turboopenai.api.url=https://api.openai.com/v1/chat/completionsopenai.api.key=<generated_key_goes_here>

重要提示:關于 OpenAI API 密鑰的說明:

OpenAI 允許生成唯一的 API 密鑰來使用 OpenAI API。為此,請點擊(
https://platform.openai.com/account/api-keys)。在這里,需要注冊并創建 API 密鑰(如下面的快照所示)。確保保證其安全,一定保存好!
SPk28資訊網——每日最新資訊28at.com

SPk28資訊網——每日最新資訊28at.com

單擊“創建新密鑰”并按照屏幕上的步驟操作。就可以擁有了自己的 OpenAI API 密鑰。如果沒有注冊過,想體驗一下的話,私信我發你體key。SPk28資訊網——每日最新資訊28at.com

接下來,我們用于RestTemplate調用 OpenAI API URL。因此,讓我們添加一個攔截器,如下所示:SPk28資訊網——每日最新資訊28at.com

package com.akash.mychatGPT.config;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.client.RestTemplate;@Configurationpublic class OpenAIRestTemplateConfig {    @Value("${openai.api.key}")    private String openaiApiKey;    @Bean    @Qualifier("openaiRestTemplate")    public RestTemplate openaiRestTemplate() {        RestTemplate restTemplate = new RestTemplate();        restTemplate.getInterceptors().add((request, body, execution) -> {            request.getHeaders().add("Authorization", "Bearer " + openaiApiKey);            return execution.execute(request, body);        });        return restTemplate;    }}

攔截器攔截請求并將 OpenAI API 密鑰添加到請求標頭中。SPk28資訊網——每日最新資訊28at.com

就是這樣,現在我們可以簡單地使用主類運行應用程序并開始調用 API。SPk28資訊網——每日最新資訊28at.com

package com.akash.mychatGPT;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class MyChatGptApplication {	public static void main(String[] args) {		SpringApplication.run(MyChatGptApplication.class, args);	}}

測試

本次使用Postman 進行演示。將想要問的問題傳遞給該模型。SPk28資訊網——每日最新資訊28at.com

例子#1

http://localhost:8080/chat?prompt=what are some good Spring Boot libraries。SPk28資訊網——每日最新資訊28at.com

SPk28資訊網——每日最新資訊28at.com

例子#2

SPk28資訊網——每日最新資訊28at.com

GPT 3.5 Turbo 模型足夠先進,可以表現出高度真實的響應。(由于有數十億行文本,該模型已經過訓練)。SPk28資訊網——每日最新資訊28at.com

注意:對 OpenAI API curl 的實際調用如下所示:SPk28資訊網——每日最新資訊28at.com

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

注意事項

在開發應用程序時,以下是可能遇到的常見問題。SPk28資訊網——每日最新資訊28at.com

問題1:SPk28資訊網——每日最新資訊28at.com

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.akash.mychatGPT.Message` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 10, column: 9] (through reference chain: com.akash.mychatGPT.ChatResponse["choices"]->java.util.ArrayList[0]->com.akash.mychatGPT.ChatResponse$Choice["message"])

確保創建一個無參數構造函數,并為以下對象提供 getter 和 setter:SPk28資訊網——每日最新資訊28at.com

問題2:SPk28資訊網——每日最新資訊28at.com

org.springframework.web.client.HttpClientErrorException$TooManyRequests: 429 Too Many Requests: "{<EOL>    "error": {<EOL>        "message": "You exceeded your current quota, please check your plan and billing details.",<EOL>        "type": "insufficient_quota",<EOL>        "param": null,<EOL>        "code": null<EOL>    }<EOL>}<EOL>"

OpenAI 提供了基本配額。當前電子郵件 ID 的配額已用完,需要使用了新的電子郵件 ID。SPk28資訊網——每日最新資訊28at.com

問題3:SPk28資訊網——每日最新資訊28at.com

org.springframework.web.client.HttpClientErrorException$TooManyRequests: 429 Too Many Requests: "{<EOL>    "error": {<EOL>        "message": "Rate limit reached for default-gpt-3.5-turbo in organization org-V9XKg3mYkRRTJhHWq1lYjVtS on requests per min. Limit: 3 / min. Please try again in 20s. Contact us through our help center at help.openai.com if you continue to have issues. Please add a payment method to your account to increase your rate limit. Visit https://platform.openai.com/account/billing to add a payment method.",<EOL>        "type": "requests",<EOL>        "param": null,<EOL>        "code": null<EOL>    }<EOL>}<EOL>"

一段時間后嘗試調用 API。(為了安全起見,良好的工作時間是 30 分鐘)。SPk28資訊網——每日最新資訊28at.com

總結

在這篇短文中,我們了解了 OpenAI 的 GPT 3.5 Turbo 模型。如何生成供個人使用的密鑰。SPk28資訊網——每日最新資訊28at.com

然后,我們還研究了將常用的 Spring Boot 應用程序與 OpenAI 聊天完成 API 集成、對端點進行實際調用,并驗證了響應。SPk28資訊網——每日最新資訊28at.com

注意事項

OpenAI 的 API 是受監管的資源。我們對 API 的調用量是有限的,可以在此處進行跟蹤。SPk28資訊網——每日最新資訊28at.com

SPk28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-64509-0.html使用 Spring Boot 創建自己的 ChatGPT 應用程序

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深入探討API網關APISIX中自定義Java插件在真實項目中的運用

下一篇: Swift 枚舉類型,你知道幾個?

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲三级视频| 伊人久久大香线蕉综合热线| 欧美日韩三区| 国产精品美女久久久久久免费 | 欧美精品福利在线| 欧美精品九九| 国产精品一区二区久久精品| 激情久久五月| 一区二区免费看| 亚洲欧美日本在线| 久久精品视频99| 欧美噜噜久久久xxx| 国产美女精品在线| 亚洲欧洲日本专区| 亚洲午夜在线视频| 久久亚洲一区| 国产精品嫩草久久久久| 激情亚洲成人| 亚洲午夜国产一区99re久久| 久久久久久一区| 欧美三级不卡| 在线看无码的免费网站| 亚洲欧美日韩精品久久奇米色影视| 一本久久a久久精品亚洲| 久久国产主播精品| 欧美日韩一区二区视频在线 | 性视频1819p久久| 久久久久久伊人| 欧美色大人视频| 精品91免费| 亚洲免费在线观看| 欧美成人午夜| 国产亚洲午夜高清国产拍精品| 国产亚洲欧洲| 亚洲毛片网站| 久久一区二区三区国产精品 | 久久一日本道色综合久久| 欧美日韩精品二区| 国产亚洲精品自拍| 一区二区三区视频在线播放| 开元免费观看欧美电视剧网站| 欧美成人午夜免费视在线看片 | 欧美福利电影网| 国产欧美亚洲日本| 制服丝袜激情欧洲亚洲| 欧美v日韩v国产v| 国产麻豆精品久久一二三| 一本到高清视频免费精品| 另类图片综合电影| 国模 一区 二区 三区| 亚洲一区久久久| 欧美日韩国产三级| 最新国产の精品合集bt伙计| 久久久久久久成人| 国产人妖伪娘一区91| 亚洲一区日韩在线| 欧美视频二区36p| 99视频精品免费观看| 欧美电影在线观看完整版| 在线观看亚洲一区| 久久天堂精品| 国产在线精品二区| 亚久久调教视频| 国产精品视频免费观看www| 99视频精品在线| 欧美人牲a欧美精品| 亚洲精品黄网在线观看| 欧美大色视频| 亚洲欧洲日产国码二区| 另类综合日韩欧美亚洲| 精品动漫3d一区二区三区免费| 亚洲精品一区二区三区蜜桃久| 亚洲精品免费一二三区| 老司机免费视频久久| 国产婷婷色一区二区三区在线| 最新日韩在线| 蜜桃久久av一区| 在线看片成人| 男人天堂欧美日韩| 亚洲人成绝费网站色www| 嫩草国产精品入口| 1024成人网色www| 女女同性精品视频| 在线日韩一区二区| 蜜臀va亚洲va欧美va天堂| 欧美a一区二区| 在线免费观看日韩欧美| 欧美成人一品| 99香蕉国产精品偷在线观看| 欧美日韩在线播放三区| 一本色道88久久加勒比精品| 欧美日韩三级在线| 亚洲一区不卡| 国产免费一区二区三区香蕉精| 亚洲精品极品| 欧美日韩在线播放| 亚洲亚洲精品三区日韩精品在线视频| 久久久www| 黄色在线成人| 免费日韩视频| 一区二区日韩精品| 国产精品日日做人人爱| 性欧美video另类hd性玩具| 国产主播一区| 欧美成人dvd在线视频| 亚洲精品在线二区| 国产精品久久久久久av福利软件 | 亚洲国产影院| 欧美精品在欧美一区二区少妇| 久久综合图片| 91久久精品国产91性色tv| 欧美精品一区二区三区蜜臀| 一区二区三区日韩在线观看| 国产精品久久久久毛片软件 | 91久久午夜| 欧美视频四区| 久久国产加勒比精品无码| 亚洲第一在线综合网站| 欧美日韩亚洲一区二区三区四区| 亚洲福利视频一区| 欧美伦理a级免费电影| 亚洲欧美日韩久久精品| 狠狠色狠狠色综合日日tαg| 欧美精品激情blacked18| 亚洲午夜国产一区99re久久| 国产一区在线观看视频| 欧美精品亚洲二区| 香蕉久久夜色精品| 亚洲精品国产精品国自产观看| 免费的成人av| 亚洲无线视频| 一区在线视频观看| 欧美午夜片欧美片在线观看| 久久久91精品国产| 一本久久综合亚洲鲁鲁| 国产一区二区黄色| 欧美另类视频| 久久久久国内| 中国亚洲黄色| 在线观看一区二区精品视频| 国产精品jizz在线观看美国 | 一本久道久久综合中文字幕| 国产视频一区二区三区在线观看| 亚洲欧美日韩直播| 亚洲国产精品传媒在线观看| 国产精品magnet| 免费日韩av| 欧美一区二区三区久久精品茉莉花| 国产伦一区二区三区色一情| 久久尤物视频| 国产一区清纯| 欧美日韩免费一区| 久久综合国产精品台湾中文娱乐网| 在线观看中文字幕不卡| 国产精品国码视频| 欧美电影在线观看完整版| 性亚洲最疯狂xxxx高清| 一区二区三区欧美视频| 狠狠色狠狠色综合系列| 国产精品国产三级国产普通话三级 | 一区二区三区四区五区精品视频| 欧美日韩国产麻豆| 免费黄网站欧美| 欧美综合国产| 亚洲综合成人在线| 99ri日韩精品视频| 国内揄拍国内精品久久| 国产精品久久久久免费a∨| 欧美精品久久久久久| 久久香蕉国产线看观看网| 午夜免费在线观看精品视频| 一区二区三区产品免费精品久久75 | 亚洲午夜一区二区三区| 亚洲日本一区二区三区| 精品69视频一区二区三区| 国产偷国产偷亚洲高清97cao| 欧美二区在线播放| 老司机午夜免费精品视频 | 欧美在线观看网址综合| 亚洲天堂成人| 在线视频欧美日韩| 亚洲精品少妇| 最新69国产成人精品视频免费 | 亚洲成人在线| 国产一区二区三区免费观看| 国产精品网红福利| 国产精品毛片在线| 国产精品二区在线观看| 欧美午夜不卡视频| 欧美三级免费| 欧美视频在线一区二区三区| 欧美日韩三区| 欧美日韩免费一区二区三区视频 | 亚洲男人的天堂在线观看| 中日韩美女免费视频网站在线观看| 国产日韩一区在线| 国产麻豆午夜三级精品| 国产精品激情| 国产精品久久久久久久9999| 国产精品www.| 国产精品视频1区| 国产乱码精品一区二区三区不卡| 欧美国产免费| 欧美激情一级片一区二区|