Skip to content

Commit

Permalink
Update TRANSPARENCY_FAQS.md (#9145)
Browse files Browse the repository at this point in the history
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] 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 😄

---------

Co-authored-by: Roger Barreto <[email protected]>
  • Loading branch information
sophialagerkranspandey and RogerBarreto authored Oct 8, 2024
1 parent 4cafb95 commit a4a3dd0
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions TRANSPARENCY_FAQS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.
Expand Down Expand Up @@ -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?
Expand All @@ -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.

0 comments on commit a4a3dd0

Please sign in to comment.