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 依賴項,建立一個指向本地伺服器的 Ollama 客戶端(例如 http://localhost:11434),然後呼叫函式庫提供的的高層級方法。所有通訊皆透過標準 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
  • 專案