Skip to content

Introduce metadata-driven AI model features and parameters - #122

Open
MikeAlhayek wants to merge 1 commit into
mainfrom
ma/deployment-features
Open

Introduce metadata-driven AI model features and parameters#122
MikeAlhayek wants to merge 1 commit into
mainfrom
ma/deployment-features

Conversation

@MikeAlhayek

Copy link
Copy Markdown
Member

Fix #120

Replaces hardcoded, provider-specific model options with an extensible registry of model features (binary capabilities) and model parameters (configurable options carrying kind, allowed values, ranges, and defaults).

AI deployments declare which registered definitions their model exposes and may narrow the allowed values, default, or numeric bounds. AI profiles, profile templates, and chat interactions store the selected values, and the runtime binds them into the outgoing request. Values for parameters a deployment does not expose are never rendered and never sent.

Framework:

  • adds the capability abstractions, descriptors, and metadata models
  • adds AddCoreAIModelCapabilities, AddAIModelFeature, and AddAIModelParameter
  • registers eight built-in features and the reasoningEffort parameter
  • adds DefaultAIModelCapabilityService to merge registrations with deployment metadata without mutating the registered descriptors
  • adds ModelParametersAICompletionServiceHandler as the single enforcement point, with deployment-default fallback and binder dispatch
  • adds IAIModelParameterBinder and a reasoning effort binder that sets ChatOptions.Reasoning.Effort
  • maps the resolved effort onto ChatCompletionOptions.ReasoningEffortLevel in AzureOpenAICompletionClient so both request paths behave the same
  • adds CompletionServiceConfigureContext.Deployment
  • adds a ModelParameters front-matter key to the markdown template parser

Sample hosts:

  • adds a deployment capability editor and a metadata-driven parameter editor to the AI deployment, profile, template, and chat interaction screens in CrestApps.Core.Mvc.Web
  • adds the equivalent ModelCapabilitiesEditor and ModelParametersEditor components to CrestApps.Core.Blazor.Web

Docs:

  • adds the Model Capabilities guide and records the change in the 1.1.0 changelog

Replaces hardcoded, provider-specific model options with an extensible
registry of model features (binary capabilities) and model parameters
(configurable options carrying kind, allowed values, ranges, and defaults).

AI deployments declare which registered definitions their model exposes and
may narrow the allowed values, default, or numeric bounds. AI profiles,
profile templates, and chat interactions store the selected values, and the
runtime binds them into the outgoing request. Values for parameters a
deployment does not expose are never rendered and never sent.

Framework:
- adds the capability abstractions, descriptors, and metadata models
- adds AddCoreAIModelCapabilities, AddAIModelFeature, and AddAIModelParameter
- registers eight built-in features and the reasoningEffort parameter
- adds DefaultAIModelCapabilityService to merge registrations with deployment
  metadata without mutating the registered descriptors
- adds ModelParametersAICompletionServiceHandler as the single enforcement
  point, with deployment-default fallback and binder dispatch
- adds IAIModelParameterBinder and a reasoning effort binder that sets
  ChatOptions.Reasoning.Effort
- maps the resolved effort onto ChatCompletionOptions.ReasoningEffortLevel in
  AzureOpenAICompletionClient so both request paths behave the same
- adds CompletionServiceConfigureContext.Deployment
- adds a ModelParameters front-matter key to the markdown template parser

Sample hosts:
- adds a deployment capability editor and a metadata-driven parameter editor
  to the AI deployment, profile, template, and chat interaction screens in
  CrestApps.Core.Mvc.Web
- adds the equivalent ModelCapabilitiesEditor and ModelParametersEditor
  components to CrestApps.Core.Blazor.Web

Docs:
- adds the Model Capabilities guide and records the change in the 1.1.0
  changelog

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce Metadata-Driven AI Deployment Features and Parameters

1 participant