ollama4j/ollama4j

A simple Java library for interacting with Ollama server.

Ollama4j – Ollama LLM サーバー用の Java クライアント

What it is – Ollama サーバー(オープンソースのローカル LLM ランタイム)と通信する純粋な Java ライブラリです。Java アプリケーションでテキスト生成、チャットセッション、ツール呼び出し、埋め込み、さらには基盤となるモデルがビジョン機能を持たれている場合、画像入力も可能です。

Key capabilities

  • Text generation – 単発の generate 呼び出し、オプションのストリーミング、および型安全なオプションビルダー。
  • Chat – ロール(役割)処理と、思考プロセス(Chain-of-Thought)スタイルの出力のための「思考」モードを備えたマルチターン会話。
  • 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 – 設定可能なネットワークタイムアウトとリクエスト/レスポンスのフック。
  • Metrics – リクエスト数、レイテンシ、モデル使用量のためのオプションの Prometheus メトリクスエクスポート機能(ベータ版)。

How it works – このライブラリは Ollama REST API の薄い HTTP ラッパーです。Java コードで ollama4j 依存関係(Maven Central, GitHub Packages, または Gradle)を追加し、ローカル サーバー(例: http://localhost:11434)を指す Ollama クライアントを作成し、然後、ライブラリが提供する高レベル API を呼び出します。すべての通信は標準 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 – プロジェクトは開発環境のセットアップ、ビルド、テスト(ローカルでのユニットテスト、および Testcontainers を使用して Ollama Docker コンテナを起動する統合テスト)のために make ショートカットを使用しています。CI はユニット/統合テスト、コードカバレッジ、および Sonar quality gates を実行します。GitHub issues, PRs, および discussions での貢献が歓迎されています。

Where to learn more – 完全な API ドキュメント、使用ガイド、およびバージョンリリースは、プロジェクトのウェブサイト (https://ollama4j.github.io/ollama4j/) および GitHub リポジトリにあります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト