国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
1 Spring AI介紹
2 建立Spring Boot專案和編寫OpenAI控制器範(fàn)例
3 使用Prompt類別建立提示訊息
4 測試應(yīng)用程式
首頁 科技週邊 人工智慧 編程新範(fàn)式,當(dāng)Spring Boot遇上OpenAI

編程新範(fàn)式,當(dāng)Spring Boot遇上OpenAI

Feb 01, 2024 pm 09:18 PM
ai spring openai

2023年,AI技術(shù)已成為熱門話題,對各產(chǎn)業(yè)產(chǎn)生了巨大影響,程式設(shè)計(jì)領(lǐng)域尤其如此。人們越來越認(rèn)識到AI技術(shù)的重要性,Spring社群也不例外。

隨著GenAI(General Artificial Intelligence)技術(shù)的不斷進(jìn)步,簡化具備AI功能的應(yīng)用程式的創(chuàng)建變得至關(guān)重要和迫切。在這個背景下,"Spring AI"應(yīng)運(yùn)而生,旨在簡化開發(fā)AI功能應(yīng)用程式的過程,使其變得簡單直觀,避免不必要的複雜性。透過"Spring AI",開發(fā)者可以更輕鬆地建立具備AI功能的應(yīng)用程序,將其變得更加易於使用和操作。這不僅有助於提高開發(fā)效率,還可以加速AI技術(shù)的普及和應(yīng)用。總之,"Spring AI"為AI應(yīng)用程式的開發(fā)帶來了新的可能性,為開發(fā)者提供了更簡單、更直覺的工具和框架。

本文將簡要介紹Spring AI框架以及一些使用該框架的提示工程技巧。開發(fā)人員可以透過這些技巧更好地建立提示訊息,充分發(fā)揮Spring AI的功能。

1 Spring AI介紹

編程新范式,當(dāng)Spring Boot遇上OpenAISpring AI由M K Pavan Kumar創(chuàng)建和撰寫

Spring AI是一個旨在簡化AI應(yīng)用程序開發(fā)的項(xiàng)目,它受到了Python項(xiàng)目LangChain和LlamaIndex的啟發(fā)。然而,Spring AI並不是簡單的複製。它的核心理念是將生成式AI應(yīng)用程式開放給各種程式語言的用戶,而不僅限於Python語言的愛好者。這意味著開發(fā)人員無需學(xué)習(xí)Python語言就可以使用他們熟悉的語言來建立AI應(yīng)用程式。透過Spring AI,開發(fā)人員可以更輕鬆地利用AI的強(qiáng)大功能來解決各種問題,無論他們使用的是哪種程式語言。這將促進(jìn)更廣泛的AI應(yīng)用程式開發(fā),並為開發(fā)人員提供更多靈活性和選擇。

Spring AI的核心目標(biāo)是提供建立AI驅(qū)動應(yīng)用程式的基本構(gòu)建塊。這些構(gòu)建塊具有高度的靈活性,可以輕鬆交換組件,幾乎不需要對程式碼進(jìn)行任何修改。一個例子是,Spring AI引入了一個名為ChatClient介面的元件,它相容於OpenAI和Azure OpenAI的技術(shù)。這使得開發(fā)人員可以在不改變程式碼的情況下切換不同的AI服務(wù)供應(yīng)商,從而更方便地進(jìn)行開發(fā)和整合。

Spring AI的核心是為開發(fā)基於人工智慧的應(yīng)用程式提供可靠的建置模組。這些模組具有彈性,使得能夠平滑地交換組件,而無需對編碼進(jìn)行大量修改。一個範(fàn)例是Spring AI引入了ChatClient接口,該接口與OpenAI和Azure OpenAI相容,使得開發(fā)人員能夠輕鬆地與這兩個平臺進(jìn)行對話。這種相容性使得開發(fā)人員能夠根據(jù)實(shí)際需求選擇適合的平臺,而無需重新編寫程式碼。透過Spring AI,開發(fā)人員能夠更有效率地建立AI驅(qū)動的應(yīng)用程式。

Spring AI不僅提供基本構(gòu)建塊,還專注於提供更高級的解決方案。例如,它可以支援「關(guān)於自己文件的問答」或「使用文件進(jìn)行互動式聊天」等典型場景。而隨著應(yīng)用程式需求的成長,Spring AI計(jì)畫與Spring生態(tài)系統(tǒng)的其他元件如Spring Integration,Spring Batch和Spring Data等緊密合作,以滿足更複雜的業(yè)務(wù)需求。

2 建立Spring Boot專案和編寫OpenAI控制器範(fàn)例

先在IDE中產(chǎn)生Spring Boot項(xiàng)目,在application.properties檔案中保留以下內(nèi)容:

spring.ai.openai.api-key=<YOUR\_OPENAI\_API\_KEY>

下面編寫名為OpenAIController.java的控制器:

package com.vas.springai.controller;import org.springframework.ai.client.AiClient;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/api/v1")public class OpenAIController {private final AiClient aiClient;public OpenAIController(AiClient aiClient) {this.aiClient = aiClient;}}

3 使用Prompt類別建立提示訊息

提示類別是一個訊息物件序列的結(jié)構(gòu)化持有者,每個訊息都代表提示的一部分。這些訊息在提示中扮演不同的角色和目的,內(nèi)容也各不相同。包括用戶問題、AI生成的回應(yīng)以及相關(guān)上下文細(xì)節(jié)等等。這種設(shè)置有助於進(jìn)行複雜和精細(xì)的人機(jī)交互,因?yàn)樘崾居啥鄠€具有特定功能的訊息組成。

@GetMapping("/completion")public String completion(@RequestParam(value = "message") String message){return this.aiClient.generate(message);}

然而,aiClient的generate方法並不僅僅接受純文字作為參數(shù),它也可以接受Prompt類別的物件作為參數(shù),如下所示?,F(xiàn)在,這個方法傳回的是AiResponse類型的實(shí)例,不是簡單的文字。

@GetMapping("/completion")public AiResponse completion(@RequestParam(value = "message") String message){ PromptTemplate promptTemplate = new PromptTemplate("translate the given english sentence sentence into french {query}"); Prompt prompt = promptTemplate.create(Map.of("query", message)); return this.aiClient.generate(prompt);}

此外,Prompt類別也提供了一個重載的建構(gòu)函數(shù),可以接受不同角色和意圖的Message類型實(shí)例序列作為參數(shù)。這樣可以更好地組織和管理提示訊息,方便後續(xù)的處理和使用。下面是一個範(fàn)例程式碼,展示如何使用這個重載建構(gòu)函數(shù)來合併所有內(nèi)容。

package com.vas.springai.controller;import org.springframework.ai.client.AiClient;import org.springframework.ai.client.Generation;import org.springframework.ai.prompt.Prompt;import org.springframework.ai.prompt.PromptTemplate;import org.springframework.ai.prompt.SystemPromptTemplate;import org.springframework.ai.prompt.messages.Message;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.util.List;import java.util.Map;@RestController@RequestMapping("/api/v1")public class OpenAIController {private final AiClient aiClient;public OpenAIController(AiClient aiClient) {this.aiClient = aiClient;}@GetMapping("/completion")public List<Generation> completion(@RequestParam(value = "message") String message) {String systemPrompt = """You are a helpful AI assistant that helps people translate given text from english to french.Your name is TranslateProYou should reply to the user's request with your name and also in the style of a professional.""";SystemPromptTemplate systemPromptTemplate = new SystemPromptTemplate(systemPrompt);Message systemMessage = systemPromptTemplate.createMessage();PromptTemplate promptTemplate = new PromptTemplate("translate the given english sentence sentence into french {query}");Message userMessage = promptTemplate.createMessage(Map.of("query", message));Prompt prompt = new Prompt(List.of(systemMessage, userMessage));return this.aiClient.generate(prompt).getGenerations();}}

4 測試應(yīng)用程式

可以使用市場上任何可用的開放工具來測試應(yīng)用程序,例如postman、insomnia和Httpie等等。

編程新范式,當(dāng)Spring Boot遇上OpenAI 圖片

#

以上是編程新範(fàn)式,當(dāng)Spring Boot遇上OpenAI的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
以太坊是什麼幣?以太坊ETH獲得的方式有哪些? 以太坊是什麼幣?以太坊ETH獲得的方式有哪些? Jul 31, 2025 pm 11:00 PM

以太坊是一個基於智能合約的去中心化應(yīng)用平臺,其原生代幣ETH可通過多種方式獲取。 1、通過Binance必安、歐意ok等中心化平臺註冊賬戶、完成KYC認(rèn)證並用穩(wěn)定幣購買ETH;2、通過去中心化平臺連接數(shù)字儲存,使用穩(wěn)定幣或其他代幣直接兌換ETH;3、參與網(wǎng)絡(luò)質(zhì)押,可選擇獨(dú)立質(zhì)押(需32個ETH)、流動性質(zhì)押服務(wù)或在中心化平臺一鍵質(zhì)押以獲取獎勵;4、通過為Web3項(xiàng)目提供服務(wù)、完成任務(wù)或獲得空投等方式賺取ETH。建議初學(xué)者從主流中心化平臺入手,逐步過渡到去中心化方式,並始終重視資產(chǎn)安全與自主研究,以

幣圈免費(fèi)行情網(wǎng)站怎麼選? 2025年最全測評 幣圈免費(fèi)行情網(wǎng)站怎麼選? 2025年最全測評 Jul 29, 2025 pm 06:36 PM

2025年最適合查詢穩(wěn)定幣行情的免費(fèi)工具依次為:1. 幣安,數(shù)據(jù)權(quán)威、交易對豐富,集成TradingView圖表適合技術(shù)分析;2. 歐易,界面清晰、功能整合強(qiáng),支持Web3賬戶與DeFi一站式操作;3. CoinMarketCap,收錄幣種多,穩(wěn)定幣板塊可查看市值排名與脫錨情況;4. CoinGecko,數(shù)據(jù)維度全面,提供信任分?jǐn)?shù)與社區(qū)活躍度指標(biāo),立場中立;5. 火幣(HTX),行情穩(wěn)定、操作友好,適合主流資產(chǎn)查詢;6. Gate.io,新幣與小眾幣種收錄最快,是挖掘潛力項(xiàng)目的首選;7. Tra

Ethena財(cái)庫策略:穩(wěn)定幣第三帝國的崛起 Ethena財(cái)庫策略:穩(wěn)定幣第三帝國的崛起 Jul 30, 2025 pm 08:12 PM

目錄雙幣系統(tǒng)大逃殺真實(shí)採用仍未發(fā)生結(jié)語2023年8月,MakerDAO生態(tài)借貸協(xié)議Spark給出$DAI8%的年化收益,隨后孫割分批進(jìn)入,累計(jì)投入23萬枚$stETH,最高佔(zhàn)Spark存款量15%以上,逼得MakerDAO緊急提案,把利率下調(diào)到5%。 MakerDAO的本意是“補(bǔ)貼”$DAI的使用率,差點(diǎn)變成孫宇晨的SoloYield。 2025年7月,Ethe

幣安Treehouse(TREE幣)是什麼?即將上線的Treehouse項(xiàng)目概述,代幣經(jīng)濟(jì)與未來發(fā)展分析 幣安Treehouse(TREE幣)是什麼?即將上線的Treehouse項(xiàng)目概述,代幣經(jīng)濟(jì)與未來發(fā)展分析 Jul 30, 2025 pm 10:03 PM

目錄什麼是Treehouse(TREE)? Treehouse(TREE)如何運(yùn)作? Treehouse產(chǎn)品tETHDOR——分散報價利率GoNuts積分系統(tǒng)Treehouse亮點(diǎn)TREE代幣和代幣經(jīng)濟(jì)學(xué)概述2025年第三季度路線圖開發(fā)團(tuán)隊(duì)、投資者和合作夥伴Treehouse創(chuàng)始團(tuán)隊(duì)投資基金夥伴總結(jié)隨著DeFi的不斷擴(kuò)張,固定收益產(chǎn)品的需求日益增長,其作用類似於債券在傳統(tǒng)金融市場中的作用。然而,在區(qū)塊鏈上構(gòu)建

以太坊(ETH) NFT 七日銷量近1.6億美元,貸款機(jī)構(gòu)借助 World ID 推出無擔(dān)保加密貸款 以太坊(ETH) NFT 七日銷量近1.6億美元,貸款機(jī)構(gòu)借助 World ID 推出無擔(dān)保加密貸款 Jul 30, 2025 pm 10:06 PM

目錄加密市場全景掘金熱門代幣VINEVine( 114.79%,流通市值1.44億美元)ZORAZora( 16.46%,流通市值2.9億美元)NAVXNAVIProtocol( 10.36%,流通市值3,576.24萬美元)Alpha解讀過去7天以太坊鏈上NFT銷售額近1.6億美元,CryptoPunks居第一去中心化證明者網(wǎng)絡(luò)Succinct推出Succinct基金會,或?yàn)榇鷰臫GE

索拉納幣(Solana)與 Base幣 創(chuàng)始人開啟論戰(zhàn):Zora 上的內(nèi)容有"基本價值" 索拉納幣(Solana)與 Base幣 創(chuàng)始人開啟論戰(zhàn):Zora 上的內(nèi)容有"基本價值" Jul 30, 2025 pm 09:24 PM

一場關(guān)於“創(chuàng)作者代幣”價值的唇槍舌戰(zhàn),席捲了加密社交圈。 Base與Solana兩大公鏈掌舵人罕見正面交鋒,圍繞ZORA和Pump.fun展開激烈辯論,瞬間點(diǎn)燃CryptoTwitter的討論熱潮。這場火藥味十足的對峙,究竟從何而來?我們來一探究竟。爭議爆發(fā):SterlingCrispin對Zora發(fā)難風(fēng)波的導(dǎo)火索,是DelComplex研究員SterlingCrispin在社交平臺公開砲轟Zora。 Zora是Base鏈上的社交協(xié)議,主打?qū)⒂脩糁黜撆c內(nèi)容代幣化

Zircuit(ZRC幣)是什麼?如何運(yùn)作?ZRC項(xiàng)目概述,代幣經(jīng)濟(jì)與前景分析 Zircuit(ZRC幣)是什麼?如何運(yùn)作?ZRC項(xiàng)目概述,代幣經(jīng)濟(jì)與前景分析 Jul 30, 2025 pm 09:15 PM

目錄什麼是ZircuitZircuit如何運(yùn)作Zircuit的主要特點(diǎn)混合架構(gòu)AI安全EVM兼容性安全原生橋Zircuit積分Zircuit質(zhì)押什麼是Zircuit代幣(ZRC)Zircuit(ZRC)幣價格預(yù)測ZRC幣怎麼買?結(jié)語近年來,為以太坊(ETH)Layer1網(wǎng)絡(luò)提供服務(wù)的Layer2區(qū)塊鏈平臺的利基市場蓬勃發(fā)展,主要原因是網(wǎng)絡(luò)擁堵、手續(xù)費(fèi)高和可擴(kuò)展性差。其中許多平臺使用上卷技術(shù),鏈下處理的多個交易批

2025年值得關(guān)注的十大AI概念幣 2025年值得關(guān)注的AI概念幣有哪些 2025年值得關(guān)注的十大AI概念幣 2025年值得關(guān)注的AI概念幣有哪些 Jul 29, 2025 pm 06:06 PM

2025年十大潛力AI概念幣包括:1. Render (RNDR)作為去中心化GPU渲染網(wǎng)絡(luò),為AI提供關(guān)鍵算力基礎(chǔ)設(shè)施;2. Fetch.ai (FET)通過自治經(jīng)濟(jì)代理構(gòu)建智能經(jīng)濟(jì),並參與組建“人工智能超級聯(lián)盟”(ASI);3. SingularityNET (AGIX)打造去中心化AI服務(wù)市場,推動通用人工智能發(fā)展,是ASI核心成員;4. Ocean Protocol (OCEAN)解決數(shù)據(jù)孤島與隱私問題,提供安全的數(shù)據(jù)交易與“Compute-to-Data”技術(shù),支撐AI數(shù)據(jù)經(jīng)濟(jì);5.

See all articles