https://github.com/kentico/xperience-module-openai-azure
Kentico Xperience integration with Azure OpenAI
https://github.com/kentico/xperience-module-openai-azure
Last synced: 4 months ago
JSON representation
Kentico Xperience integration with Azure OpenAI
- Host: GitHub
- URL: https://github.com/kentico/xperience-module-openai-azure
- Owner: Kentico
- License: mit
- Created: 2024-01-29T16:12:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-20T09:27:39.000Z (over 1 year ago)
- Last Synced: 2025-04-23T18:09:52.629Z (about 1 year ago)
- Language: C#
- Size: 70.5 MB
- Stars: 0
- Watchers: 14
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Xperience Azure OpenAI integration
[](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) [](https://github.com/Kentico/xperience-module-openai-azure/actions/workflows/ci.yml) [](https://www.nuget.org/packages/Kentico.Xperience.OpenAI.Azure.KX13)
This custom module allows Kentico Xperience 13 users to [automatically select](https://docs.kentico.com/x/IgqRBg) the best fitting categories for a page based on its content using [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service).
## Compatibility
The integration is usable with Kentico Xperience 13 **hotfix 13.0.142** or newer.
## Installation
1. Install the [Kentico.Xperience.OpenAI.Azure.KX13](https://www.nuget.org/packages/Kentico.Xperience.OpenAI.Azure.KX13) NuGet package in the administration project.
2. Sign in to your [Azure portal](https://portal.azure.com/).
3. Create and configure an [Azure OpenAI resource](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal).
4. [Deploy a model](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal#deploy-a-model).
5. In Xperience, go to **Settings -> Content -> Azure OpenAI** and configure the settings:
- General:
- **Azure OpenAI API endpoint:** – value of the **Endpoint** field from **Resource Management -> Keys and Endpoints** of your Azure OpenAI resource in Azure portal.
- **Azure OpenAI API key:** – value of either the **KEY 1** or **KEY 2** fields (both keys will work) from **Resource Management -> Keys and Endpoints** of your Azure OpenAI resource in Azure portal.
- Content categorization:
- Select the **Enable content categorization** option.
- **Deployment name** – the **Deployment name** you chose when deploying the model. Can be also found in **Azure OpenAI Studio -> Management -> Deployments**.

## Automatic selection of categories
After you [set up](#installation) the integration, the next time you assign a page into categories you can simply click the **Auto-Select** button and the best fitting categories based on the page's content get automatically selected.
**Important notes:**
- The automatic selection disregards all preexisting category assignments. Consequently, using the **Auto-Select** on manually categorized pages may suggest a different set of categories for the page. You can always add any desired categories manually on top of the automatic selection.
- The page you are assigning into categories must have at least some data stored in fields with **Text** or **LongText** data types. That is, the automatic selection doesn't work for pages that are built entirely via Page builder.

## Contributing
To see the guidelines for Contributing to Kentico open source software, please see [Kentico's `CONTRIBUTING.md`](https://github.com/Kentico/.github/blob/main/CONTRIBUTING.md) for more information and follow the [Kentico's `CODE_OF_CONDUCT`](https://github.com/Kentico/.github/blob/main/CODE_OF_CONDUCT.md).
## Development environment setup
1. Download/clone this repository.
2. Copy the `/src/CMS/ConnectionStrings.template.config` file to `/src/CMS/ConnectionStrings.config`.
3. Add a directory junction of *src/Kentico.Xperience.OpenAI.Azure/CMSResources/Kentico.Xperience.OpenAI.Azure* into *src/CMS/CMSResources* using Command Prompt **(not PowerShell)**:
`mklink /J .\src\CMS\CMSResources\Kentico.Xperience.OpenAI.Azure .\src\Kentico.Xperience.OpenAI.Azure\CMSResources\Kentico.Xperience.OpenAI.Azure`
4. Open `/src/WebApp.sln`.
5. Start the *CMSApp* project in IIS Express.
- If you encounter a *Could not find a part of the path ... bin\roslyn\csc.exe* exception, open the Package Manager Console (Menu -> View -> Other Windows) and run:
`Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r`
6. Create a database via a web wizard.
7. Stop the IIS Express process.
8. Restore database data via `/src/CMS/bin/ContinuousIntegration.exe -r`.
9. Start the *CMSApp* project in IIS Express.
10. Go to the *Sites* application.
11. Start the DancingGoatCore site.
12. Clear cookies in your browser.
13. Optional – restart the IIS Express process.
## License
Distributed under the MIT License. See [`LICENSE.md`](./LICENSE.md) for more information.
## Support
See [`SUPPORT.md`](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) for more information.
For any security issues see [`SECURITY.md`](https://github.com/Kentico/.github/blob/main/SECURITY.md).