> ## Documentation Index
> Fetch the complete documentation index at: https://blog.pig4cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 开源多模态新标杆！Gemma 3 本地部署 Java 调用全攻略

> 探索 Google Gemma 3 多模态语言模型的本地部署与 Java 调用实战；Spring Boot 集成多模态 AI 的完整代码示例

## 背景

<img src="https://minio.pigx.vip/oss/202503/1742114815.png" alt="1742114815" />

谷歌最近发布了 Gemma 3，这是其开源模型家族的最新版本，为 AI 行业带来了深远的创新。Gemma 3 凭借多模态处理能力、庞大的上下文窗口和增强的语言支持，标志着大型语言模型 (LLM) 发展的重要里程碑。该模型的开源特性为开发者和研究人员提供了前所未有的机会，可以在各种应用场景中探索和利用先进的 AI 能力。

## 核心特点

### 多模态处理

Gemma 3 最突出的特点是其**多模态处理**能力，可以同等理解和关联文本、图像和视频。这使其特别适用于数据密集型领域，如**医疗诊断、媒体内容分析和复杂科研应用**。模型能够从多种数据源中提取信息并建立关联，为用户提供更全面的分析和洞察。

### 扩展上下文窗口

另一个重要突破是**上下文窗口的大幅增加**，达到高达 128k 令牌。这一创新对需要处理长篇幅且连贯文本的应用尤为重要，如法律文档分析、学术研究或科学出版。与之前的模型相比，Gemma 3 在长文本理解和连贯性维持方面提供了显著改进，使其能够处理更复杂的信息流。

### 全球化与多语言支持

Gemma 3 支持超过**140 种语言**，并配备了专为多语言优化的**增强型新分词器**，满足了全球 AI 模型使用需求。模型的可扩展性——从**1B 到 27B 参数**——凸显了其适应不同行业场景的灵活性。较小版本可在移动设备和边缘计算环境中高效部署，而较大模型则支持更复杂的企业级应用和研究需求。

<img src="https://minio.pigx.vip/oss/202503/1742117948.png" alt="1742117948" />

## Ollama 安装指南

要在本地运行 Gemma 3 模型，首先需要安装 Ollama，这是一个强大的本地 LLM 运行环境。以下是不同操作系统的安装步骤：

```bash theme={null}
# 下载并安装
curl -fsSL https://ollama.com/install.sh | sh

# 启动服务
ollama serve
```

安装完成后，使用以下命令拉取 Gemma 3 模型：

```bash theme={null}
# 拉取 27B 参数版本
ollama pull gemma3:27b

# 或拉取较小的版本
ollama pull gemma3:2b
```

## 本地安装测试

```bash theme={null}
 lengleng@huawei  ~  ollama run gemma3:27b
>>> 请问tes 赢了吗？ /Users/lengleng/Downloads/lol.png
Added image '/Users/lengleng/Downloads/lol.png'
从图片上可以看出，TES 以 0:3 输给了 HLE。所以 TES 没有赢。

>>> 这场比赛的时间是？
根据图片显示，比赛时间是 03-15 17:00。 也就是3月15日 17点。
```

<img src="https://minio.pigx.vip/oss/202503/1742115776.png" alt="1742115776" />

## 代码调用测试

### 添加依赖

```xml theme={null}
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
    <version>1.0.0-beta2</version>
</dependency>
```

### 配置参数

```properties theme={null}
langchain4j.open-ai.chat-model.api-key=local-ollama
langchain4j.open-ai.chat-model.model-name=gemma3:27b
langchain4j.open-ai.chat-model.base-url=http://localhost:11434/v1
```

### 测试代码

```java theme={null}
@Autowired
private ChatLanguageModel chatLanguageModel;

@Test
void contextLoads() throws IOException {
    // 加载图片文件
    File file = new File("/Users/lengleng/Downloads/lol.png");

    // 将图片转换为 Base64 编码
    String image = Base64.getEncoder().encodeToString(Files.readAllBytes(file.toPath()));

    // 创建包含文本和图像的用户消息
    UserMessage userMessage = UserMessage.from(
            TextContent.from("请问 tes 赢了吗？"),
            ImageContent.from(image, MediaType.IMAGE_PNG_VALUE));

    // 发送请求并获取响应
    ChatResponse chatResponse = chatLanguageModel.chat(userMessage);
    
    // 输出模型回复
    System.out.println(chatResponse.content().text());
}
```

## 总结与展望

Google Gemma 3 代表了开源 AI 模型的重要进步，其多模态能力、扩展上下文窗口和多语言支持使其成为一个强大而灵活的工具。通过 Ollama 等工具，开发者可以轻松在本地部署和使用这一先进模型，无需依赖云服务，同时保持数据隐私和降低运行成本。
