Nous.ModelDispatcher (nous v0.17.0)

View Source

Dispatches model requests to the appropriate provider implementation.

Routes requests to providers based on the model's provider field:

Summary

Functions

Count tokens (uses appropriate provider implementation).

Resolve the provider module for a provider atom.

Dispatch request to the appropriate provider implementation.

Dispatch streaming request to the appropriate provider implementation.

Functions

count_tokens(model, messages)

@spec count_tokens(Nous.Model.t(), list()) :: integer()

Count tokens (uses appropriate provider implementation).

provider_module(provider)

@spec provider_module(atom()) :: module()

Resolve the provider module for a provider atom.

Unknown providers fall back to Nous.Providers.OpenAICompatible.

request(model, messages, settings)

@spec request(Nous.Model.t(), list(), map()) :: {:ok, map()} | {:error, term()}

Dispatch request to the appropriate provider implementation.

request_stream(model, messages, settings)

@spec request_stream(Nous.Model.t(), list(), map()) ::
  {:ok, Enumerable.t()} | {:error, term()}

Dispatch streaming request to the appropriate provider implementation.