A Provider captures the details of one chatbot service/API. This captures how the API works, not the details of the underlying large language model. Different providers might offer the same (open source) model behind a different API.
Name of the provider.
Name of the model.
The base URL for the API.
A list of standard parameters created by params()
.
Arbitrary extra arguments to be included in the request body.
An S7 Provider object.
To add support for a new backend, you will need to subclass Provider
(adding any additional fields that your provider needs) and then implement
the various generics that control the behavior of each provider.
Provider(
name = "CoolModels",
model = "my_model",
base_url = "https://cool-models.com"
)
#> <ellmer::Provider>
#> @ name : chr "CoolModels"
#> @ model : chr "my_model"
#> @ base_url : chr "https://cool-models.com"
#> @ params : list()
#> @ extra_args: list()