<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    如何用 Spring AI + Ollama 構建生成式 AI 應用

    管理 管理 編輯 刪除

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

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

    #Ollama安裝與使用

    進入官網:https://ollama.com/ ,下載、安裝、啟動 ollama

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

    #構建 Spring 應用

    1. 通過spring initializropen in new window創建Spring Boot應用
    2. 注意右側選擇Spring Web和Spring AI對Ollama的支持依賴

    1. 點擊“generate”按鈕獲取工程
    2. 使用IDEA或者任何你喜歡的工具打開該工程,工程結構如下;

    1. 寫個單元測試,嘗試在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的快速開發框架,主要用于創建獨立的、生產級別的應用程序。它提供了一個簡化的配置過程,使得開發者能夠快速構建和部署Web應用程序。
    
    Spring Boot適合做以下幾件事情:
    
    1. **快速開發**: Spring Boot提供了一系列的自動配置功能,可以幫助開發者快速創建基本的應用程序,減少手動編寫配置代碼的時間。
    2. **獨立運行**: Spring Boot可以作為一個獨立的應用程序運行,不需要額外的容器或服務器支持。
    3. **生產級別的應用程序**: Spring Boot提供了許多生產級別的特性,例如安全、監控和部署等功能,可以幫助開發者創建高性能、可靠的應用程序。
    4. **Web 應用程序**: Spring Boot可以用于創建Web應用程序,包括RESTful API、WebSockets和其他類型的Web應用程序。
    5. **微服務架構**: Spring Boot支持微服務架構,允許開發者將一個大型應用程序分解成多個小型服務,每個服務都可以獨立運行和部署。
    
    總之,Spring Boot是一個強大的框架,可以幫助開發者快速創建、測試和部署生產級別的應用程序。, metadata={messageType=ASSISTANT}], chatGenerationMetadata=ChatGenerationMetadata{finishReason=stop,contentFilterMetadata=null}]]]
    
    上述樣例工程打包放公眾號了,如果需要的話,關注"程序猿DD",發送關鍵詞spring+ollama獲得下載鏈接。

    #小結

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

    可能存在的一些疑問

    1. 如何使用其他AI模型

    通過ollama的 Modelsopen in new window 頁面,可以找到各種其他模型:

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

    1. 如何植入現有應用?

    打開上面工程的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>
    

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


    請登錄后查看

    CRMEB 最后編輯于2025-02-24 15:27:55

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    891
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服