Class OllamaDecisionModel
java.lang.Object
dev.langchain4j.model.ollama.OllamaDecisionModel
- All Implemented Interfaces:
DecisionModel
A
DecisionModel backed by the decision models
that Ollama runs locally, such as Nimble, Tev1 and Clef, through its
System One API (POST /v1/systemone, Ollama v0.35.0 or
later).
Download a decision model first, for example with ollama pull nimble, then:
DecisionModel model = OllamaDecisionModel.builder()
.baseUrl("http://localhost:11434")
.modelName("nimble")
.build();
The input can be text, a Map of named values, or a list of
TextContents and ImageContents.
Images can be judged only by models with vision, such as Clef: they are sent alongside the input, which refers to
each of them by its position, for example [image 1]. Images are numbered from 1 in the order they appear
in the input, across all values of a Map input.
Images given by an http, https or file URL are downloaded or read by this class, on the
calling thread (also for DecisionModel.decideAsync(DecisionRequest)), before the request is sent. Do not pass URLs that
come from untrusted sources, such as users or retrieved content: download and check them yourself, and pass the
image as base64 data.
- Since:
- 1.23.0
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuilder()The model's default per-call parameters, applied to every request and overridden by any parameters set on the request itself.doDecide(DecisionRequest request) The provider hook behindDecisionModel.decide(DecisionRequest).doDecideAsync(DecisionRequest request) The provider hook behindDecisionModel.decideAsync(DecisionRequest).The listeners notified of every request, response and error of this model.provider()The provider of this model.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DecisionModel
decide, decideAsync, modelName
-
Constructor Details
-
OllamaDecisionModel
-
-
Method Details
-
builder
-
doDecide
Description copied from interface:DecisionModelThe provider hook behindDecisionModel.decide(DecisionRequest).- Specified by:
doDecidein interfaceDecisionModel- Parameters:
request- the request, with the default parameters already applied.- Returns:
- one answer per question, keyed by question name.
-
doDecideAsync
Description copied from interface:DecisionModelThe provider hook behindDecisionModel.decideAsync(DecisionRequest). The default returns a failed future: a model that is not genuinely asynchronous does not pretend to be.- Specified by:
doDecideAsyncin interfaceDecisionModel- Parameters:
request- the request, with the default parameters already applied.- Returns:
- a
CompletableFutureof the answers, keyed by question name.
-
defaultRequestParameters
Description copied from interface:DecisionModelThe model's default per-call parameters, applied to every request and overridden by any parameters set on the request itself. The default isDecisionRequestParameters.EMPTY.- Specified by:
defaultRequestParametersin interfaceDecisionModel
-
listeners
Description copied from interface:DecisionModelThe listeners notified of every request, response and error of this model.- Specified by:
listenersin interfaceDecisionModel
-
provider
Description copied from interface:DecisionModelThe provider of this model.- Specified by:
providerin interfaceDecisionModel
-