国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

注冊(cè)個(gè)網(wǎng)站要多少錢跟我學(xué)seo從入門到精通

注冊(cè)個(gè)網(wǎng)站要多少錢,跟我學(xué)seo從入門到精通,nofollow標(biāo)簽對(duì)網(wǎng)站收錄的影響,旅游網(wǎng)站建設(shè)前的市場(chǎng)分析1、開始咯 我們來(lái)看看如何在 Spring Boot 中調(diào)用 OpenAI ChatGPT API。 我們將創(chuàng)建一個(gè) Spring Boot 應(yīng)用程序,該應(yīng)用程序?qū)⑼ㄟ^(guò)調(diào)用 OpenAI ChatGPT API 生成對(duì)提示的響應(yīng)。 2、OpenAI ChatGPT API 在開始具體講解之前,讓我們先探討一下我們將在本教…

1、開始咯

我們來(lái)看看如何在 Spring Boot 中調(diào)用 OpenAI ChatGPT API。

我們將創(chuàng)建一個(gè) Spring Boot 應(yīng)用程序,該應(yīng)用程序?qū)⑼ㄟ^(guò)調(diào)用 OpenAI ChatGPT API 生成對(duì)提示的響應(yīng)。

2、OpenAI ChatGPT API

在開始具體講解之前,讓我們先探討一下我們將在本教程中使用的 OpenAI ChatGPT API。我們將調(diào)用創(chuàng)建聊天完成 API 來(lái)生成對(duì)提示的響應(yīng)。

2.1 API 參數(shù)與認(rèn)證

我們看一下API的強(qiáng)制請(qǐng)求參數(shù):

  • model:這是我們將向其發(fā)送請(qǐng)求的模型的版本。該模型有幾個(gè)版本可用。我們將使用 gpt-3.5-turbo 模型,這是該模型公開的最新版本;
  • message:消息是對(duì)模型的提示。每條消息都需要兩個(gè)字段:角色和內(nèi)容。角色字段指定消息的發(fā)送者。請(qǐng)求中它將是“用戶”,響應(yīng)中它將是“助手”。內(nèi)容字段是實(shí)際的消息。

為了使用 API 進(jìn)行身份驗(yàn)證,我們將生成一個(gè) OpenAI API 密鑰。我們將在調(diào)用 API 時(shí)在 Authorization 標(biāo)頭中設(shè)置此密鑰。

cURL 格式的示例請(qǐng)求如下所示:

$ 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!"}]}'

此外,該 API 還接受許多可選參數(shù)來(lái)修改響應(yīng)。

接著,我們將重點(diǎn)關(guān)注一個(gè)簡(jiǎn)單的請(qǐng)求,但讓我們看一下一些有助于調(diào)整響應(yīng)的可選參數(shù):

  • n:如果我們想增加生成的響應(yīng)數(shù)量,可以指定。默認(rèn)值為 1;
  • temperature:控制響應(yīng)的隨機(jī)性。默認(rèn)值為 1(最隨機(jī));
  • max_tokens:用于限制響應(yīng)中令牌的最大數(shù)量。默認(rèn)值是無(wú)窮大,這意味著響應(yīng)將與模型可以生成的一樣長(zhǎng)。一般來(lái)說(shuō),最好將此值設(shè)置為合理的數(shù)字,以避免生成很長(zhǎng)的響應(yīng)并產(chǎn)生很高的成本。

2.2 API Response

API 響應(yīng)將是一個(gè)帶有一些元數(shù)據(jù)和選擇字段的 JSON 對(duì)象。選擇字段將是一個(gè)對(duì)象數(shù)組。每個(gè)對(duì)象都有一個(gè)文本字段,其中包含對(duì)提示的響應(yīng)。

選擇數(shù)組中的對(duì)象數(shù)量將等于請(qǐng)求中的可選 n 參數(shù)。如果未指定 n 參數(shù),則選項(xiàng)數(shù)組將包含單個(gè)對(duì)象。

具體代碼:

{"id": "chatcmpl-123","object": "chat.completion","created": 1677652288,"choices": [{"index": 0,"message": {"role": "assistant","content": "\n\n 來(lái)啦,老弟……"},"finish_reason": "stop"}],"usage": {"prompt_tokens": 9,"completion_tokens": 12,"total_tokens": 21}
}

響應(yīng)中的使用字段將包含提示和響應(yīng)中使用的令牌數(shù)量。這用于計(jì)算 API 調(diào)用的成本。

3、具體案例

我們將創(chuàng)建一個(gè)使用 OpenAI ChatGPT API 的 Spring Boot 應(yīng)用程序。

為此,我們將創(chuàng)建一個(gè) Spring Boot Rest API,該 API 接受提示作為請(qǐng)求參數(shù),將其傳遞給 OpenAI ChatGPT API,并將響應(yīng)作為響應(yīng)正文返回。

3.1 添加依賴

首先,我們創(chuàng)建一個(gè) Spring Boot 項(xiàng)目。我們需要該項(xiàng)目的 Spring Boot Starter Web 依賴:

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

3.2 DTO

接下來(lái),我們創(chuàng)建一個(gè)與 OpenAI ChatGPT API 的請(qǐng)求參數(shù)對(duì)應(yīng)的 DTO:

public class ChatRequest {private String model;private List<Message> messages;private int n;private double temperature;public ChatRequest(String model, String prompt) {this.model = model;this.messages = new ArrayList<>();this.messages.add(new Message("user", prompt));}// getters and setters
}

繼續(xù)定義 Message 類:

public class Message {private String role;private String content;// constructor, getters and setters
}

然后,我們?yōu)轫憫?yīng)創(chuàng)建一個(gè) DTO:

public class ChatResponse {private List<Choice> choices;// constructors, getters and setterspublic static class Choice {private int index;private Message message;// constructors, getters and setters}
}

3.3 控制器

我們創(chuàng)建一個(gè)控制器,它將接受提示作為請(qǐng)求參數(shù)并返回響應(yīng)作為響應(yīng)正文:

@RestController
public class ChatController {@Qualifier("openaiRestTemplate")@Autowiredprivate RestTemplate restTemplate;@Value("${openai.model}")private String model;@Value("${openai.api.url}")private String apiUrl;@GetMapping("/chat")public String chat(@RequestParam String prompt) {// create a requestChatRequest request = new ChatRequest(model, prompt);// call the APIChatResponse response = restTemplate.postForObject(apiUrl, request, ChatResponse.class);if (response == null || response.getChoices() == null || response.getChoices().isEmpty()) {return "No response";}// return the first responsereturn response.getChoices().get(0).getMessage().getContent();}
}

分析一下代碼中一些重要部分:

  • 我們使用 @Qualifier 注釋來(lái)注入我們將在下一節(jié)中創(chuàng)建的 RestTemplate bean;
  • 使用 RestTemplate bean,我們使用 postForObject() 方法調(diào)用 OpenAI ChatGPT API。 postForObject() 方法將 URL、請(qǐng)求對(duì)象和響應(yīng)類作為參數(shù);
  • 最后,我們讀取回復(fù)的選擇列表并返回第一個(gè)回復(fù)。

3.4 RestTemplate

我們定義一個(gè)自定義 RestTemplate bean,它將使用 OpenAI API 密鑰進(jìn)行身份驗(yàn)證:

@Configuration
public 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;}
}

3.5 Properties

在 application.properties 文件中提供 API 的屬性:

openai.model=gpt-3.5-turbo
openai.api.url=https://api.openai.com/v1/chat/completions
openai.api.key=your-api-key

然后,就可以運(yùn)行程序了。

4、總結(jié)

我們探索了 OpenAI ChatGPT API 以生成對(duì)提示的響應(yīng)。我們創(chuàng)建了一個(gè) Spring Boot 應(yīng)用程序,它調(diào)用 API 來(lái)生成對(duì)提示的響應(yīng)。

http://m.aloenet.com.cn/news/31308.html

相關(guān)文章:

  • 怎么增加網(wǎng)站訪問量網(wǎng)站優(yōu)化培訓(xùn)學(xué)校
  • 網(wǎng)站 相對(duì)路徑國(guó)際軍事形勢(shì)最新消息
  • 甘肅城鄉(xiāng)建設(shè)局網(wǎng)站有什么引流客源的軟件
  • 做論壇和做網(wǎng)站有什么區(qū)別搜資源的搜索引擎
  • 網(wǎng)站視頻封面怎么做百度客服電話是多少
  • 上海網(wǎng)站建設(shè)公司 紅威網(wǎng)站制作免費(fèi)
  • 可視化導(dǎo)航網(wǎng)站源碼百度的排名規(guī)則詳解
  • 河南營(yíng)銷網(wǎng)站建設(shè)聯(lián)系方式搜索引擎有哪些分類
  • 58同城煙臺(tái)網(wǎng)站建設(shè)國(guó)內(nèi)營(yíng)銷推廣渠道
  • 鄭州哪里做網(wǎng)站最好免費(fèi)的網(wǎng)站
  • 網(wǎng)站建設(shè) 源代碼神秘網(wǎng)站
  • wordpress怎么自動(dòng)生成內(nèi)鏈網(wǎng)站seo綜合診斷
  • 地圖網(wǎng)站怎么做建立網(wǎng)站流程
  • 上海網(wǎng)站建設(shè)領(lǐng)導(dǎo)品牌公司官網(wǎng)怎么做
  • 濰坊做網(wǎng)站多少錢重慶seo代理計(jì)費(fèi)
  • 建設(shè)項(xiàng)目公示網(wǎng)站百度百科詞條創(chuàng)建入口
  • 做腳本網(wǎng)站外貿(mào)網(wǎng)站建設(shè)推廣
  • 做實(shí)驗(yàn)用哪些國(guó)外網(wǎng)站南寧優(yōu)化網(wǎng)站收費(fèi)
  • 巫山集團(tuán)網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣外包怎么接單
  • 網(wǎng)站建設(shè)教程速成廣東seo推廣費(fèi)用
  • 網(wǎng)站認(rèn)領(lǐng)app推廣策劃方案
  • 福建建筑人才市場(chǎng)官網(wǎng)seo工具有哪些
  • 響應(yīng)式網(wǎng)站的發(fā)展現(xiàn)狀網(wǎng)站設(shè)計(jì)與開發(fā)
  • python做網(wǎng)站的優(yōu)勢(shì)今日新聞10條簡(jiǎn)短
  • 網(wǎng)絡(luò)系統(tǒng)的價(jià)值跟用戶數(shù)量成重慶seo排名
  • 酒泉做網(wǎng)站百度推廣優(yōu)化技巧
  • qq登錄網(wǎng)頁(yè)手機(jī)版廈門seo
  • 咋樣做網(wǎng)站上海今天剛剛發(fā)生的新聞
  • 常州網(wǎng)站開發(fā)互聯(lián)網(wǎng)廣告投放代理公司
  • 網(wǎng)站運(yùn)營(yíng)介紹阿里指數(shù)官網(wǎng)最新版本