AI Services
| Module | CrestApps.OrchardCore.AI |
| Primary feature IDs | CrestApps.OrchardCore.AI, CrestApps.OrchardCore.AI.Chat.Core, CrestApps.OrchardCore.AI.Chat.Api, CrestApps.OrchardCore.AI.ConnectionManagement |
CrestApps.OrchardCore.AI is the Orchard foundation for the AI suite. It wires shared CrestApps.Core AI services into Orchard Core and adds the admin surfaces used by the rest of the AI modules.
What this module adds in Orchard Core
- feature manifests and Orchard dependency wiring
- connection and deployment management UI
- AI profile management and site settings
- recipe, workflow, and admin integration points
- Orchard-aware configuration and startup registration
For the reusable framework pieces underneath those features, see CrestApps.Core AI documentation.
This page is the Technical Manual overview: features, configuration sources and module composition. For day-to-day work in the admin screens, see the User Manual, starting at AI features at a glance.
Enable the core AI features
The base AI module exposes multiple Orchard features:
| Feature ID | Purpose |
|---|---|
CrestApps.OrchardCore.AI | Base AI services and shared admin wiring |
CrestApps.OrchardCore.AI.Chat.Core | Profile-driven chat services and session processing |
CrestApps.OrchardCore.AI.Chat.Api | REST endpoints for AI chat and completion access |
CrestApps.OrchardCore.AI.ConnectionManagement | Provider connection management UI |
In a typical Orchard setup:
- Enable AI Services.
- Enable AI Connection Management.
- Enable one or more provider modules such as OpenAI, Azure OpenAI, Azure AI Inference, or Ollama.
- Add feature modules such as AI Chat, AI Chat Interactions, Documents, Data Sources, MCP, A2A, or Memory as needed.
Where to manage AI in the Orchard admin
Once enabled, the main AI screens are available under Artificial Intelligence:
| Admin screen | Permission | User Manual |
|---|---|---|
| Artificial Intelligence -> Provider Connections | ManageProviderConnections | Connections and deployments |
| Artificial Intelligence -> Deployments | ManageAIDeployments | Connections and deployments |
| Artificial Intelligence -> Personas | ManageAIPersonas | AI Personas |
| Artificial Intelligence -> Profiles | ManageAIProfiles | AI profiles |
| Artificial Intelligence -> Templates | ManageAIProfileTemplates | Templates |
| Artificial Intelligence -> Tool Instances | ManageAIToolInstances | Tools and agents |
| Settings -> Artificial Intelligence | ManageAIProfiles | Connections and deployments |
The AI features at a glance page in the User Manual has a screencast that tours these screens.
Common module combinations
| Goal | Enable these areas |
|---|---|
| Manage providers and AI profiles | AI Services + one or more provider modules |
| Add profile-driven chat | AI Services + AI Chat |
| Add ad-hoc chat sessions | AI Services + AI Chat Interactions |
| Add retrieval over uploaded documents | AI Services + Documents |
| Add retrieval over external indexes | AI Services + Data Sources |
| Add model-to-tool connectivity | AI Services + MCP or A2A |
Key admin surfaces
After enabling the relevant features, Orchard Core exposes AI management in the admin UI, including:
- AI settings under Settings -> Artificial Intelligence
- feature enablement under Tools -> Features
- AI connection and deployment editors
- AI profile editors used by chat, agents, and related modules
- submit-based AI list screens that keep Enter support and now expose a visible Go button next to the search box on screens such as AI Profiles, AI Templates, AI Provider Connections, and Chat Interactions
- shared client-side list screens that keep dedicated header rows visually attached to the list, including filtered no-result states on AI connections, deployments, A2A connections, data sources, and MCP management pages
Configuration sources
The Orchard AI modules support both shell configuration and site settings.
Shell configuration example
Use appsettings.json when you want startup defaults for Orchard-hosted AI behavior:
{
"OrchardCore": {
"CrestApps": {
"AI": {
"DefaultParameters": {
"Temperature": 0,
"MaxOutputTokens": 800
}
}
}
}
}
This configuration is useful for default completion parameters. Provider-specific connection examples are documented on the individual provider pages.
Site settings
Use Settings -> Artificial Intelligence for tenant-managed options such as:
- preemptive memory retrieval
- orchestrator defaults
- distributed caching and OpenTelemetry overrides
The page is made of cards contributed by the enabled features. The General card holds Enable preemptive memory retrieval, Maximum iterations per request (capped by the host), Enable distributed caching and Enable OpenTelemetry. The other cards are Default Deployments, Prompt Security, Visitor Identity, Default Orchestrator, Data Sources, Chat Interactions, Documents, Memory, Admin Widget, Copilot, Claude, MCP Server and WebMCP; each is described on the page of the feature that adds it. The User Manual explains the ones administrators change in the browser, starting at Choose the default models.
Creating AI profiles
Once at least one provider is configured, create AI profiles from Artificial Intelligence -> Profiles and attach the capabilities you need for that profile, such as:
- documents
- data sources
- MCP connections
- A2A connections
- memory
- prompt templates
- agent access
- deployment and model selection
AI profile templates and related display drivers extend the profile editor automatically when their corresponding features are enabled.
The editor's cards, tabs and fields are described in the User Manual under AI profiles.
Recipes, deployment, and workflows
This module also wires Orchard integrations beyond the admin UI:
- recipe steps for AI profiles, profile templates, and deployments
- Orchard deployment plan support
- workflow activities for profile-based and direct AI completion
- workflow events for chat-session extraction, closure, and post-processing
Move the AI setup to another site
Enable OrchardCore.Deployment (and the same AI features on both sites), then open Tools > Deployments > Plans, add a plan, and add the steps you need under Artificial Intelligence: AI Provider Connections, AI Deployments, AI Profiles, AI Profile Templates, AI Tool Instances, AI Data Sources, and the MCP Connections, MCP Prompts and MCP Resources steps. Each step exports every item (Include all) or only the ones you pick. Put the steps in this order: connections, deployments, tool instances and data sources, then profiles, because profiles point at the others.
Click Execute on the plan and choose File Download to get the result as a file, then import it on the other site with Tools > Deployments > JSON Import (paste a recipe) or Package Import (upload the file). Treat the exported file as sensitive, re-enter any secret that was left out, and run the knowledge syncs again on the new site: uploaded files and indexed content are not part of these steps.
Upgrade migrations that skip records
The AI and AI Data Sources upgrades move older profiles, deployments, connections, chat sessions and data sources onto the current records. A record that cannot be moved is skipped and logged with its ID (MigrationSkipReport), and the migration also keeps a summary through IMigrationSkipLog (CrestApps.OrchardCore.Core). While a summary is kept, people with Manage AI profiles see a warning on admin pages naming each migration and how many records it skipped, with a Dismiss button. The log lists each record and why. Another module's migration takes part by calling services.AddMigrationSkipLog() and await report.LogSummaryAsync(serviceProvider).
Framework references
The modules in this repository build on CrestApps.Core. Framework-oriented topics such as service APIs, orchestration loops, response handlers, tool registration, and programmatic host composition are documented on the Core site:
Next steps
- Configure one or more AI Providers.
- Choose a UI surface with AI Chat or AI Chat Interactions.
- Add optional capabilities such as Memory, Documents, MCP, or A2A.