当前位置: 首页 > 技术突破

如何使用Microsoft Bot框架创建聊天机器人

时间:2024-02-27 22:34:28 技术突破

  这是用C#写的一个简单的“ Hello World”程序:

  要运行此程序,您将:

  创建一个新的C#文件,例如。

  将提供的代码写入或粘贴到该文件中。

  使用C#编译器编译并运行程序(例如,使用.NET CLI,通过在控制台中运行)。

  “,“ sender”:“ gpt”,“ create_at”:“ 2023-12-04 11:52:13”},{“ id”:2165,“身体”:“发送者”:“用户”,“ create_at”:“ 2023-12-04 11:52:04”},{“ id”:2164,“ body”:“”

  实现.NET编程的熟练程度涉及学习,练习以及最新技术和最佳实践的最新信息。这里有一些步骤可以帮助您成为专业的.NET开发人员:

  掌握基本原理:确保您对C#有很好的了解,这是用于.NET开发的主要语言。了解数据类型,控制结构,类,对象,继承和其他基本概念。

  了解.NET CORE和.NET框架:了解.NET Core和.NET框架之间的差异以及何时使用。

  学习ASP.NET核心:对于Web开发,ASP.NET核心至关重要。首先制作简单的Web应用程序,然后逐渐转移到更复杂的项目。

  数据库知识:了解如何使用数据库。了解ORM的实体框架核心(对象关系映射)以及如何与SQL数据库一起使用。

  练习:像任何技能一样,编码需要练习。在迫使您解决问题并运用所学知识的项目上工作。

  读取和编写代码:在GitHub等存储库上阅读其他人的代码,并为开源项目做出贡献。另外,养成自己编写清洁和可维护的代码的习惯。

  了解设计模式:了解软件设计模式和诸如固体,干燥和Yagni之类的原理,这些模式有助于编写结构良好,可扩展和高效的代码。

  保持更新并继续学习:技术领域会迅速发展,因此您应该使用最新的.NET版本,软件包和框架进行更新。关注博客,加入论坛,并参加.NET社区。

  使用开发工具:对视觉工作室,Visual Studio代码和其他开发工具感到满意。学习使用调试工具和版本控制系统(例如Git)。

  建立一个投资组合:随着您的发展,将您的工作组合组合在一起,以向潜在的雇主或客户展示您的技能。

  认证和课程:您可以考虑获得认证,例如Microsoft认证的解决方案开发人员(MCSD)认证,并参加在线课程以增加您的技能的正式认可。

  软技能:除了技术能力外,还要研究您的软技能,例如沟通,团队合作和解决问题,这对于职业成功至关重要。

  请记住,精通.NET是一段旅程。它需要时间,耐心和一致的努力。开始小,不要害怕向社区寻求帮助,或者如果需要更多结构化的指导,请考虑雇用导师。51:20“},{“ id”:2163,“身体”:“您能帮助我如何成为.net中的Pro编码器,“ sender”:“用户”,“ create_at”:“ 2023-12-0411:50:37“},{“ ID”:2162,“ Body”:“我是AI,旨在协助您的查询。我如何使用Microsoft Bot框架来帮助您创建聊天机器人?,“正文”:“你好吗”,“ sender”:“用户”,“ create_at”:“ 2023-12-04 11:50:08”}]},{“ id”:522,“摘要”:“用户请求有关如何使用Microsoft Bot框架创建聊天机器人的信息和核心机器人模板中的代码流。12-04 09:29:31“,“ user_uid”:“ wsgizu2resn4j7io”,“消息”:[{“ id”:2152,“ body”:“”

  Microsoft Bot框架提供的核心机器人模板包括一个典型的机器人体系结构,其标准组件用于处理常见的机器人任务。让我们分解核心机器人模板中代码的流程:

  项目和依赖项

  Bot项目的结构是ASP.NET核心Web应用程序。它使用机器人构建器SDK软件包来处理机器人功能。

  依赖项(例如microsoft.bot.builder库)在.csproj文件中指定,对于bot操作至关重要。

  启动配置

  在启动.cs文件中,已注册了与机器人相关的服务,包括特定于机器人的服务,例如州管理,对话框和机器人本身。

  应用程序的中间件管道配置为适当使用这些服务。

  机器人实施

  Core Bot模板通常带有从ActivityHandler基类继承的Bot类(例如Echobot,CoreBot)。

  该机器人类覆盖了处理不同类型的活动/事件的各种方法,例如消息,对话更新等。模板为这些方法提供了样板。

  对话和转动处理

  对话框通常用于管理复杂的对话流。核心机器人模板可能包括用于常见任务的预定义对话框。

  该机器人使用转向上下文对象来表示传入活动,例如用户的消息。

  收到消息后,适配器调用OnTurnAsync方法,如果活动是消息,该方法又调用OnMessageActivityAsync。

  bot逻辑

  在OnMessAgeActivityAsync(或对话框)中,执行了机器人的逻辑。此逻辑决定了机器人应如何响应用户的输入。

  逻辑可以包括对用户消息的回应进行响应,启动对话框以收集更多信息,或使用自然语言理解(NLU)处理输入(如果连接到Luis(语言了解智能服务))。

  国家管理

  核心机器人模板包含了如何使用状态对象在多个回合中保存对话数据的示例。

  状态管理课程有助于管理会话数据,用户数据和对话之间的对话数据。

  中间件

  中间件组件可以添加到机器人的请求处理管道中,以在机器人的主要逻辑运行之前或之后执行任务。

  常见的中间件示例包括记录,遥测和翻译服务。

  测试和仿真

  机器人框架模拟器允许您在本地测试该机器人。通过将模拟器连接到机器人的端点,您可以与机器人进行交互,就好像它被部署在频道中一样,从而使您可以调试和完善机器人的行为。

  因此,核心机器人模板为起点提供了推荐实践,您可以根据机器人的特定需求和目标自定义和扩展。:05“},{“ id”:2151,“ body”:“我想了解核心机器人模板中的代码流,“ sender”:“ user”,“ create_at”:“ 2023-12-04 11:27:05“},{“ id”:2123,“身体”:”

  你好!今天,我该如何帮助您进行聊天机器人或Microsoft Bot框架查询?“正文”:“ hii”,“ sender”:“用户”,“ create_at”:“ 2023-12-04 10:46:20”},{“ id”:2049,“ body”:“”

  Microsoft Bot框架中的核心机器人流可以通过几个关键步骤来理解:

  初始化和设置

  首先,您可以使用模板创建一个机器人项目,例如文章中提到的“ Echo Bot”模板,该模板设置了机器人的基本脚手架。

  该项目包括一个机器人文件(例如'echobot.cs'),其中机器人的逻辑将位于其中。

  定义bot逻辑

  机器人的行为是在其方法中定义的,尤其是负责处理传入消息活动的方法(OnMessageActivityAsync)。

  OnMessAgeActivityAsync方法是指定机器人在收到消息时应执行的操作的地方。在Echo机器人模板中,它只是回荡了用户的消息。

  机器人逻辑可以像发送文本消息一样简单,也可以像执行各种命令,访问数据库或与其他服务和API集成一样复杂。

  与用户的互动

  当用户向机器人发送消息时,将通过适配器类的实例接收消息。

  适配器处理消息,创建转弯上下文,然后将其传递给机器人的OnTurnAsync方法。

  OnTurnAsync方法确定活动类型(例如,消息,对话更新),并调用适当的方法来处理它,例如消息的onMessageActivityAsync。

  测试机器人

  在部署机器人之前,您可以使用BOT框架模拟器在本地进行测试。

  仿真器允许您使用机器人开始对话,发送消息并检查机器人的响应和状态。

  部署和集成

  对机器人进行了测试,并且对其功能感到满意后,您可以将其部署到用于托管的Azure Bot服务中。

  然后,您可以从Azure Portal中注册机器人并配置频道,例如Microsoft团队,Slack,Facebook Messenger等,以使您的机器人在不同的平台上访问。

  请记住,构建更复杂的机器人通常涉及实施其他类,以管理对话,状态和集成AI功能。Microsoft提供了广泛的文档和SDK支持,以涵盖广泛的机器人功能。”,“发送者”:“ GPT”,“ create_at”:“ 2023-12-04 09:31:52”},{“ ID”:2047,“身体”:“我想了解流核机器人”,“发送者”:“用户”,“ create_at”:“ 2023-12-04 09:31:03”},{“ ID”:2046,“身体”“:”

  伟大的!如果您对使用Microsoft机器人框架创建聊天机器人有具体问题,或者您面临任何挑战,请随时提出,我会尽力为您提供帮助。”,“ Sender”:“ GPT”,“”,“create_at“:” 2023-12-04 09:30:37“},{“ id”:2045,“ body”:“ yes”,“ sender”:“ user”,“ user”,“ create_at”:“ 2023-12-0409:30:32“},{“ ID”:2044,“身体”:”

  我在这里帮助您解决您可能面临的任何问题或挑战。您需要使用Microsoft机器人框架或其他相关主题创建聊天机器人吗?:2043,“身体”:“你好吗”,“ sender”:“用户”,“ create_at”:“ 2023-12-04 09:30:00”},{“ id”:2040,“身体”:“

  你好!我今天如何为您的聊天机器人开发提供帮助?“ hi”,“ sender”:“用户”,“ create_at”:“ 2023-12-04 09:29:31”}]},{“ id”:434,“ summary”:“用户询问有关学习SharePoint的询问在线并在SharePoint中创建自定义属性。”,“ Updated_at”:“ 2023-12-14 14:58”,“ create_at”:“ 2023-12-03 17:17:14”,“ user_uid”,“ user_uid”:“ mhbdtugqvo8wi1ff”,“消息”:[{“ id”:1758,“身体”:”

  要在SharePoint在Online中创建自定义属性,也称为站点列,请按照以下步骤:

  导航到您要创建自定义属性的SharePoint Online网站。

  在网站上,单击右上角的齿轮图标以打开“设置”菜单,然后选择“站点内容”。

  在网站内容页面上,查找并单击“站点设置”(如果您使用的是现代SharePoint网站,则可能需要单击“站点信息”,然后“查看所有站点设置”才能查看站点设置选项)。

  在“ Web Designer画廊”部分下,单击“站点列”。

  单击“创建”以开始定义您的新站点列。在这里,您将呈现一种表格,您可以在其中指定自定义属性的详细信息,例如:

  名称和类型:为您的列提供名称,然后选择此列将保存的信息类型(文本,编号,日期和时间等)。

  小组:选择一个现有的组来将您的新专栏放入或创建一个用于组织目的的新组。

  其他列设置:配置特定于您创建的列类型的其他设置,这些设置可能包括默认值,文本字段的最大字符长度,等等。

  完成新列的详细信息后,单击“确定”以创建列。

  现在,您可以创建您的新自定义属性(站点列),并且可以在您的网站集合中添加到任何列表或库中,以确保内容管理的一致性和易度性。请记住,在根网站级别上创建站点列可以使其在同一站点集合中的子站点,列表和库中重复使用。

  如果您打算广泛使用自定义属性,或者想在许多站点或站点集合中自动化此过程,请考虑使用SharePoint PNP PowerShell或SharePoint Online Management Shell以获取更高级的操作和脚本功能。在将更改应用于生产之前,请注意在开发环境中测试您的脚本。”,“发送者”:“ GPT”,“ create_at”:“ 2023-12-03 17:19:58”},{“ ID”:1756,“正文”:“如何在SharePoint Online上创建自定义属性”,“发送者”:“用户”,“ create_at”:“ 2023-12-03 17:19:18”},{“ ID”:1754,“身体”:”

  SharePoint Online是Office 365 Suite的一部分,该套件为其用户提供了一系列协作和内容管理功能。要在线学习SharePoint,您可以执行以下步骤:

  了解基础知识:熟悉SharePoint及其主要功能。SharePoint Online是一个平台,用于组织和共享团队和组织之间的信息。

  参加在线课程或教程:Microsoft Learn,Coursera,Udemy,Pluralsight或LinkedIn Learning等平台提供了许多在线课程,可在SharePoint Online上提供深入的教程。

  Microsoft文档:查看有关SharePoint的Microsoft官方文档,该文档提供了全面的指导和最佳实践。

  设置SharePoint网站:使用您的Office 365帐户创建一个新的SharePoint网站,然后开始尝试文档库,列表,页面和Web零件。

  了解权限:了解SharePoint权限级别以及如何将其分配以有效,安全地管理您的网站。

  探索协作功能:潜入诸如文档共同创作,共享和团队集成之类的功能。

  学会自定义:了解如何使用主题和Web零件自定义SharePoint网站,以满足团队或组织的需求。

  自动化工作流程:了解如何使用Power Automate(以前称为Microsoft Flow)将业务流程自动化与SharePoint自动化。

  与社区互动:加入SharePoint社区在技术社区,Reddit或Stack Exchange等平台上,从他人的经验中学习并得到回答。

  练习:您在网上与SharePoint合作的次数越多,您就会变得越舒适。尝试在现实世界中使用SharePoint,以加深您的理解。

  Remeber,SharePoint Online是一项强大的服务,具有许多功能,因此一次专注于一个领域。快乐学习!”,“发送者”:“ gpt”,“ create_at”:“ 2023-12-03 17:18:06”},{“ id”:1753,“身体”:“请帮助我在线学习SharePoint在线学习“,“ sender”:“用户”,“ create_at”:“ 2023-12-03 17:17:48”},{“ id”:1752,“身体”:“”

  我是一名数字助理,旨在帮助您解决问题,并根据提供的内容提供有关编程,技术和信息查询等主题的指导。我今天如何为您提供帮助??”,“ sender”:“用户”,“ create_at”:“ 2023-12-03 17:17:23”},{“ id”:1750,“身体”:“”

  你好!今天,我该如何为您的聊天机器人或Microsoft Bot框架查询进行帮助?“正文”:“ hi”,“ sender”:“用户”,“ create_at”:“ 2023-12-03 17:17:14”}]},{“ id”:174,“ summary”:“用户询问有关使用Microsoft Bot框架下载机器人的源代码,并提供了用于创建和测试机器人的说明。-01 05:57:41“,“ user_uid”:“ bmvqasft45jthivw”,“ messages”:[{“ id”:684,“ body”:“文章中提供的源代码段与简单echo的创建有关使用Microsoft Bot框架的机器人。要创建类似的机器人,您需要设置开发环境并按照文章中概述的步骤进行操作。您需要的两个关键代码如下:

  对于您的.csproj项目文件:

  XML

  NetCoreApp3.1

  对于您的bot逻辑,包含`echobot.cs':

  CSHARP

  受保护的覆盖异步任务OnMessageActivityAsync(iturnContext Turncontext,concellationToken concellationToken)

  {

  var ReplyText = $“ echo:{turncontext.activity.text}”;

  等待TurnContext.SendActivityAsync(MessageFactory.text(ReplyText,ReplyText),cancellationToken);

  }

  开始创建机器人并有效地使用此源代码:

  1.确保您满足了所有先决条件:主动的Microsoft Azure订阅,Visual Studio(2019年或更高版本),以及安装在开发机上的.NET Core SDK 3.1。

  2.打开Visual Studio并按照教程中的描述创建一个新的Bot项目。

  3.将提供的XML片段插入您的.csproj文件中。

  4.在项目中将提供的C#逻辑片段实现到`echobot.cs。

  执行此操作后,您需要编译机器人并运行它。然后,您可以使用BOT框架模拟器测试机器人,您可以从[github版本释放页面的bot Framework仿真器]()中下载。

  为了获取具有完整源代码的更复杂的现成示例,您可能希望访问Microsoft官方存储库或查看[Github上的[Bot Framework SDK存储库]中提供的示例()。

  请记住,本文中说明的代码是构成机器人项目的一系列更大的文件和配置的一部分。您应该创建一个新的bot项目并将此源代码集成到该项目中,以开始创建bot。”,“ sender”:“ gpt”,“ create_at”:“ 2023-12-01 05:58:25”},{“ id”:683,“ body”:“下载源代码”,“发送者”:“用户”,“ create_at”:“ 2023-12-01 05:57:53”},{“ ID”:682,“身体”:“你好!我该如何使用Microsoft Bot框架为您提供聊天机器人开发?,“ bodom”:“ hello”,“ sender”:“用户”,“ create_at”:“ 2023-12-01 05:57:41”}]},{“ id”:36:36,“ summary”:null,null,null,“ UPDATED_AT”:“ 2023-12-14 14:11”,“ create_at”:“ 2023-11-30 01:53:12”,“ user_uid”:“ hqfze5ogz47e7egb”,“消息”,“消息”:[130,“身体”:”

  你好!我该如何使用Microsoft Bot框架来帮助您创建聊天机器人?,“ body”:“ Hello”,“ sender”:“用户”,“ create_at”:“ 2023-11-30 01:53:12”}]}]}}}}“ data-react-cache-id =”媒体/chat_posts/chatbox-0“ class =” wrapper-chat_box“ id =“ chats-box”>