Skip to content

Release v7.0.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 16:25
e79f9ae

Added

  • A decision engine choice: the built-in Decision Engine or TypeSafe's Jev, selected with UseBuiltInDecisionEngine or UseJevDecisionEngine. Exactly one engine is in force at a time; until one is chosen, decisions go to the built-in engine
  • Jev support: an API key (encrypted at rest and kept out of the causation chain), a model defaulting to jev-latest and an endpoint defaulting to https://api.typesafe.ai. Questions that share a context are sent as one request
  • The built-in engine's address and model are deployment configuration under Cratis:AI:Decisions:BuiltIn, bound through IOptions<BuiltInDecisionEngineOptions>
  • DecisionEngineSettings.CurrentDecisionEngine returns the engine in force, its model and a cached health check for a settings page. The API key is never returned
  • Decision usage: RecordDecisionUsage and the DecisionUsageByDay read model, with DecisionUsageForLastThirtyDays
  • A DecisionRequest can carry the question being asked, a description of each choice and a topic. The Decision Engine includes the question and descriptions in its prompt; without them it keeps the generic question
  • CratisAIBuilder.WithDecisions() registers decision making, and WithDecisions<TResolver>() replaces how the engine is resolved

Changed

  • DecisionResult.Provider is replaced by DecisionResult.Engine, a DecisionEngineType, and the decision.engine telemetry tag replaces the provider tag

Removed

  • AddDecisionEngineProvider and ReconfigureDecisionEngineProvider, and decision engines as a kind of configured AI provider. Choose the engine with the new commands instead
  • IDecisionProviderResolver and IDecisionProviderClient, replaced by IDecisionEngineResolver and IDecisionEngineClient