Skip to main content

Comparison Table of all supported Decision Models

ProviderModuleQuestions (yes/no, choice, scale)Async (decideAsync)InputProbabilities and confidenceRefusalsObservabilityCustomizable HTTP ClientLocal DeploymentSpring Boot
Ollamalangchain4j-ollama✅/✅/✅✅text, structured, image, conversation✅❌✅✅✅🆘
OpenAIlangchain4j-open-ai✅/✅/✅✅text, structured, image, conversation✅✅✅✅❌✅
OpenAI Officiallangchain4j-open-ai-official✅/✅/✅✅text, structured, image, conversation✅✅✅❌✅
TypeSafelangchain4j-typesafe✅/✅/✅✅text, structured, conversation✅❌✅✅✅ (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 named fields (inputFields(...)). OpenAI sends them as text, TypeSafe and Ollama as a JSON object.
  • "conversation" input is a list of ChatMessages (inputMessages(...)), including tool calls and their results, sent as a JSON transcript (see Conversations).
  • Images on Ollama need a model with vision, such as Clef.
  • Every implementation reports token usage. OpenAI also reports cached input tokens.