Growcreate.AiToolkit
1.0.1
dotnet add package Growcreate.AiToolkit --version 1.0.1
NuGet\Install-Package Growcreate.AiToolkit -Version 1.0.1
<PackageReference Include="Growcreate.AiToolkit" Version="1.0.1" />
<PackageVersion Include="Growcreate.AiToolkit" Version="1.0.1" />
<PackageReference Include="Growcreate.AiToolkit" />
paket add Growcreate.AiToolkit --version 1.0.1
#r "nuget: Growcreate.AiToolkit, 1.0.1"
#addin nuget:?package=Growcreate.AiToolkit&version=1.0.1
#tool nuget:?package=Growcreate.AiToolkit&version=1.0.1
Growcreate AI Toolkit
The AI Toolkit is a developer-ready, production-grade integration that embeds powerful, context-aware AI directly into the editorial workflow. Built on Azure AI Foundry, it provides complete control over how AI behaves across your implementation, whether it's a single site, multi-site, or multi-lingual site solution.
Azure AI Foundry setup
- Go to https://ai.azure.com/ and sign in
- Setup a new resource by following the wizard
- In the deployments of your new resource deploy a model for your content and metadata generation
- (Optional) Deploy a "text-to-image" model for your image generation
Quickstart
- Install the Growcreate.AiToolkit - dotnet add package Growcreate.AiToolkit
- Run your solution for the base appsettings to be added
- Add your Azure AI Foundry Api Key and Endpoint to the appsettings
- Adjust the settings as per the configuration section below to match up to your Umbraco setup
- Add the "AI Toolkit" section to your Umbraco backoffice user group permissions
- Experience the power of AI content!
Features
Tone of Voice (ToV) management
The Toolkit adds a new section to the backoffice named "AI Toolkit", which includes information about the tones, contexts, and settings.
The first of these tabs is the "Tones". In here the content editor is able to set their global, corporate tone that will be included in the system messages for the chat client when generating metadata or content.
We take this a step further and allow the content editor to set the tone per node and apply inheritance logic so that a tone can be set per section of sub nodes if required. This is then factored into the system messages for the chat client.
Automated metadata generation
When enabled the Toolkit will go through all of the properties on the node being saved (or published if using GenerateUsingHttpClient)
This property list can be configured so not all properties are included.
From there we will transform the property values to a readable list for the chat client and build up a system messages to support our pre-defined user message.
Once a response is received from the chat client, the defined output properties will be populated with the following:
- Meta Title
- Meta Description
- Opengraph Title
- Opengraph Description
Automated image alt text generation
When enabled the Toolkit will handle an image being saved/uploaded and process the bytes.
From there we will build up the system messages to support our pre-defined user message which states to focus on the foreground features of the image.
Once a reponse is received from the chat client, the defined output properties will be populated with the media Alt Text.
Generative content
The Toolkit adds 3 new data types and 1 new TinyMCE custom plugin.
It also adds a new Content App for the node tone (covered above) and context.
The node context is only used for the generative content so the LLM has an understanding of what this page is to be about.
AiToolkit.GenerativeTextBox
This data type is an extension of the standard TextBox type. The addition is a new "Generate" button that will open an editor that allows the user to define a prompt, click a button to generate, and then edit the response. Once the user submits this editor, the response will be entered into the text box.
AiToolkit.GenerativeTextArea
This data type is an extension of the standard TextArea type. The addition is a new "Generate" button that will open an editor that allows the user to define a prompt, click a button to generate, and then edit the response. Once the user submits this editor, the response will be entered into the text area.
AiToolkit.GenerativeMediaPicker
This data type is an extension of the standard MediaPicker3 type. The addition is a new "Generate" button that will open an editor that allows the user to define a prompt, click a button to generate, and then preview the image. Once the user submits this editor, the image will be added to the media list. If the media picker is configured to have limits then these are also respected.
The image will be placed in a folder named: AiToolkit.GeneratedImages
TinyMCE Custom Plugin
This custom plugin once enabled on the standard TinyMCE data type will add a new "Generate Text" button that will open an editor that allows the user to define a prompt, and click a button to generate. Once generated the response will be inserted into the RTE at the cursor location.
Configuration
Setting | Usage |
---|---|
AzureAiApiKey | (Required) The Azure AI API key for the AI Toolkit |
AzureAiEndpoint | (Required) The Azure AI endpoint for the AI Toolkit |
AzureAiModel | (Required) The Azure AI text model name for the AI Toolkit |
EnableMetaDataGeneration | Whether automated meta data generation should be enabled |
MetaDataDocumentTypes | The document types to allow meta data generation on |
MetaTitleProperties | The meta title properties to be populated if meta data generation is enabled |
MetaDescriptionProperties | The meta description properties to be populated if meta data generation is enabled |
MetaDescriptionLength | The character limit to use when generating meta descriptions |
OpengraphTitleProperties | The opengraph title properties to be populated if meta data generation is enabled |
OpengraphDescriptionProperties | The opengraph description properties to be populated if meta data generation is enabled |
OpengraphDescriptionLength | The character limit to use when generating opengraph descriptions |
SourceProperties | The source properties to be used to gather the content of which meta data will be generated from |
SourceCompositions | The source compositions to be used to gather the content of which meta data will be generated from |
GenerateUsingHttpClient | Whether the AI Toolkit should use a HttpClient request to get the content to generate meta data from |
OverrideExistingMetaData | Whether the AI Toolkit should override any existing meta data values |
EnableMediaAltTextGeneration | Whether automated media alt-text generation should be enabled |
MediaAltTextProperties | The media properties to be populated if alt-text generation is enabled |
MediaAltTextLength | The character limit to use when generating media alt-texts |
EnableImageGeneration | Whether image generation should be enabled |
AzureAiImageModel | The Azure AI image model name for the AI Toolkit |
Screenshots
Set your Global Tone
Set Page/Section specific Tones
Generate textual and HTML content
Generate images
Automatically generate Metadata and Opengraph content
Demo
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Azure.AI.OpenAI (>= 2.1.0)
- Umbraco.Cms.Core (>= 13.0.0 && < 14.0.0)
- Umbraco.Cms.Web.BackOffice (>= 13.0.0 && < 14.0.0)
- Umbraco.Cms.Web.Website (>= 13.0.0 && < 14.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.