ollama4j/ollama4j

A simple Java library for interacting with Ollama server.

Ollama4j – Ollama LLM 服务器的 Java 客户端

What it is – 一个纯 Java 库,用于与 Ollama 服务器(开源、本地运行的 LLM 运行时)进行通信。它让 Java 应用程序能够生成文本、进行对话会话、调用工具、处理嵌入向量,甚至在底层模型支持视觉功能时处理图像。

Key capabilities

  • Text generation – 单次 generate 调用,可选的流式输出,以及类型安全的选项构建器。

  • Chat – 具备角色处理和“思考”模式(用于思维链风格的输出)的多轮对话。

  • Tool/function calling – 通过注解 Java 方法来将其暴露为 LLM 可调用的工具;同时也支持 MCP 协议以使用外部工具。

  • Multimodal – 将图像作为输入发送给具备视觉能力的模型。

  • Embeddings – 为任意文本获取向量嵌入。

  • Async fire‑and‑forget generation – 异步发送请求而不等待完整响应。

  • Model management – 列出、拉取、创建、删除以及检查 Ollama 服务器上的模型。

  • Server utilities – 测试伺服器连通性 (ping) 并查询进程状态。

  • Authentication – 基础认证 (basic auth) 或 bearer token。

  • Timeouts & logging – 可配置的网络超时和请求/响应钩子 (hooks)。

  • Metrics – 可选的 Prometheus 指标导出器,用于记录请求次数、延迟和模型使用情况(测试版)。

How it works – 该库是一个围绕 Ollama REST API 的轻量级 HTTP 封装。您的 Java 代码通过 Maven Central、GitHub Packages 或 Gradle 添加 ollama4j 依赖,创建一个指向本地服务器(例如 http://localhost:11434)的 Ollama 客户端,然后调用库提供的高层级方法。所有通信均通过标准 HTTP,因此任何 Ollama 服务器版本 0.11.10+ 均可使用。

Getting started

<!-- Maven example -->
<dependency>
  <groupId>io.github.ollama4j</groupId>
  <artifactId>ollama4j</artifactId>
  <version>/* latest release */</version>
</dependency>
// Gradle example
implementation 'io.github.ollama4j:ollama4j:/* latest release */'
Ollama ollama = new Ollama("http://localhost:11434");
GenerateResponse resp = ollama.generate("phi", "Explain quantum tunnelling.");
System.out.println(resp.getResponse());

The README 链接到另一个 ollama4j‑examples 仓库,用于获取完整的代码片段。

Who’s using it – Datafaker、Vaadin UI 测试器、Minecraft 插件/模组、Spring‑Boot Web UI、Jenkins CLI 工具以及其他几个开源项目。

Development & contribution – 项目使用 make 快捷方式进行开发环境搭建、构建和测试(单元测试在本地运行;集成测试通过 Testcontainers 启动 Ollama Docker 容器)。CI 运行单元/集成测试、代码覆盖率和 Sonar 质量门禁。欢迎通过 GitHub issues、PRs 和 discussions 提交贡献。

Where to learn more – 完整的 API 文档、使用指南和版本发布都在项目网站 (https://ollama4j.github.io/ollama4j/) 和 GitHub 仓库。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目