From a4a3dd01abf859286e34770332ab52aedc06d4ab Mon Sep 17 00:00:00 2001 From: Sophia Lagerkrans-Pandey <163188263+sophialagerkranspandey@users.noreply.github.com> Date: Tue, 8 Oct 2024 08:41:32 -0700 Subject: [PATCH] Update TRANSPARENCY_FAQS.md (#9145) ### Motivation and Context ### Description ### Contribution Checklist - [ ] The code builds clean without any errors or warnings - [ ] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone :smile: --------- Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com> --- TRANSPARENCY_FAQS.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/TRANSPARENCY_FAQS.md b/TRANSPARENCY_FAQS.md index a891ec68ec28..e390229442a2 100644 --- a/TRANSPARENCY_FAQS.md +++ b/TRANSPARENCY_FAQS.md @@ -5,7 +5,6 @@ Microsoft Semantic Kernel is a lightweight, open-source development kit designed It serves as efficient middleware that supports developers in building AI agents, automating business processes, and connecting their code with the latest AI technologies. Input to this system can range from text data to structured commands, and it produces various outputs, including natural language responses, function calls, and other actionable data. - ## What can Microsoft Semantic Kernel do? Building upon its foundational capabilities, Microsoft Semantic Kernel facilitates several functionalities: - AI Agent Development: Users can create agents capable of performing specific tasks or interactions based on user input. @@ -15,7 +14,6 @@ Building upon its foundational capabilities, Microsoft Semantic Kernel facilitat - Filtering: Developers can use filters to monitor the application, control function invocation or implement Responsible AI. - Prompt Templates: Developer can define their prompts using various template languages including Handlebars and Liquid or the built-in Semantic Kernel format. - ## What is/are Microsoft Semantic Kernel’s intended use(s)? The intended uses of Microsoft Semantic Kernel include: - Production Ready Applications: Building small to large enterprise scale solutions that can leverage advanced AI models capabilities. @@ -51,7 +49,6 @@ Operational factors and settings for optimal use include: - Real-Time Monitoring: System behavior should be regularly monitored to detect unexpected patterns or malfunctions promptly. - Incorporate RAI and safety tools like Prompt Shield with filters to ensure responsible use. - ### Plugins and Extensibility #### What are plugins and how does Microsoft Semantic Kernel use them? @@ -68,3 +65,14 @@ Potential issues that may arise include: - Invocation Failures: Incorrectly triggered plugins can result in unexpected outputs. - Output Misinformation: Errors in plugin handling can lead to generation of inaccurate or misleading results. - Dependency Compatibility: Changes in external dependencies may affect plugin functionality. To prevent these issues, users are advised to keep plugins updated and to rigorously test their implementations for stability and accuracy + +#### When working with AI, the developer can enable content moderation in the AI platforms used, and has complete control on the prompts being used, including the ability to define responsible boundaries and guidelines. For instance: +- When using Azure OpenAI, by default the service includes a content filtering system that works alongside core models. This system works by running both the prompt and completion through an ensemble of classification models aimed at detecting and preventing the output of harmful content. In addition to the content filtering system, the Azure OpenAI Service performs monitoring to detect content and/or behaviors that suggest use of the service in a manner that might violate applicable product terms. The filter configuration can be adjusted, for example to block also "low severity level" content. See here for more information. +- The developer can integrate Azure AI Content Safety to detect harmful user-generated and AI-generated content, including text and images. The service includes an interactive Studio online tool with templates and customized workflows. See here for more information. +- When using OpenAI the developer can integrate OpenAI Moderation to identify problematic content and take action, for instance by filtering it. See here for more information. +- Other AI providers provide content moderation and moderation APIs, which developers can integrate with Node Engine. + +#### If a sequence of components are run, additional risks/failures may arise when using non-deterministic behavior. To mitigate this, developers can: +Implement safety measures and bounds on each component to prevent undesired outcomes. +Add output to the user to maintain control and awareness of the system's state. +In multi-agent scenarios, build in places that prompt the user for a response, ensuring user involvement and reducing the likelihood of undesired results due to multi-agent looping.