Comparison Table of all supported Decision Models
| Provider | Module | Questions (yes/no, choice, scale) | Async (decideAsync) | Input | Probabilities and confidence | Refusals | Observability | Customizable HTTP Client | Local Deployment | Spring Boot |
|---|---|---|---|---|---|---|---|---|---|---|
| Ollama | langchain4j-ollama | ✅/✅/✅ | ✅ | text, structured, image | ✅ | ❌ | ✅ | ✅ | ✅ | 🆘 |
| OpenAI | langchain4j-open-ai | ✅/✅/✅ | ✅ | text, structured, image | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| OpenAI Official | langchain4j-open-ai-official | ✅/✅/✅ | ✅ | text, structured, image | ✅ | ✅ | ✅ | ❌ | ✅ | |
| TypeSafe | langchain4j-typesafe | ✅/✅/✅ | ✅ | text, structured | ✅ | ❌ | ✅ | ✅ | ✅ (any server implementing the System One API, see here) | 🆘 |
Legend:
- ✅ means "supported"
- 🆘 means "not supported yet; please help us implement it"
- ❌ means "not supported by the provider"
- no mark means "not applicable" (OpenAI Official uses the HTTP client of the official OpenAI SDK, configurable with
openAIClient(...))
Notes:
- "structured" input is a
Mapof named values. OpenAI sends it as text, TypeSafe and Ollama as a JSON object. - Images on Ollama need a model with vision, such as Clef.
- Every implementation reports token usage. OpenAI also reports cached input tokens.