我试图构建一个Facebook Messenger聊天机器人,并试图使用C#编写的Web应用程序来实现。(MVC)
到目前为止,到目前为止,我已经设法用相同的内容回答了聊天机器人,但是现在我需要使用相同的应用程序连接到数据库。
更准确地说,应该使同一应用程序可以在数据库中进行读写操作,以使聊天机器人以“智能”答案做出响应。我有一个用于响应客户端的控制器,但确实如此,但是我似乎无法弄清楚如何连接到数据库并将读取的信息提供给需要响应的控制器。
我做了一些研究,我知道我应该做一个Startup.cs(目前我还没有),并且我认为那是我应该使用工人从数据库读取和写入数据的地方。信息从那里进入控制器。
我不希望别人为我做我的工作,我只需要指导。我在使用C#时遇到了很多困难,因为我的主要重点是机器学习和python,但是如果有一些指导,我可以进行管理。
我的想法之一(我还没有尝试过)是制作另一个控制器(或2个读写),然后尝试在另一个控制器中调用它们进行聊天?
这个问题的范围比看起来更大。
对于客户端而言,正如Uwe Kim正确地说的那样,为使聊天机器人能够持续保持与服务器的连接,SignalR在Microsoft技术堆栈下似乎是一个不错的选择。
对于服务器端解决方案,我建议您看一下微服务体系结构(一组带有其自己的数据库的松耦合服务)识别信息类别并创建微服务以分别处理它们
A)有一个PrimaryController可以向用户提供基本的结构化消息,并根据从用户那里收到的输入对请求进行分类。一旦确定了类别,任何需要处理的特殊请求(例如从数据库中获取数据)将被传递到各自的辅助节点异步控制器。主控制器将等待副控制器的响应。如果辅助控制器答复了更多信息,请将其发布到客户端。同样,主控制器的工作将是验证它可以进行的输入。需要数据库检查的任何其他清理操作都可以传递到相应的辅助控制器。
B)辅助控制器的工作将是-1.验证输入。2.确定要获得必需信息所需涉及的所有微服务3.根据需要调用微服务4.通过主控制器将从微服务收到的响应传递回客户端
这些只是建议,您可能会考虑类似的观点!谢谢
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句