欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用?Spring?AI?+?Ollama?構建生成式?AI?應用的方法

 更新時間:2024年11月04日 08:56:57   作者:程序猿DD  
通過集成SpringBoot和Ollama,本文詳細介紹了如何構建生成式AI應用,首先,介紹了AI大模型服務的兩種實現(xiàn)方式,選擇使用ollama進行部署,隨后,通過SpringBoot+SpringAI來實現(xiàn)應用構建,本文為開發(fā)者提供了一個實用的指南,幫助他們快速入門生成式AI應用的開發(fā)

為了構建生成式AI應用,需要完成兩個部分:

  • AI大模型服務:有兩種方式實現(xiàn),可以使用大廠的API,也可以自己部署,本文將采用ollama來構建
  • 應用構建:調用AI大模型的能力實現(xiàn)業(yè)務邏輯,本文將采用Spring Boot + Spring AI來實現(xiàn)Ollama安裝與使用

進入官網(wǎng):https://ollama.com/ ,下載、安裝、啟動 ollama

參考資料

具體步驟可以參考這篇文章:手把手教你本地運行Meta最新大模型:Llama3.1

構建 Spring 應用

通過spring initializr創(chuàng)建Spring Boot應用

注意右側選擇Spring Web和Spring AI對Ollama的支持依賴

點擊“generate”按鈕獲取工程

使用IDEA或者任何你喜歡的工具打開該工程,工程結構如下;

寫個單元測試,嘗試在Spring Boot應用里調用本地的ollama服務

@SpringBootTest(classes = DemoApplication.class)
class DemoApplicationTests {
    @Autowired
    private OllamaChatModel chatModel;
    @Test
    void ollamaChat() {
        ChatResponse response = chatModel.call(
                new Prompt(
                        "Spring Boot適合做什么?",
                        OllamaOptions.builder()
                                .withModel(OllamaModel.LLAMA3_1)
                                .withTemperature(0.4)
                                .build()
                ));
        System.out.println(response);
    }
}

運行得到如下輸出:

ChatResponse [metadata={ id: , usage: { promptTokens: 17, generationTokens: 275, totalTokens: 292 }, rateLimit: org.springframework.ai.chat.metadata.EmptyRateLimit@7b3feb26 }, generations=[Generation[assistantMessage=AssistantMessage [messageType=ASSISTANT, toolCalls=[], textContent=Spring Boot是一個基于Java的快速開發(fā)框架,主要用于創(chuàng)建獨立的、生產級別的應用程序。它提供了一個簡化的配置過程,使得開發(fā)者能夠快速構建和部署Web應用程序。

Spring Boot適合做以下幾件事情:

1. **快速開發(fā)**: Spring Boot提供了一系列的自動配置功能,可以幫助開發(fā)者快速創(chuàng)建基本的應用程序,減少手動編寫配置代碼的時間。
2. **獨立運行**: Spring Boot可以作為一個獨立的應用程序運行,不需要額外的容器或服務器支持。
3. **生產級別的應用程序**: Spring Boot提供了許多生產級別的特性,例如安全、監(jiān)控和部署等功能,可以幫助開發(fā)者創(chuàng)建高性能、可靠的應用程序。
4. **Web 應用程序**: Spring Boot可以用于創(chuàng)建Web應用程序,包括RESTful API、WebSockets和其他類型的Web應用程序。
5. **微服務架構**: Spring Boot支持微服務架構,允許開發(fā)者將一個大型應用程序分解成多個小型服務,每個服務都可以獨立運行和部署。

總之,Spring Boot是一個強大的框架,可以幫助開發(fā)者快速創(chuàng)建、測試和部署生產級別的應用程序。, metadata={messageType=ASSISTANT}], chatGenerationMetadata=ChatGenerationMetadata{finishReason=stop,contentFilterMetadata=null}]]]

上述樣例工程打包放公眾號了,如果需要的話,關注"程序猿DD",發(fā)送關鍵詞spring+ollama獲得下載鏈接。

小結

通過本文的介紹,我們就已經(jīng)完成了Spring Boot應用與Ollama運行的AI模型之間的對接。剩下的就是與業(yè)務邏輯的結合實現(xiàn),這里讀者根據(jù)自己的需要去實現(xiàn)即可。

可能存在的一些疑問

如何使用其他AI模型

通過ollama的 Models 頁面,可以找到各種其他模型:

選擇你要使用的模型來啟動即可。

如何植入現(xiàn)有應用?

打開上面工程的pom.xml,可以看到主要就下面兩個依賴:

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

所以,如果要在現(xiàn)有工程引入的話只要引入spring-ai-ollama-spring-boot-starter依賴就可以了。

好了,今天的分享就到這里。最近較忙,分享較少,感謝持續(xù)的關注與支持 _

到此這篇關于如何用 Spring AI + Ollama 構建生成式 AI 應用的文章就介紹到這了,更多相關Spring AI  Ollama 構建生成式 AI 應用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)文件復制及文件夾復制幾種常用的方式

    Java實現(xiàn)文件復制及文件夾復制幾種常用的方式

    這篇文章主要給大家介紹了關于Java實現(xiàn)文件復制及文件夾復制幾種常用的方式,java復制文件的方式其實有不少種,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • SpringCloud及Nacos服務注冊IP選擇問題解決方法

    SpringCloud及Nacos服務注冊IP選擇問題解決方法

    這篇文章主要介紹了SpringCloud及Nacos服務注冊IP選擇問題,為什么注冊的IP和真實IP不符合呢,原因是Nacos客戶端在注冊服務時會從機器網(wǎng)卡中選擇一個IP來注冊,所以,當注冊了的是非真實IP后,另一臺機器調用時是不可能調通的,知道問題原因就是解決方法,一起看看吧
    2024-01-01
  • Java讀文件修改默認換行符的實現(xiàn)

    Java讀文件修改默認換行符的實現(xiàn)

    這篇文章主要介紹了Java讀文件修改默認換行符的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring+SpringMVC配置事務管理無效原因及解決辦法詳解

    Spring+SpringMVC配置事務管理無效原因及解決辦法詳解

    這篇文章主要介紹了Spring+SpringMVC配置事務管理無效原因及解決辦法詳解,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Spring事務傳播行為問題解決

    Spring事務傳播行為問題解決

    這篇文章主要介紹了Spring事務傳播行為問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Spring?MVC各種參數(shù)進行封裝的方法實例

    Spring?MVC各種參數(shù)進行封裝的方法實例

    這篇文章主要給大家介紹了關于Spring?MVC各種參數(shù)進行封裝的相關資料,SpringMVC內置多種數(shù)據(jù)類型轉換器,可以根據(jù)請求中的參數(shù)與后端控制器方法的參數(shù)的關系為我們實現(xiàn)簡單的數(shù)據(jù)封裝,需要的朋友可以參考下
    2023-06-06
  • SpringBoot多數(shù)據(jù)源配置完整指南

    SpringBoot多數(shù)據(jù)源配置完整指南

    在復雜的企業(yè)應用中,經(jīng)常需要連接多個數(shù)據(jù)庫,Spring Boot 提供了靈活的多數(shù)據(jù)源配置方式,以下是詳細的實現(xiàn)方案,需要的朋友可以參考下
    2025-04-04
  • MyBatisPlus-QueryWrapper多條件查詢及修改方式

    MyBatisPlus-QueryWrapper多條件查詢及修改方式

    這篇文章主要介紹了MyBatisPlus-QueryWrapper多條件查詢及修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 淺析Java集合及LIst接口

    淺析Java集合及LIst接口

    這篇文章主要介紹了Java集合及LIst接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • gradle安裝配置以及使用最新方法

    gradle安裝配置以及使用最新方法

    這篇文章主要給大家介紹了關于gradle安裝配置以及使用的相關資料,Gradle是一個基于ApacheAnt和ApacheMaven概念的項目自動化構建開源工具,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-11-11

最新評論