我們正在開發一個使用Microsoft bot框架的圖書館機器人。微軟Bot-使用相同的答案甚至輸入循環不同
我們有
Intent : BookSearch
Entiry : BookName, BookAuthor
當我搜索「我需要一個Java書」,它知道的Java「是一個實體,並提供其他詳細信息java的書。
我的問題是,一旦我收到了java書的詳細信息,我想再次發出這本書,當我們問「發佈給我書Java」時,它會發生衝突並再次顯示java書的詳細信息,進入循環。
請幫助我們在這種情況下,我們如何確定在我們的問題不同的上下文?
代碼:
[LuisIntent("BookSearch")]
public async Task BookSearch(IDialogContext context, LuisResult result)
{
if (result.Entities.Any())
{
DBConnect dbConnect = new DBConnect();
string combindedString = string.Empty;
string mysqlQuery = string.Empty;
foreach (var item in result.Entities)
{
switch (item.Type.ToString())
{
case "BookAuthor":
break;
case "BookName":
break;
case "BookIssue":
break;
default:
break;
}
}
}
else
{
await context.PostAsync("Which book are you searching.");
context.Wait(MessageReceived);
}
}
這裏BOOKNAME和BookIssue是實體, 所以,當我們問「我需要的Java書」 =>應該進入BOOKNAME實體提供書的詳細信息。 當我們問「發給我java書」=>它應該進入BookIssue實體來處理簽發手續。
在此先感謝
代碼示例可能對我們有所幫助。 – Svekke
@Svekke,我已編輯的問題添加代碼 –
@PareshBijarane你可以將代碼發佈到應該發生圖書發行的意圖? – artie