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

使用Spring AI讓你的Spring Boot應(yīng)用快速擁有生成式AI能力

這篇具有很好參考價值的文章主要介紹了使用Spring AI讓你的Spring Boot應(yīng)用快速擁有生成式AI能力。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

之前分享了關(guān)于Spring新項目Spring AI的介紹視頻。視頻里演示了關(guān)于使用Spring AI將Open AI的能力整合到Spring應(yīng)用中的操作,但有不少讀者提到是否有博客形式的學習內(nèi)容。所以,本文就將具體介紹如何使用 Spring AI 快速讓您的Spring應(yīng)用擁有生成式AI的強大能力。

動手試試

第一步:使用你最喜歡的IDE來生成一個基礎(chǔ)的Spring Boot項目。如果您還不會這個,建議先前往Spring Boot快速入門學習。

第二步:pom.xml中引入依賴。當前分為兩個,Azure OpenAI和OpenAI,選擇其中一個你在用的即可。

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId>
  <version>0.8.0-SNAPSHOT</version>
</dependency>

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
  <version>0.8.0-SNAPSHOT</version>
</dependency>

另外,因為用的是SNAPSHOT版本,記得配置:

<repositories>
  <repository>
    <id>spring-snapshots</id>
    <name>Spring Snapshots</name>
    <url>https://repo.spring.io/snapshot</url>
    <releases>
      <enabled>false</enabled>
    </releases>
  </repository>
</repositories>

第三步:打開application.properties,配置您的openai api key

spring.ai.openai.api-key=<YOUR_OPENAI_API_KEY>

第四步:創(chuàng)建OpenAIController.java

@RestController
@RequestMapping("/api/v1")
public class OpenAIController {

    private final AiClient aiClient;

    public OpenAIController(AiClient aiClient) {
        this.aiClient = aiClient;
    }
}

第五步:使用AiClient對象來根據(jù)接口輸入返回內(nèi)容:

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

這是一個最簡單的例子,而實際真正應(yīng)用的時候,我們還需要Prompt來獲得更精準的結(jié)果。比如,下面這樣:

@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);
}

通過使用PromptTemplate創(chuàng)建一個模版,然后根據(jù)用戶輸入使用模版來創(chuàng)建具體的Prompt生成結(jié)果。

這里我們提到的Prompt類,其實是一系列Message對象的結(jié)構(gòu)化持有者,每個對象代表完整Prompt的一部。每個Message都有著不同的內(nèi)容和目的,這種設(shè)置有助于與人工智能模型進行復雜而細致的交流,因為Prompt由各種消息組成,每條消息在對話中都指定了特定的功能。

下面是一個更復雜的使用方式:

@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 TranslatePro
            You 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();
}

這里Prompt使用了List類型的Message,包含了多個不同級別的Prompt模版:SystemPromptTemplatePromptTemplate,以完成更好的生成結(jié)果。

完成這幾個API的構(gòu)建之后,您可以嘗試啟動它,并用API測試工具調(diào)用試試,體驗一下生成式AI的強大能力。

好了,今天的分享就到這里,感謝閱讀!如果您學習過程中如遇困難?可以加入我們超高質(zhì)量的Spring技術(shù)交流群,參與交流與討論,更好的學習與進步!更多Spring Boot教程可以點擊直達!,歡迎收藏與轉(zhuǎn)發(fā)支持!

歡迎關(guān)注我的公眾號:程序猿DD。第一時間了解前沿行業(yè)消息、分享深度技術(shù)干貨、獲取優(yōu)質(zhì)學習資源文章來源地址http://www.zghlxwxcb.cn/news/detail-777081.html

到了這里,關(guān)于使用Spring AI讓你的Spring Boot應(yīng)用快速擁有生成式AI能力的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 如何優(yōu)雅地在Spring Boot項目啟動時初始化數(shù)據(jù),讓你的Web應(yīng)用快人一步

    如何優(yōu)雅地在Spring Boot項目啟動時初始化數(shù)據(jù),讓你的Web應(yīng)用快人一步

    ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! 大多數(shù)Java Web應(yīng)用程序中,項目在啟動時都需要加載一些初始化數(shù)據(jù),例如配置文件、數(shù)據(jù)庫連接信息等。在Spring Boot中,我們可以通過將數(shù)據(jù)緩存到內(nèi)存中來提高Web應(yīng)用程序的性能。本篇博客旨在通過一個實例來介紹如

    2024年02月02日
    瀏覽(30)
  • SpringBoot-1-Spring Boot實戰(zhàn):快速搭建你的第一個應(yīng)用,以及了解原理

    SpringBoot-1-Spring Boot實戰(zhàn):快速搭建你的第一個應(yīng)用,以及了解原理

    SpringBootWeb入門 我們在之前介紹Spring的時候,已經(jīng)說過Spring官方(Spring官方)提供很多開源項目,點擊projects,看到spring家族旗下的項目 Spring發(fā)展到今天已經(jīng)形成了一種開發(fā)生態(tài)圈,Spring提供了若干個子項目,每個項目用于完成特定的功能。而我們在項目開發(fā)時,一般會偏向于選

    2024年02月12日
    瀏覽(92)
  • 讓你的Demo更安全--Spring Boot實現(xiàn)短信驗證碼

    隨著移動互聯(lián)網(wǎng)的普及,短信驗證碼已經(jīng)成為了很多應(yīng)用的常用登錄和注冊方式之一。在傳統(tǒng)的應(yīng)用中,我們一般使用第三方集成商提供的短信驗證碼服務(wù)來實現(xiàn)短信驗證碼的發(fā)送和驗證,但是這些服務(wù)有可能存在時間限制、價格過高等限制。 為了解決這些問題,我們可以使

    2024年02月07日
    瀏覽(19)
  • Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ?

    Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ?

    今天有個小伙伴給我出了一個難題:在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個問題的第一反應(yīng)是,為什么會有這樣奇怪的需求? Talk is cheap,show me the code,這里列出了那個想做最先加載的“天選 Bean” 的代碼,我們來分析一下:

    2024年02月03日
    瀏覽(18)
  • Spring Boot |如何讓你的 bean 在其他 bean 之前完成加載

    Spring Boot |如何讓你的 bean 在其他 bean 之前完成加載

    問題 今天有個小伙伴給我出了一個難題:在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個問題的第一反應(yīng)是,為什么會有這樣奇怪的需求? Talk is cheap,show me the code,這里列出了那個想做最先加載的“天選 Bean” 的代碼,我們來分析一

    2024年02月05日
    瀏覽(19)
  • 提升 Spring Boot 吞吐量的 7 個神技,讓你的項目飛起來!

    實現(xiàn)方式二種: 使用異步注解 @aysnc、啟動類:添加 @EnableAsync 注解 JDK 8 本身有一個非常好用的 Future 類——CompletableFuture 在該示例中,啟動一個線程,此時 AskThread 對象還沒有拿到它需要的數(shù)據(jù),執(zhí)行到 myRe = re.get() * re.get() 會阻塞。 我們用休眠 1 秒來模擬一個長時間的計算

    2024年02月08日
    瀏覽(18)
  • Spring Boot進階(44):如何為你的項目開啟HTTPS協(xié)議加密傳輸,讓你的網(wǎng)站更加安全?

    Spring Boot進階(44):如何為你的項目開啟HTTPS協(xié)議加密傳輸,讓你的網(wǎng)站更加安全?

    ? ? ? ? 隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)安全問題越來越引人關(guān)注。為了確保網(wǎng)站數(shù)據(jù)傳輸?shù)陌踩?,大多?shù)網(wǎng)站都選擇使用HTTPS協(xié)議進行加密傳輸。而本篇文章就將帶領(lǐng)大家,一步一步地了解如何為你的項目開啟HTTPS協(xié)議,讓你的網(wǎng)站更加安全可靠。不僅如此,我們還會介紹HTTPS協(xié)

    2024年02月07日
    瀏覽(26)
  • 項目前瞻|Spring AI:在你的Spring應(yīng)用中使用生成式AI

    項目前瞻|Spring AI:在你的Spring應(yīng)用中使用生成式AI

    過去一年里,ChatGPT 和 Google Bard 這樣的東西出現(xiàn),為大眾帶來了生成式人工智能,似乎每個人都在夢想和計劃如何在他們的項目甚至日常生活中利用人工智能。 如果您是 Spring 開發(fā)人員,您可能想知道如何在 Spring 應(yīng)用程序中實現(xiàn)生成式 AI。如果是這樣,那么接下來這個視頻

    2024年02月03日
    瀏覽(18)
  • 輕松搞定Spring集成緩存,讓你的應(yīng)用程序飛起來!

    輕松搞定Spring集成緩存,讓你的應(yīng)用程序飛起來!

    主頁傳送門:?? 傳送 ??Spring 提供了對緩存的支持,允許你將數(shù)據(jù)存儲在緩存中以提高應(yīng)用程序的性能。Spring 緩存抽象基于 Java Caching API,但提供了更簡單的編程模型和更高級的功能。 ??Spring 集成緩存提供了一種方便的方式來使用緩存,從而提高應(yīng)用程序的性能。Spr

    2024年02月07日
    瀏覽(24)
  • 快速入門:使用 Spring Boot 構(gòu)建 Web 應(yīng)用程序

    快速入門:使用 Spring Boot 構(gòu)建 Web 應(yīng)用程序

    本文將討論以下主題: 安裝 Java JDK、Gradle 或 Maven 和 Eclipse 或 IntelliJ IDEA 創(chuàng)建一個新的 Spring Boot 項目 運行 Spring Boot 應(yīng)用程序 編寫一個簡單的 Web 應(yīng)用程序 打包應(yīng)用程序以用于生產(chǎn)環(huán)境 通過這些主題,您將能夠開始使用 Spring Boot 并創(chuàng)建自己的 Web 應(yīng)用程序。 Spring Boot是一個

    2024年02月07日
    瀏覽(72)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包