Java integration library enabling LangChain4j applications to use Ollama's local language models with support for chat, streaming, embeddings, and advanced reasoning features
OllamaChatRequestParameters extends the standard LangChain4j chat request parameters with Ollama-specific options for fine-grained control over model behavior.
Ollama-specific request parameters for chat models.
package dev.langchain4j.model.ollama;
public class OllamaChatRequestParameters extends DefaultChatRequestParametersImmutability: Immutable after creation
Thread Safety: Thread-safe; can be shared across threads
Nullability: Fields can be null (means use default from previous layer)
public static OllamaChatRequestParameters.Builder builder()Returns a builder for creating OllamaChatRequestParameters instances.
Returns: Fresh builder instance
Example:
OllamaChatRequestParameters params = OllamaChatRequestParameters.builder()
.temperature(0.7)
.mirostat(2)
.numCtx(4096)
.build();public Builder mirostat(Integer mirostat)Sets the Mirostat sampling mode for perplexity control.
Parameters:
mirostat - Mirostat mode
0 (disabled), 1 (Mirostat), 2 (Mirostat 2.0)0Returns: This builder (never null)
Throws:
IllegalArgumentException at build() - If value not in {0, 1, 2}Example:
OllamaChatRequestParameters params = OllamaChatRequestParameters.builder()
.mirostat(2) // Use Mirostat 2.0
.build();public Builder numCtx(Integer numCtx)Sets the context window size in tokens.
Parameters:
numCtx - Context window size
> 0Returns: This builder (never null)
Throws:
IllegalArgumentException at build() - If numCtx <= 0Note: Larger contexts use more memory and are slower
Example:
OllamaChatRequestParameters params = OllamaChatRequestParameters.builder()
.numCtx(4096) // 4K context window
.build();public Builder think(Boolean think)Controls thinking/reasoning mode for models like DeepSeek R1.
Parameters:
think - Thinking mode
true: LLM thinks and returns thoughts in separate thinking fieldfalse: LLM does not thinknull (default): Reasoning LLMs prepend thoughts with <think> tagsReturns: This builder (never null)
Example:
OllamaChatRequestParameters params = OllamaChatRequestParameters.builder()
.think(true) // Enable structured thinking
.build();| Parameter | Type | Valid Range | Default |
|---|---|---|---|
mirostat | Integer | 0, 1, 2 | 0 |
mirostatEta | Double | > 0.0 | 0.1 |
mirostatTau | Double | > 0.0 | 5.0 |
numCtx | Integer | > 0 | Model default |
repeatPenalty | Double | >= 0.0 | 1.0 |
repeatLastN | Integer | >= 0 | 64 |
seed | Integer | Any | Random |
minP | Double | 0.0-1.0 | 0.0 |
keepAlive | Integer | >= 0 | 300 (5m) |
think | Boolean | true/false/null | null |
Install with Tessl CLI
npx tessl i tessl/maven-dev-langchain4j--langchain4j-ollama@1.11.0