Skip to content

Commit 345ba01

Browse files
1 parent fb1f56a commit 345ba01

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

articles/20240327-getting-started-with-teams-ai/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -740,8 +740,8 @@ <h2 id="architecture">Architecture</h2>
740740
</li>
741741
</ul>
742742
<h2 id="solutions-description">Solution's description</h2>
743-
<p>If you want to download the sample solution, here it is (read the README first 😉): <a href="https://github.com/michaelmaillot/teams-ai-bot-graph">Teams AI Chat Bot Graph sample</a></p>
744-
<p>Based on a sample project generated by Teams Toolkit, the solution contains everything to run "locally" (there're still Entra IDs generated on the fly + a dev tunnel visible from <a href="https://dev.botframework.com/bots">BotFramework site</a> + Azure AI resources).</p>
743+
<p>If you want to download the sample solution, here it is (read the README first 😉): <a href="https://github.com/michaelmaillot/teams-ai-bot-graph" target="_blank">Teams AI Chat Bot Graph sample</a></p>
744+
<p>Based on a sample project generated by Teams Toolkit, the solution contains everything to run "locally" (there're still Entra IDs generated on the fly + a dev tunnel visible from <a href="https://dev.botframework.com/bots" target="_blank">BotFramework site</a> + Azure AI resources).</p>
745745
<p>It also provides everything to deploy the bot on Azure. The only resources not provided by default are the Azure OpenAI service and the Azure AI Content Safety, which have to be provided in the <em>env</em> files (both git tracked and untracked / private ones, in the <em>local</em> and <em>dev</em> environments).</p>
746746
<p>Even if this article is focused on <em>local</em> env, the featured sample is ready-to-use for <em>dev</em> one if you add and fill <em>.env.dev.user</em> file. More info regarding Teams Toolkit environment configuration can be found <a href="https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-preview-and-customize-app-manifest?WT.mc_id=M365-MVP-5005200" target="_blank">here</a>.</p>
747747
<p>This sample handles following features:</p>
@@ -754,12 +754,12 @@ <h2 id="solutions-description">Solution's description</h2>
754754
<ol>
755755
<li>Running the <code>teamsapp.local.yml</code> file</li>
756756
<li>Provisioning<ol>
757-
<li><code>teamsApp/create</code>: Creating the Teams App for deployment (see <a href="https://dev.teams.microsoft.com/apps">Teams Developer Portal</a>)</li>
757+
<li><code>teamsApp/create</code>: Creating the Teams App for deployment (see <a href="https://dev.teams.microsoft.com/apps" target="_blank">Teams Developer Portal</a>)</li>
758758
<li><code>botAadApp/create</code>: Creating the Entra ID app that will handle the bot<ol>
759759
<li>Writing the generated info in the <em>.env.local</em> &amp; <em>.env.local.user</em> files</li>
760760
</ol>
761761
</li>
762-
<li><code>botFramework/create</code>: Registering the bot on the <a href="https://dev.botframework.com/">Bot Framework developer portal</a><ol>
762+
<li><code>botFramework/create</code>: Registering the bot on the <a href="https://dev.botframework.com/" target="_blank">Bot Framework developer portal</a><ol>
763763
<li>Including the bot Entra ID, messaging endpoint, Teams channel</li>
764764
</ol>
765765
</li>
@@ -777,7 +777,7 @@ <h2 id="solutions-description">Solution's description</h2>
777777
</li>
778778
<li><code>teamsApp/zipAppPackage</code>: Packaging the Teams App with manifest and icons</li>
779779
<li><code>teamsApp/validateAppPackage</code>: Validating Teams App package</li>
780-
<li><code>teamsApp/update</code>: Adding or updating Teams App on the <a href="https://dev.teams.microsoft.com/apps">Teams Developer Portal</a></li>
780+
<li><code>teamsApp/update</code>: Adding or updating Teams App on the <a href="https://dev.teams.microsoft.com/apps" target="_blank">Teams Developer Portal</a></li>
781781
</ol>
782782
</li>
783783
<li>Deploying<ol>
@@ -1625,7 +1625,7 @@ <h4 id="monologue">Monologue</h4>
16251625
<h3 id="moderation">Moderation</h3>
16261626
<p>Of course by default, the Azure AI built-in content filtering system included in the Azure OpenAI deployment will work and will trigger the following message:</p>
16271627
<blockquote>
1628-
<p>The bot encountered unhandled error: The response was filtered due to the prompt triggering Azure OpenAI's content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: https://go.microsoft.com/fwlink/?linkid=2198766</p>
1628+
<p>The bot encountered unhandled error: The response was filtered due to the prompt triggering Azure OpenAI's content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: <a href="https://go.microsoft.com/fwlink/?linkid=2198766" target="_blank">https://go.microsoft.com/fwlink/?linkid=2198766</a></p>
16291629
</blockquote>
16301630
<p>But what we want here is to handle the moderation through the app, in order to trigger specific action or send a custom message to the user.</p>
16311631
<p>Another cool built-in features in Teams AI is content filtering system. We can reference Azure AI Content Safety resources to better handle both input and output. Detailed documentation about content filtering can be found <a href="https://learn.microsoft.com/azure/ai-services/openai/concepts/content-filter?WT.mc_id=M365-MVP-5005200" target="_blank">here</a>.</p>
@@ -1871,7 +1871,7 @@ <h3 id="moderation">Moderation</h3>
18711871
<h2 id="watchout">Watchout</h2>
18721872
<p>Below a few things to point out as a memo.</p>
18731873
<h3 id="documentation">Documentation</h3>
1874-
<p>As the documentation provided on Microsoft Learn is lightweight at the time I wrote this article, there are more info directly in the source code, like <a href="https://github.com/microsoft/teams-ai/blob/main/js/packages/teams-ai/src/planners/LLMClient.ts#L135">here</a> or <a href="https://github.com/microsoft/teams-ai/blob/main/js/packages/teams-ai/src/augmentations/MonologueAugmentation.ts#L103">here</a> for example. So feel free to deep dive into the code to learn more.</p>
1874+
<p>As the documentation provided on Microsoft Learn is lightweight at the time I wrote this article, there are more info directly in the source code, like <a href="https://github.com/microsoft/teams-ai/blob/main/js/packages/teams-ai/src/planners/LLMClient.ts#L135" target="_blank">here</a> or <a href="https://github.com/microsoft/teams-ai/blob/main/js/packages/teams-ai/src/augmentations/MonologueAugmentation.ts#L103" target="_blank">here</a> for example. So feel free to deep dive into the code to learn more.</p>
18751875
<h3 id="await">Await</h3>
18761876
<p>Always use <code>await</code> when sending activities to the user. Otherwise, you'll face errors like this:</p>
18771877
<blockquote>
@@ -1890,14 +1890,14 @@ <h3 id="azure-openai-api-preview-version">Azure OpenAI API preview version</h3>
18901890
<p>When using a model deployment, you're referring to a version ('2023-07-01-preview', '2023-12-01-preview', '2024-02-01'...). Each new version contains new parameters, new features.</p>
18911891
<p>As Microsoft publish new preview versions each month, they also retire "old" ones. So be careful if you're using preview versions, you could receive an email from Microsoft, warning you that old ones will be retired:</p>
18921892
<p><img alt="Azure OpenAI API preview version retirement" src="../../images/articles/20240327/teams-ai-azure-openai-api-retirement.png" /></p>
1893-
<p>More info regarding API version deprecation <a href="https://learn.microsoft.com/azure/ai-services/openai/api-version-deprecation?WT.mc_id=M365-MVP-5005200">here</a></p>
1893+
<p>More info regarding API version deprecation <a href="https://learn.microsoft.com/azure/ai-services/openai/api-version-deprecation?WT.mc_id=M365-MVP-5005200" target="_blank">here</a></p>
18941894
<h2 id="personal-feedback">Personal feedback</h2>
18951895
<p>During my tests, at first I found that the <code>monologue</code> augmentation was the best for my use case. But then I realized that the <code>sequence</code> one could benefit from the completion feature which can provide answers if we give it context variables needed to perform actions. Useful if you require info that doesn't need to be queried.</p>
18961896
<p>As I'm not a prompt expert neither an LLM or a Teams AI one, I've probably missed some key points on how to leverage the library as its best. But I'm really surprised how far we can go with this library and I'm looking forward to other's feedback!</p>
18971897
<h2 id="thats-it">That's it</h2>
18981898
<p>We've seen on the surface that Teams AI is a really powerful library but needs extra documentation beyond available samples. Below some personal expectations regarding new features:</p>
18991899
<ul>
1900-
<li>Support of stream mode (even if not part of Teams Client natively): <a href="https://github.com/microsoft/teams-ai/issues/185">https://github.com/microsoft/teams-ai/issues/185</a></li>
1900+
<li>Support of stream mode (even if not part of Teams Client natively): <a href="https://github.com/microsoft/teams-ai/issues/185" target="_blank">https://github.com/microsoft/teams-ai/issues/185</a></li>
19011901
<li>Native support of text-to-image &amp; image-to-text models, such as Dall-E</li>
19021902
<li>OpenAI spec support as additional augmentation</li>
19031903
</ul>

sitemap.xml.gz

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)