ProviderFeatures

org.llm4s.llmconnect.spi.ProviderFeatures
See theProviderFeatures companion object
final case class ProviderFeatures(streaming: Boolean, toolCalling: Boolean)

What a provider implementation can actually do, declared by the provider itself.

This is a '''static''' declaration made by a ProviderDescriptor, not a runtime discovery: it describes the client this build ships, so a caller can ask "will streaming work here?" without making a call and reading the error. Contrast org.llm4s.llmconnect.utils.ProviderCapabilities, which is a health-check snapshot attached to a live connection.

The flags default to true because a provider that omits them is claiming the full interface; a provider that cannot honour part of it must say so, and saying so is then visible to users rather than buried in a Left at call time. Cohere and Mistral currently declare streaming = false — see #925.

Value parameters

streaming

whether LLMClient.streamComplete is implemented.

toolCalling

whether the provider accepts tool/function definitions.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product