惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Jina AI
Jina AI
小众软件
小众软件
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
D
DataBreaches.Net
腾讯CDC
V
Visual Studio Blog
博客园 - 叶小钗
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
U
Unit 42
博客园 - 司徒正美
博客园 - 聂微东

博客园 - cn2025

K8s -sentinel-dashboard【nacos版本】集 20260815 kubeSphere【ks-controller-manager-webhook-cert】证书 20260814 K8s -nacos集 20260813 K8s - 安装部署redis集群-哨兵sentinels集(支持从K8s外部访问)20260812 k8s-deployment发布测试(pv-pvc-deployment-service) 20260810 K8s - 安装部署Kafka、Zookeeper集群教程(支持从K8s外部访问)20260808 k8s-关机及启动脚本工具 【kubeSphere发布ruoyi-pro前端】工具脚本20260731 【k8s】 etcd服务端及客户端版本及快照【定时】备份 20260730 harbor【https启用】及k8节点部证书20260728 kube-flannel.yml k8s集群-安装helm 【kubeShpere】 官网 20260710 kubesphere-KDP 工具脚本【kubeSphere发布ruoyi-pro前端】20260720 HbuilderX 内置终端转为 gitBash 20260720 kubeSphere发布ruoyi-pro后端-用到脚本 kubeSphere发布ruoyi-web前端 20260711 kubeSphere发布ruoyi-pro后端 k8s集群-kubeShpere 20260710 安装Helm 20260710 k8s-portainer docker 镜像查询 k8集群一键重置 docker run OceanBase spring ai alibaba doc AI2.0 【多模态】 20260615 世界只有一个墨脱 AI2.0 【Mcp-client】 20260611 AI2.0 【Mcp-server】 20260611 GoLand 配Go SDK
ollama-sb 多态 图转文 20260418 【gemma3:4b 解析慢】
cn2025 · 2026-04-18 · via 博客园 - cn2025

image

image

image

image

1、pom

<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>3.2.0</spring-boot.version>
<spring-ai.version>1.0.0-M6</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<!-- Spring AI Ollama starter -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>${spring-ai.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<!-- Spring AI 里程碑/快照仓库(必须配置,否则依赖无法下载) -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>

2、yml

server:
port: 18080
# Ollama 服务地址(默认端口 11434)
# spring.ai.ollama.base-url=http://localhost:11434
# 指定使用的 DeepSeek 模型(与 ollama pull 的模型名一致)
# spring.ai.ollama.chat.options.model=deepseek-r1:1.5b
# 温度参数(0~1,值越小越严谨,值越大越有创造性)
# spring.ai.ollama.chat.options.temperature=0.7
spring:
ai:
ollama:
chat:
options:
model:moondream:v2 #gemma3:4b模型有点慢

          #temperature: 8.7
base-url: http://192.168.91.164:11434

3、controller

import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RequestMapping("/openai")
@ResponseBody
@RestController
public class OllamaChatModelController {

@Autowired
private OllamaChatModel ollamaChatModel;

/*
多态 图转文
*/
@GetMapping("/simple/ollamamulti")
public String ollamamulti () {
// 指定读取文件的路径
var imageResource = new ClassPathResource("files/pig.png");

// 指定大模型的配置项,这里使用 ollama 拉取当中的 gemma3 大模型

// 直接用你已有的 gemma3:4b,做参数优化提速
OllamaOptions ollamaOptions = OllamaOptions.builder()
.model("moondream:v2")
.temperature(0.1) // 越低越快,减少随机生成
.numPredict(256) // 限制输出长度,避免模型啰嗦
.numCtx(2048) // 限制上下文窗口,减少内存占用
.build();

// 说明读取的是那个类型的多模态文件类型,这里是图片 img
Media media = new Media(MimeTypeUtils.IMAGE_PNG, imageResource);

// 4. 构建 UserMessage(关键修正:直接用构造方法)
UserMessage userMessage = new UserMessage(
"识别图片", // 文本指令
List.of(media) // 图片媒体列表
);

ChatResponse response = ollamaChatModel.call(
new Prompt(
userMessage, // 写明提示词
ollamaOptions
)
);

System.out.println(response.getResult().getOutput().getText());
return response.getResult().getOutput().getText();
}


}
4、浏览器
http://localhost:18080/openai/simple/ollamamulti

image

image