精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

編程新范式,當Spring Boot遇上OpenAI

人工智能
隨著GenAI(I(General Artificial Intelligence))技術的不斷發展,簡化具有AI功能的應用程序的創建成為一個非常重要的課題和迫切需求。“Spring AI”就是在這種背景下誕生的,旨在簡化具有AI功能應用程序的開發,使其成為簡單直觀的過程,避免不必要的復雜性。

2023年,AI技術已經成為一個熱點話題,影響了許多領域,特別是編程領域。人們越來越意識到AI技術的重要性,包括Spring社區在內。

隨著GenAI(I(General Artificial Intelligence))技術的不斷發展,簡化具有AI功能的應用程序的創建成為一個非常重要的課題和迫切需求。“Spring AI”就是在這種背景下誕生的,旨在簡化具有AI功能應用程序的開發,使其成為簡單直觀的過程,避免不必要的復雜性。

本文介紹Spring AI和使用Spring AI的一些提示工程技巧,幫助開發人員在使用Spring AI框架中時更好地構建提示信息,以便利用好Spring AI的功能。

1 Spring AI介紹

Spring AI由M K Pavan Kumar創建和撰寫Spring AI由M K Pavan Kumar創建和撰寫

Spring AI是一個旨在簡化AI應用程序開發的項目,它借鑒了已知的Python項目LangChain和LlamaIndex的經驗。然而,Spring AI不只是這些項目的復制品。Spring AI的核心理念是,未來的生成式AI應用將擴展到各種編程語言的用戶群體,不再只局限于Python語言的愛好者。這意味著,開發人員無需專門學習Python語言就可以開發AI應用,可以使用他們熟悉的語言來構建AI應用。

Spring AI的核心是提供構建AI驅動應用程序的基本構建塊。這些構建塊具有彈性,可以輕松交換組件,幾乎不需要對代碼進行任何修改。例如,Spring AI引入了兼容OpenAI和Azure OpenAI的ChatClient接口。

Spring AI的核心是為創建AI驅動的應用程序提供基本的構建塊。這些構建塊具有彈性,允許組件的平滑交換,幾乎不需要對編碼進行任何修改。例如,Spring AI引入了兼容OpenAI和Azure OpenAI的ChatClient接口。

但Spring AI不僅僅是這些基本構建塊,還關注提供更高級的解決方案,例如“關于自己文檔的問答”或“使用文檔進行交互式聊天”等典型場景。隨著應用程序需求的增長,Spring AI計劃與Spring生態系統的其他部分密切合作,包括Spring Integration,Spring Batch和Spring Data等。

2 創建Spring Boot項目和編寫OpenAI控制器示例

先在IDE中生成Spring Boot項目,在application.properties文件中保留以下內容:

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類構建提示信息

提示類是一個消息對象序列的結構化持有者,每個消息都代表提示的一部分。這些消息在提示中扮演著不同的角色和目的,內容也各不相同。包括用戶問題、AI生成的響應以及相關上下文細節等等。這種設置有助于進行復雜和精細的人機交互,因為提示由多個具有特定功能的消息組成。

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

然而,aiClient的generate方法并不僅僅接受純文本作為參數,它也可以接受Prompt類的對象作為參數,如下所示。現在,這個方法返回的是AiResponse類型的實例,不是簡單的文本。

@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類還提供了一個重載的構造函數,可以接受不同角色和意圖的Message類型實例序列作為參數。這樣可以更好地組織和管理提示信息,方便后續的處理和使用。下面是一個示例代碼,展示了如何使用這個重載構造函數來合并所有內容。

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

4 測試應用程序

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

圖片 圖片

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2025-08-27 07:50:11

2021-10-23 09:20:39

AI

2016-10-21 15:57:39

Rust編輯語言Fedora

2013-05-22 09:33:09

交互設計設計時間

2022-02-24 16:15:16

OpenHarmon鴻蒙OpenEuler

2017-06-28 11:34:55

銳捷 醫療 物聯網

2015-01-07 15:49:21

大數據SSD

2017-08-18 14:47:31

DDD微服務架構

2025-09-04 07:52:16

2023-04-27 07:40:08

Spring框架OpenAI

2017-05-16 14:38:25

2011-03-16 14:51:35

2017-09-11 13:55:30

前端JavaScript物聯網

2009-03-21 16:43:29

SOA虛擬化IT

2013-08-22 11:08:27

大數據商業只能Hadoop

2013-11-08 09:15:32

大數據平板電腦

2016-10-21 09:45:20

RustFedoraJava

2025-08-07 08:35:06

2022-06-27 13:56:10

設計模式緩存分布式系統

2017-11-01 14:09:30

大數據心理學新零售
點贊
收藏

51CTO技術棧公眾號

污污网站免费在线观看| 日韩精品一区二区亚洲av性色| av岛国在线| 久久精品论坛| 久久精品一二三| 日韩小视频网址| 亚洲天堂2018av| 日本精品在线| 国产精品亚洲专一区二区三区| 久久91亚洲精品中文字幕| 人人妻人人澡人人爽欧美一区双 | 国产精久久一区二区| 国产麻豆精品95视频| 欧美激情二区三区| 国产伦精品一区二区免费| √天堂8资源中文在线| 91女厕偷拍女厕偷拍高清| xvideos亚洲| gogo亚洲国模私拍人体| 老牛影视精品| 中文字幕人成不卡一区| 国产精品一区二区三区观看| 亚洲熟女综合色一区二区三区| 波多野结衣一区| 一区二区三区中文字幕在线观看| 国产精品香蕉视屏| 中文字幕在线观看你懂的| 婷婷色综合网| 国产手机视频精品| 午夜av中文字幕| 亚洲人体视频| 成人综合婷婷国产精品久久| 97碰在线观看| 中文乱码字幕高清一区二区| 日韩精品丝袜美腿| 欧美高清一级片在线| av免费观看网| av色综合久久天堂av色综合在| 久久综合视频网| 1区1区3区4区产品乱码芒果精品| 国产黄色免费视频| 北条麻妃一区二区三区在线| 亚洲免费资源在线播放| 精品国产综合久久| 免费一级肉体全黄毛片| jiujiure精品视频播放| 精品播放一区二区| 日本不卡一区二区在线观看| 色戒汤唯在线| 亚洲一区在线观看免费 | 日韩不卡在线播放| 中文精品电影| 中文字幕日韩在线播放| 一起草在线视频| 国产中文欧美日韩在线| 一本一道久久a久久精品| 国产精品视频二| 黄色动漫在线观看| 国产精品拍天天在线| 黄色国产精品一区二区三区| 亚洲AV无码乱码国产精品牛牛 | 九九九国产视频| 希岛爱理av一区二区三区| 亚洲色图第三页| 国产精品久久无码| 成人动漫视频| 精品少妇一区二区三区在线播放 | 国产一级二级av| 国产美女亚洲精品7777| 欧美最猛黑人xxxxx猛交| 一区二区传媒有限公司| 99爱在线视频| 红桃av永久久久| 缅甸午夜性猛交xxxx| 国产蜜臀av在线播放| 一区二区三区视频在线看| 超碰在线免费观看97| 91麻豆一区二区| 日韩成人一区二区三区在线观看| 日本一区二区在线播放| 欧美国产一级片| 亚洲一区欧美二区| 浅井舞香一区二区| 免费污污视频在线观看| 日本成人超碰在线观看| 久久久999精品| 国产精品视频一区二区三| 国产精品久久久久久| www.色综合| 69av视频在线| 亚洲黄色视屏| 欧美在线一级va免费观看| 欧美日韩综合一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 国产精品亚洲自拍| 国产视频第二页| 成人激情黄色小说| 久久久久亚洲精品国产 | 精品免费在线视频| 成人国产在线看| 国产自产自拍视频在线观看| 色先锋aa成人| 欧美日韩中文不卡| 中文人妻av久久人妻18| 在线视频二区| 综合久久综合久久| 蜜臀av色欲a片无码精品一区| 天堂av中文在线| 欧美日韩国产丝袜美女| 久久久久免费精品| 四虎国产精品成人免费影视| 日韩一区二区三区免费看| 亚洲图片综合网| 激情婷婷综合| 欧美日韩高清区| 神马久久久久久久 | 99sesese| 911亚洲精品| 亚洲精品视频免费| 国产黄色小视频网站| 在线精品一区| 国产一区二区在线播放| 国产精品国产三级国产普通话对白| 国产成人午夜99999| 日韩妆和欧美的一区二区| 免费看美女视频在线网站| 亚洲国产日韩精品| 一道本视频在线观看| 99re8这里有精品热视频免费| 亚洲图中文字幕| www欧美com| 日本中文字幕一区二区有限公司| 粉嫩av一区二区三区免费观看 | 国产一区二区三区朝在线观看| 欧美视频三区在线播放| 国产亚洲精品成人a| 亚洲专区视频| 欧美黑人又粗大| 中文字幕人妻色偷偷久久| 久久日韩精品一区二区五区| 欧美大片在线播放| 成人自拍在线| 欧美日韩一区二区三区在线看| 中文在线观看免费视频| 欧美日韩hd| 韩国19禁主播vip福利视频| 亚洲无码精品国产| 日本一区二区三区四区在线视频| 日韩免费一级视频| 国产成人精品福利| 欧美激情乱人伦| 肥臀熟女一区二区三区| 亚洲综合精品久久| 岛国精品一区二区三区| 欧美精品日韩| 成人看片在线| 97超碰在线免费| 亚洲国产成人精品一区二区| 中文字幕一区二区三区手机版| 成人在线视频一区二区| 成人黄色大片网站| 欧美freesex8一10精品| 欧美怡春院一区二区三区| 男人天堂资源在线| 在线免费视频一区二区| 91导航在线观看| 久久激五月天综合精品| 黄色a级在线观看| 欧美激情精品| 午夜精品久久久久久久久久久久久| 欧美自拍偷拍第一页| 国产亚洲婷婷免费| 在线观看日本一区| 高清一区二区中文字幕| 久久99久久99精品免观看粉嫩| 亚洲av无码一区二区三区性色| 亚洲成av人**亚洲成av**| 182在线视频| 石原莉奈在线亚洲三区| 97人人澡人人爽| jizz一区二区三区| 日韩精品小视频| 最新中文字幕第一页| 亚洲欧美一区二区三区久本道91 | 99国产一区二区三精品乱码| 亚洲精品高清视频| 在线观看亚洲精品福利片| 欧美尺度大的性做爰视频| 天天色棕合合合合合合合| 日本道免费精品一区二区三区| 无码人妻精品中文字幕| 丰满白嫩尤物一区二区| 国产成人久久777777| 91精品动漫在线观看| 国产欧美韩日| 激情久久99| 韩国三级日本三级少妇99| 三区在线观看| 7777精品伊人久久久大香线蕉最新版| 久久这里只有精品免费| 国产日韩欧美综合一区| 三级黄色片免费看| 日韩免费视频| 国产精品老女人视频| 操你啦在线视频| 亚洲精品在线视频| 国产日韩精品suv| 色哟哟在线观看一区二区三区| 男人av资源站| 91色porny| 国产又黄又猛的视频| 亚洲尤物影院| 91.com在线| 久久在线视频| 久久这里精品国产99丫e6| 日本精品国产| 欧美黑人性猛交| 在线免费看黄| 亚洲欧美国产制服动漫| 午夜精品久久久久久久爽| 欧美性欧美巨大黑白大战| 日本三级午夜理伦三级三| 一区精品在线播放| 91成人破解版| 99久久国产综合精品色伊| 亚洲成人福利视频| 黑人精品欧美一区二区蜜桃| 久久久精品麻豆| 五月婷婷六月综合| 玛丽玛丽电影原版免费观看1977 | 3atv一区二区三区| 久久久久久亚洲av无码专区| 欧美日韩激情视频8区| 久草视频手机在线观看| 亚洲欧美日韩精品久久久久| 欧美午夜激情影院| 久久久电影一区二区三区| 久久精品女同亚洲女同13| 国产成人精品免费在线| 四虎成人在线播放| 久久成人综合网| 羞羞的视频在线| 蜜桃视频在线观看一区二区| 激情婷婷综合网| 日本视频免费一区| xxxx一级片| 免费在线观看精品| 亚洲天堂av线| 琪琪一区二区三区| 91最新在线观看| 人人精品人人爱| 香蕉视频禁止18| 久久国产欧美日韩精品| 亚洲xxx在线观看| 久久66热re国产| 91看片破解版| 国产精品资源站在线| 男男受被啪到高潮自述| 国产高清久久久久| www.555国产精品免费| 成人18精品视频| 日本黄色特级片| 国产欧美一区二区三区鸳鸯浴 | 偷窥国产亚洲免费视频| 国产一级视频在线播放| 亚洲国产三级在线| 日韩欧美a级片| 欧美日韩在线免费| 无码一区二区三区在线观看| 欧美日韩中文字幕一区| 国产伦精品一区二区三区四区| 欧美一区二区三区免费观看视频| www五月婷婷| 亚洲精品久久久久久下一站 | 日韩精品一区二区三区中文| 99超碰麻豆| 日韩精品社区| 亚洲高清视频一区| 欧美 日韩 国产 一区| 欧美一区二区中文字幕| 奇米777欧美一区二区| www.日本久久| 99久久精品免费| 级毛片内射视频| 亚洲精品视频在线观看免费| 日韩女同强女同hd| 欧美色区777第一页| 国产成人久久精品77777综合| 精品国产乱码久久久久久天美 | 俺来也官网欧美久久精品| 91成人免费观看网站| а√天堂资源国产精品| 51国偷自产一区二区三区的来源| 国内精品国产成人国产三级粉色 | 国产十八熟妇av成人一区| 久久久国产精华| 欧美丰满艳妇bbwbbw| 丁香五六月婷婷久久激情| 中文字幕视频二区| 精品久久久久香蕉网| 国产福利免费在线观看| 欧美精品九九久久| 成人国产激情在线| 99精品在线直播| 精品国产91乱码一区二区三区四区 | 国产免费999| 国产成人免费视频网站| 夫妇交换中文字幕| 五月综合激情日本mⅴ| 国产精品怡红院| 亚洲欧美激情另类校园| 日本精品600av| 国产精品旅馆在线| 欧美一级三级| 国产制服91一区二区三区制服| 日韩有码一区二区三区| 久久久老熟女一区二区三区91| 中文字幕亚洲一区二区av在线 | 亚洲专区在线| www.黄色网| 亚洲免费毛片网站| 中文字幕视频免费观看| 日韩电影视频免费| 图片区 小说区 区 亚洲五月| 日韩中文视频免费在线观看| 欧美xoxoxo| 国产精品一二三在线| 伊人久久大香线蕉无限次| av高清在线免费观看| 丝袜美腿亚洲一区二区图片| 一级黄色免费视频| 亚洲精选一二三| 一区二区三区精| 在线精品视频视频中文字幕| 怡红院成人在线| 欧美国产视频在线观看| 亚洲欧美日韩国产综合精品二区| 久久精品无码专区| 亚洲午夜电影在线| 亚洲国产日韩在线观看| 欧美美女18p| 日本免费精品| 欧美一二三不卡| 毛片一区二区三区| 无码人中文字幕| 欧美日韩国产精选| 免费在线看黄色| 91视频国产一区| 欧美在线亚洲| 人妻激情偷乱视频一区二区三区| 亚洲品质自拍视频网站| 精品国产99久久久久久宅男i| 久久久精品视频在线观看| 国产午夜久久av| 亚洲精品国产suv一区88| 国产91色综合久久免费分享| 日韩激情一区二区三区| 精品亚洲一区二区| 忘忧草在线www成人影院| 天天综合色天天综合色hd| 麻豆成人久久精品二区三区红 | 亚洲综合丁香婷婷六月香| 亚洲AV午夜精品| 26uuu另类亚洲欧美日本一| 猛男gaygay欧美视频| 男女视频在线看| 亚洲天堂久久久久久久| 国产日韩精品suv| 久久久久久亚洲精品| 天天操综合520| 性刺激的欧美三级视频| 亚洲精品第1页| 人妻一区二区三区四区| 国产999在线观看| 国产精品久久久久久| www.四虎精品| 在线视频一区二区三| 国产传媒在线播放| 国产在线一区二区三区欧美| 丝袜美腿亚洲色图| 波多野结衣不卡视频| 日韩精品在线视频观看| 精品久久在线| 无码 制服 丝袜 国产 另类| 国产视频不卡一区| 国产麻豆91视频| 日本欧美在线视频| 欧美精品午夜| 一级片视频免费看| 欧美本精品男人aⅴ天堂| 亚洲永久av| 久久99国产精品一区| 日日摸夜夜添夜夜添精品视频 | 国产在线a视频| 一本久久综合亚洲鲁鲁五月天 | 国产成人精品视频在线| 另类春色校园亚洲| 亚洲视频一二三四| 精品久久中文字幕久久av| 免费a级在线播放|