最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot整合Ollama實(shí)現(xiàn)調(diào)用本地多模型

 更新時間:2026年07月12日 13:59:36   作者:Listen·Rain  
想知道如何用ollama快速安裝和調(diào)用大模型嗎,本文帶你從ollama官網(wǎng)搜索模型、使用powershell命令一鍵安裝,到springboot項(xiàng)目中引入依賴、配置參數(shù)、編寫服務(wù),最后通過controller測試接口,輕松實(shí)現(xiàn)ollama大模型的本地部署和api調(diào)用,需要的朋友可以參考下

1.安裝相應(yīng)的大模型

可以在ollama官網(wǎng)搜索相應(yīng)的大模型,直接copy相應(yīng)命令,在powershell窗口執(zhí)行ollama命令

查看命令:

ollama list

2.pom.xml

引入Ollama依賴

<dependency>
			<groupId>org.springframework.ai</groupId>
			<artifactId>spring-ai-starter-model-ollama</artifactId>
			<version>1.0.0</version>
		</dependency>

3.application.properties

server.port: 8088
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
spring.ai.ollama.base-url=http://localhost:11434

4.OllamaConfig

@Configuration
public class OllamaConfig {

	private static final String QWEN = "qwen3:0.6b";
	private static final String DEEPSEEK = "deepseek-r1:1.5b";

	@Bean(name = "qwenChatClient")
	public ChatClient qwenChatClient(ChatClient.Builder builder) {
		OllamaOptions ollamaOptions = OllamaOptions.builder().build();
		ollamaOptions.setModel(QWEN);
		return builder.defaultOptions(ollamaOptions).build();
	}

	@Bean(name = "deepseekChatClient")
	public ChatClient deepseekChatClient(ChatClient.Builder builder) {
		OllamaOptions ollamaOptions = OllamaOptions.builder().build();
		ollamaOptions.setModel(DEEPSEEK);
		return builder.defaultOptions(ollamaOptions).build();
	}
}

5.OllamaService

package com.example.demoredisstack.service;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;

@Service
public class OllamaService {

	@Autowired
	private ChatClient qwenChatClient;

	@Autowired
	private ChatClient deepseekChatClient;


	public String qwenChat(String message) {
		return qwenChatClient
				.prompt()       // 開始構(gòu)建提示詞
				.user(message)  // 設(shè)置用戶消息
				.call()         // 發(fā)起調(diào)用
				.content();     // 直接獲取字符串內(nèi)容
	}

	public Flux<String> qwenChatStream(String message) {
		return qwenChatClient
				.prompt()
				.user(message)
				.stream()
				.content();
	}

	public String deepseekChat(String message) {
		return deepseekChatClient
				.prompt()       // 開始構(gòu)建提示詞
				.user(message)  // 設(shè)置用戶消息
				.call()         // 發(fā)起調(diào)用
				.content();     // 直接獲取字符串內(nèi)容
	}

	public Flux<String> deepseekChatStream(String message) {
		return deepseekChatClient
				.prompt()
				.user(message)
				.stream()
				.content();
	}
}

6. TestOllamaController

package com.example.demoredisstack.controller;

import com.example.demoredisstack.service.OllamaService;
import org.springframework.beans.factory.annotation.Autowired;
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 reactor.core.publisher.Flux;

@RestController
@RequestMapping("/test/ollama")
public class TestOllamaController {

	@Autowired
	private OllamaService ollamaService;

	@GetMapping("/qwen")
	public String qwenChat(@RequestParam(value = "message", defaultValue = "你好") String message) {
		return ollamaService.qwenChat(message);
	}

	@GetMapping("/qwenStream")
	public Flux<String> qwenChatSteam(@RequestParam(value = "message", defaultValue = "你好") String message) {
		return ollamaService.qwenChatStream(message);
	}

	@GetMapping("/deepseek")
	public String deepseekChat(@RequestParam(value = "message", defaultValue = "你好") String message) {
		return ollamaService.deepseekChat(message);
	}

	@GetMapping("/deepseekStream")
	public Flux<String> deepseekChatStream(@RequestParam(value = "message", defaultValue = "你好") String message) {
		return ollamaService.deepseekChatStream(message);
	}
}

7.測試結(jié)果

以上就是Springboot整合Ollama實(shí)現(xiàn)調(diào)用本地多模型的詳細(xì)內(nèi)容,更多關(guān)于Springboot整合Ollama調(diào)用本地多模型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot使用Docx4j實(shí)現(xiàn)DOCX轉(zhuǎn)PDF功能

    SpringBoot使用Docx4j實(shí)現(xiàn)DOCX轉(zhuǎn)PDF功能

    在當(dāng)今的企業(yè)級應(yīng)用中,文檔格式轉(zhuǎn)換是一個高頻但又容易被低估的需求,從合同簽署、報表生成到知識庫管理,DOCX轉(zhuǎn)PDF的需求無處不在,今天我們就介紹一款使用純Java實(shí)現(xiàn) DOCX 轉(zhuǎn) PDF的方案,超級簡單,簡直不要太爽,需要的朋友可以參考下
    2026-02-02
  • Spring 依賴注入、AOP代理全方面解析

    Spring 依賴注入、AOP代理全方面解析

    文章介紹了軟件開發(fā)中的開閉原則、依賴倒置原則及Spring非侵入式設(shè)計(jì),通過IoC和DI實(shí)現(xiàn)解耦,提升系統(tǒng)擴(kuò)展性、可測試性及架構(gòu)遷移能力,強(qiáng)調(diào)框架能力以無感知方式注入業(yè)務(wù)代碼的核心優(yōu)勢,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-08-08
  • C++ 歸并排序(merge sort)案例詳解

    C++ 歸并排序(merge sort)案例詳解

    這篇文章主要介紹了C++ 歸并排序(merge sort)案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring Security將用戶數(shù)據(jù)存儲到數(shù)據(jù)庫的方法

    Spring Security將用戶數(shù)據(jù)存儲到數(shù)據(jù)庫的方法

    這篇文章主要介紹了Spring Security將用戶數(shù)據(jù)存儲到數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • spring security獲取用戶信息為null或者串值的解決

    spring security獲取用戶信息為null或者串值的解決

    這篇文章主要介紹了spring security獲取用戶信息為null或者串值的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Maven?自動化構(gòu)建的實(shí)現(xiàn)示例

    Maven?自動化構(gòu)建的實(shí)現(xiàn)示例

    本文主要介紹了Maven?自動化構(gòu)建的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • 詳解SpringMVC中的@RequestMapping注解

    詳解SpringMVC中的@RequestMapping注解

    這篇文章主要介紹了SpringMVC中@RequestMapping注解,@RequestMapping注解是一個用來處理請求地址映射的注解,可用于映射一個請求或一個方法,可以用在類或方法上,需要的朋友可以參考下
    2023-07-07
  • Maven項(xiàng)目如何在pom文件中引入lib下的第三方j(luò)ar包并打包進(jìn)去

    Maven項(xiàng)目如何在pom文件中引入lib下的第三方j(luò)ar包并打包進(jìn)去

    在使用Maven進(jìn)行項(xiàng)目開發(fā)時,引入第三方私有的Jar包可能會遇到問題,一種常見的解決方案是將Jar包添加到項(xiàng)目的lib目錄,并通過IDE進(jìn)行配置,但這需要每個開發(fā)者單獨(dú)操作,效率低下,更好的方法是通過Maven的pom.xml文件管理這些Jar包
    2024-09-09
  • SpringBoot利用Redis消息隊(duì)列實(shí)現(xiàn)數(shù)據(jù)庫表變更監(jiān)聽的具體方案

    SpringBoot利用Redis消息隊(duì)列實(shí)現(xiàn)數(shù)據(jù)庫表變更監(jiān)聽的具體方案

    在現(xiàn)代應(yīng)用開發(fā)中,實(shí)時感知數(shù)據(jù)庫表的變化是一項(xiàng)常見需求,無論是為了實(shí)現(xiàn)緩存一致性、觸發(fā)后續(xù)業(yè)務(wù)流程,還是構(gòu)建實(shí)時數(shù)據(jù)分析系統(tǒng),表變更監(jiān)聽都扮演著重要角色,本文將介紹如何在SpringBoot應(yīng)用中利用Redis消息隊(duì)列機(jī)制高效實(shí)現(xiàn)數(shù)據(jù)庫表變更的監(jiān)聽
    2025-09-09
  • SpringBoot2實(shí)現(xiàn)MessageQueue消息隊(duì)列

    SpringBoot2實(shí)現(xiàn)MessageQueue消息隊(duì)列

    本文主要介紹了 SpringBoot2實(shí)現(xiàn)MessageQueue消息隊(duì)列,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

通渭县| 叶城县| 龙川县| 隆昌县| 芒康县| 颍上县| 昌图县| 白玉县| 延边| 遂川县| 龙泉市| 昭平县| 永年县| 黄龙县| 壤塘县| 凤庆县| 堆龙德庆县| 天峨县| 衡山县| 津市市| 茂名市| 临安市| 门源| 南溪县| 方城县| 调兵山市| 昌黎县| 平和县| 桦川县| 东乡族自治县| 扶余县| 砚山县| 台北市| 泸水县| 佛山市| 新晃| 鹿邑县| 钟山县| 和政县| 晋宁县| 玛沁县|