Virtual-Assistant | A linux based Virtual assistant on Artificial Intelligence in C | Machine Learning library
kandi X-RAY | Virtual-Assistant Summary
kandi X-RAY | Virtual-Assistant Summary
A linux based Virtual assistant on Artificial Intelligence in C
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Virtual-Assistant
Virtual-Assistant Key Features
Virtual-Assistant Examples and Code Snippets
Community Discussions
Trending Discussions on Virtual-Assistant
QUESTION
In the Virtual Assistant Template introduction (https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-virtual-assistant-template?view=azure-bot-service-4.0) it is said that "a returning user card is shown on subsequent interactions".
I'm not able to have the returning ActiveCard shown.
What the user is supposed to do/say in the dialog to see that card?
...ANSWER
Answered 2020-Jul-16 at 18:18What the user is supposed to do/say in the dialog to see that card?
Start a new converstation after having previous interacted with the bot. For example, using the out-of-the-box VA, if you use the 'test in webchat' blade on Azure, you'll get a welcome card, and a prompt to enter your name. Later converstations, if you 'restart conversation' in that pane, you won't be prompted to enter your name, you'll get just the card.
In other channels, it would be as simple as sending 'hi' or 'are you there' to a bot to restart the convo after the bot has timed out (ie, the user hasn't messaged the bot after some time). This is known as a 'welcome card'.
For generic bot welcome messages: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-send-welcome-message?view=azure-bot-service-4.0&tabs=csharp
For VA specific welcome messages:https://microsoft.github.io/botframework-solutions/virtual-assistant/tutorials/customize-assistant/csharp/2-edit-your-greeting/
QUESTION
We have Microsoft Virtual Assistant built it Typescript and we are planning to add Timeout capability. What this means is VA should end the conversation with its Skill if user is not engaged for certain amount of time.
There is botbuilder-timeout module to do this in V3 SDK which says,
"Module for Microsoft Bot Framework to enable your bot to prompt the user if the bot detects inactivity and ultimately end the conversation if no user activity after a defined period of time."
Is there anything in V4 or Virtual Assistant that offers similar capability ? If yes any ideas/pointers to document is appreciated.
...ANSWER
Answered 2020-Jan-17 at 18:51There isn't anything official for V4 bots like this. I don't believe I've seen anything unofficial, either.
That being said, we generally recommend something like:
- On each message, start a synchronous timer. You can do this in the bot, but it would be better to do outside of the bot, like with Azure Functions or something. The rest of this answer will assume the timer is outside of the bot. Ensure the timer also keeps track of the conversationReference related to the timer.
- Restart the timer each time the user matching that
conversationReference
sends a message - Once the timer expires, send an event to the bot with the user and conversation information (maybe through
ChannelData
), letting the bot know the timer has expired. You could also create a separate endpoint and monitor there, so you don't need the activity scheme; instead of/api/messages
, you could use something like/api/expiredTimers
. - Once the expired timer event is received, send a proactive message to the user to either 1) see if they're still there, or 2) end the conversation.
QUESTION
Do you know if there is way to implement global message handlers that can support commands like stop, bye, cancel, exit Virtual assistant bot ? I am trying to implement something like this.
I have a virtual assistant built already and it has couple of Skills or Skill Bots. When user is in the multi turn conversation with a Skill, user should be able to exit out of skill by commands like stop, bye, cancel, exit.
I found old v3 doc but nothing for v4.
...ANSWER
Answered 2019-Dec-04 at 08:13Check the documentations provided here Handling User Interruption They explain how to handle user interruption for SDK v4
Find below an example of how you can configure this in the Virtual Assistant.
In your MainDialog.cs
Add the following for your OnContinueDialogAsync: Keeping in mind that you can change and edit this as you see fit just be sure to check the OnInterruptDialogAsync result (status in this example) before you continue
QUESTION
I use Virtual Assistant. I am going to use Entity Framework Core for saving state. I met a problem. IStorage interface injects like a singleton because other objects which use this interface injects as a singleton.
...ANSWER
Answered 2019-Sep-15 at 19:13First of all do not abstract MyDbContext
with interface, otherwise you won't be able to access EF fetures or will try hard to hide EntityFramework
namespace. Use AddDbContext extension. This way DbContext
will be registered as Scoped
what is the best lifetime for it.
Inject IServiceProvider
into your singleton UserState
and ConversationState
, then create scope and resolve MyDbContext
instance within this scope on demand only.
QUESTION
I installed the newly launched virtual assistant template (C#) of the bot framework, downloaded it from here https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp and deployed it using deployment scripts and the default setup works well.
According to the documentation at https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-virtual-assistant-template?view=azure-bot-service-4.0#content-moderator, content moderator is optional but enabled. It says "A middleware component is provided that screen texts and surfaces through a TextModeratorResult on the TurnState object." I see cognitive service for Content-moderator has been created and the secret key appears in the appsettings but startup does not instantate the object neither does the botservice.
But, I do not see any evidence of it in the code. Searching keys such as "TextModeratorResult", "TurnState", "contentModerator" does not return anything.
Is this something we need to instantiate? Are there any guidelines?
...ANSWER
Answered 2019-Sep-04 at 15:12You should only have to add a single line to get this working. However, it looks like this hasn't been tested in awhile because there's a few steps to get this working. I'll submit a PR to fix thisPR, but for now:
- Ensure you have
"contentModerator": "key"
set inappsettings.json
. This should have happened automatically during deployment. - Remove the
Microsoft.Azure.CognitiveServices.ContentModerator
NuGet package from your project. It's been added toMicrosoft.Bot.Builder.Solutions
and having it in both caused a "Could Not Load Type..." error for me. - In
/Adapters/DefaultAdapter.cs
(orDefaultWebsocketAdapter.cs
if you're using Websockets), add (near the rest of the middleware pipeline):
QUESTION
I'm trying to create a simple way for product owners to stand up and tear down the Azure resources required for the Virtual Assistant. However, the deployment script deploy.ps1
requires PowerShell 6+, which doesn't seem to be available with Azure DevOps.
What's the best way to proceed?
Describe the solution you'd likeThe goal is to use a release pipeline to automatically stand up the Azure resources required for the bot to function.
Thoughts- Is there a way to use PowerShell 6+ using Azure PowerShell?
- Should we not use
deploy.ps1
to deploy the resources in a DevOps release pipeline?
Here's the contents of deploy.ps1
and a link to the latest.
ANSWER
Answered 2019-May-23 at 05:52First of all, your script is using Read-Host
, which is not usable in the pipeline. Build agents do have pwsh (so Powershell 6.0 +), but your script isn't using Azure Powershell at all, its using Azure CLI (which is also available on the build agent).
In general you'd need to refactor your script for the pipeline and it would work just fine.
QUESTION
I am trying to deploy the latest Microsoft Virtual Assistant code. In the documentation, they describe a process to deploy and run the bot using a Visual Studio template. The whole process described in the documentation works great.
However, I don't like using a template. I don't want to loose Microsoft's Git history. Also, this deployment needs to stand the tests of time, and I want to make it as simple as possible to merge updates from Microsoft.
Inside of Microsoft's repo, there is a subdirectory containing the C# Virtual Assistant template and a sample of the code as if it were deployed by the template.
Means of preserving Git history, ability to pull new commits, etc.I'll describe my solution, which lets me preserve Microsoft's Git history, pull their latest commits with ease and still gives me a reasonably sized project for working on my client's bot deployment (the Microsoft AI repo is huge and contains many things I don't want in my bot deployment). The resulting branch/project that I'm working on very closely resembles (vide infra, appears identical to) the solution/project that I get when I create it from the template in Visual Studio.
- I forked Microsoft's entire GitHub repo.
- I setup a local Git repository with both Microsoft's repository and my fork as remotes.
- I used Git subtree, as described on this Stack Overflow post to filter the repo down to just the Virtual Assistant C# sample code. I created a branch for this subtree.
- I copied the subtree branch into a develop branch, where I intend to do all my custom development.
- I can use master on Microsoft's upstream remote and the newly created subtree branch to continually pull new commits from Microsoft into my personal develop branch.
Here's some pseudo-code that roughly walks through the process.
...ANSWER
Answered 2019-May-09 at 20:29@EricHansen and I conversed about this in his related GitHub Issue. Since the information may be valuable to others, I'll include the "answer" here:
401s are almost always caused by mismatched MicrosoftAppId
/MicrosoftAppPassword
. Ensure that they match in all of these locations:
appsettings.json
/.env
/.bot
, whatever is applicable- The App Registration
- The one you use when opening Emulator
If that doesn't work, follow the Authentication Troubleshooting Guide
You should also ensure all of your packages are up to date, including:
- NuGet/npm packages
- The ones from the BotBuilder-Tools Repo
- Emulator
OPs resolution was most likely related to this:
I've definitely had issues with some password strings. The README notes that it has trouble with passwords containing
@
. I know I've had trouble with another password, however (I don't remember what special character gave it the issue). I would guess that this was the issue.My best guess is that it was either an issue with a special character in a password, emulator caching id/pass in some unexpected way, or IIS Express caching id/pass in some way. Usually, if I'm switching bots with the same endpoints and running into trouble, I restart those and it usually works.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Virtual-Assistant
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page