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

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

 更新時(shí)間:2026年07月12日 13:59:36   作者:Listen·Rain  
想知道如何用ollama快速安裝和調(diào)用大模型嗎,本文帶你從ollama官網(wǎng)搜索模型、使用powershell命令一鍵安裝,到springboot項(xiàng)目中引入依賴、配置參數(shù)、編寫服務(wù),最后通過controller測(cè)試接口,輕松實(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.測(cè)試結(jié)果

以上就是Springboot整合Ollama實(shí)現(xiàn)調(diào)用本地多模型的詳細(xì)內(nèi)容,更多關(guān)于Springboot整合Ollama調(diào)用本地多模型的資料請(qǐng)關(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è)級(jí)應(yīng)用中,文檔格式轉(zhuǎn)換是一個(gè)高頻但又容易被低估的需求,從合同簽署、報(bào)表生成到知識(shí)庫(kù)管理,DOCX轉(zhuǎn)PDF的需求無(wú)處不在,今天我們就介紹一款使用純Java實(shí)現(xiàn) DOCX 轉(zhuǎn) PDF的方案,超級(jí)簡(jiǎn)單,簡(jiǎn)直不要太爽,需要的朋友可以參考下
    2026-02-02
  • Spring 依賴注入、AOP代理全方面解析

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

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

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

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

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

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

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

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

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

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

    詳解SpringMVC中的@RequestMapping注解

    這篇文章主要介紹了SpringMVC中@RequestMapping注解,@RequestMapping注解是一個(gè)用來(lái)處理請(qǐng)求地址映射的注解,可用于映射一個(gè)請(qǐng)求或一個(gè)方法,可以用在類或方法上,需要的朋友可以參考下
    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ā)時(shí),引入第三方私有的Jar包可能會(huì)遇到問題,一種常見的解決方案是將Jar包添加到項(xiàng)目的lib目錄,并通過IDE進(jìn)行配置,但這需要每個(gè)開發(fā)者單獨(dú)操作,效率低下,更好的方法是通過Maven的pom.xml文件管理這些Jar包
    2024-09-09
  • SpringBoot利用Redis消息隊(duì)列實(shí)現(xiàn)數(shù)據(jù)庫(kù)表變更監(jiān)聽的具體方案

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

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

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

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

最新評(píng)論

黎城县| 囊谦县| 太仓市| 铁力市| 九寨沟县| 德江县| 余江县| 陆丰市| 平舆县| 黄浦区| 阿克苏市| 肃宁县| 武功县| 旌德县| 大安市| 正定县| 大英县| 洛浦县| 双峰县| 民丰县| 临城县| 将乐县| 葵青区| 嵊泗县| 兴安县| 赤水市| 江北区| 甘洛县| 清河县| 鲜城| 友谊县| 沂源县| 谢通门县| 靖宇县| 闸北区| 体育| 辽宁省| 积石山| 正蓝旗| 泰兴市| 四川省|