Skip to content

CustomProvider

Namespace: Vercel.AI

public sealed class CustomProvider : ProviderBase, IDecisionProvider

A provider backed by caller-supplied models. Maps to customProvider. A model id that is not registered goes to FallbackProvider, or throws NoSuchModelError when there is none.

Inheritance: object → ProviderBase

Implements: IDecisionProvider

View source

public CustomProvider(string name = "custom")

Creates a custom provider.

Parameters

Name Type Description
name string

View source

public ProviderBase? FallbackProvider { get; set; }

Provider asked for model ids that are not registered here.

Value: ProviderBase

View source

public IFileStore? Files { get; set; }

File store. When null, the fallback provider’s file store is used.

Value: IFileStore

View source

public ISkillStore? Skills { get; set; }

Skill store. When null, the fallback provider’s skill store is used.

Value: ISkillStore

View source

public CustomProvider AddDecisionModel(string modelId, string providerModelId)

Registers a string alias for a decision model. The id is resolved through DefaultProvider, or Gateway when none is set, when DecisionModel(string) is called.

Parameters

Name Type Description
modelId string
providerModelId string

Returns: CustomProvider

View source

public CustomProvider AddDecisionModel(string modelId, IDecisionCaller model)

Registers a decision model under <code class=“paramref”>modelId</code>. Maps to decisionModels.

Parameters

Name Type Description
modelId string
model IDecisionCaller

Returns: CustomProvider

View source

AddEmbeddingModel(string, IEmbeddingModel)

Section titled “AddEmbeddingModel(string, IEmbeddingModel)”
public CustomProvider AddEmbeddingModel(string modelId, IEmbeddingModel model)

Registers an embedding model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model IEmbeddingModel

Returns: CustomProvider

View source

public CustomProvider AddEmbeddingModel(IEmbeddingModel model)

Registers an embedding model under its own model id.

Parameters

Name Type Description
model IEmbeddingModel

Returns: CustomProvider

View source

AddEvaluationModel(string, IEvaluationCaller)

Section titled “AddEvaluationModel(string, IEvaluationCaller)”
[Obsolete("Use AddDecisionModel instead.")]
public CustomProvider AddEvaluationModel(string modelId, IEvaluationCaller model)

Registers a deprecated decision model under <code class=“paramref”>modelId</code>. Maps to evaluationModels. These models are ignored once any model is added with AddDecisionModel.

Parameters

Name Type Description
modelId string
model IEvaluationCaller

Returns: CustomProvider

View source

AddEvaluationModel(string, IEvaluationModel)

Section titled “AddEvaluationModel(string, IEvaluationModel)”
[Obsolete("Use AddRubricModel instead.")]
public CustomProvider AddEvaluationModel(string modelId, IEvaluationModel model)

Deprecated name of IRubricModel). Registers a rubric model, not a decision model.

Parameters

Name Type Description
modelId string
model IEvaluationModel

Returns: CustomProvider

View source

public CustomProvider AddImageModel(string modelId, IImageModel model)

Registers an image model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model IImageModel

Returns: CustomProvider

View source

public CustomProvider AddLanguageModel(string modelId, ILanguageModel model)

Registers a language model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model ILanguageModel

Returns: CustomProvider

View source

public CustomProvider AddLanguageModel(ILanguageModel model)

Registers a language model under its own model id.

Parameters

Name Type Description
model ILanguageModel

Returns: CustomProvider

View source

AddRerankingModel(string, IRerankingModel)

Section titled “AddRerankingModel(string, IRerankingModel)”
public CustomProvider AddRerankingModel(string modelId, IRerankingModel model)

Registers a reranking model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model IRerankingModel

Returns: CustomProvider

View source

public CustomProvider AddRubricModel(string modelId, IRubricModel model)

Registers a model that scores a candidate against a rubric under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model IRubricModel

Returns: CustomProvider

View source

public CustomProvider AddSpeechModel(string modelId, ISpeechModel model)

Registers a speech model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model ISpeechModel

Returns: CustomProvider

View source

AddTranscriptionModel(string, ITranscriptionModel)

Section titled “AddTranscriptionModel(string, ITranscriptionModel)”
public CustomProvider AddTranscriptionModel(string modelId, ITranscriptionModel model)

Registers a transcription model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model ITranscriptionModel

Returns: CustomProvider

View source

public CustomProvider AddVideoModel(string modelId, IVideoModel model)

Registers a video model under <code class=“paramref”>modelId</code>.

Parameters

Name Type Description
modelId string
model IVideoModel

Returns: CustomProvider

View source

public IDecisionCaller DecisionModel(string modelId)

Returns the decision model registered under <code class=“paramref”>modelId</code>, or asks FallbackProvider when it implements IDecisionProvider or the deprecated IEvaluationProvider.

Parameters

Name Type Description
modelId string

Returns: IDecisionCaller

View source

public override IEmbeddingModel EmbeddingModel(string modelId)

Returns an embedding model.

Parameters

Name Type Description
modelId string

Returns: IEmbeddingModel

View source

[Obsolete("Use DecisionModel instead.")]
public IEvaluationDecisionCaller EvaluationModel(string modelId)

Deprecated alias of DecisionModel(string). Returns the same model, which also has the deprecated CancellationToken). Maps to evaluationModel.

Parameters

Name Type Description
modelId string

Returns: IEvaluationDecisionCaller

View source

public override IFileStore FileStore()

Returns a file store.

Returns: IFileStore

View source

public override IImageModel ImageModel(string modelId)

Returns an image model.

Parameters

Name Type Description
modelId string

Returns: IImageModel

View source

public override ILanguageModel LanguageModel(string modelId)

Returns a language model.

Parameters

Name Type Description
modelId string

Returns: ILanguageModel

View source

public override IRerankingModel RerankingModel(string modelId)

Returns a reranking model.

Parameters

Name Type Description
modelId string

Returns: IRerankingModel

View source

public override IRubricModel RubricModel(string modelId)

Returns a model that scores a candidate against a rubric.

Parameters

Name Type Description
modelId string

Returns: IRubricModel

View source

public override ISkillStore SkillStore()

Returns a skill store.

Returns: ISkillStore

View source

public override ISpeechModel SpeechModel(string modelId)

Returns a speech model.

Parameters

Name Type Description
modelId string

Returns: ISpeechModel

View source

public override ITranscriptionModel TranscriptionModel(string modelId)

Returns a transcription model.

Parameters

Name Type Description
modelId string

Returns: ITranscriptionModel

View source

public override IVideoModel VideoModel(string modelId)

Returns a video model.

Parameters

Name Type Description
modelId string

Returns: IVideoModel

View source

Apache-2.0 · Copyright 2023 Vercel, Inc. · unofficial community port, not an official Vercel product