当前位置: 首页 > news >正文

【NLP开发】Python实现聊天机器人(微软Azure机器人服务)

🍺NLP开发系列相关文章编写如下🍺:

  1. 🎈【NLP开发】Python实现词云图🎈
  2. 🎈【NLP开发】Python实现图片文字识别🎈
  3. 🎈【NLP开发】Python实现中文、英文分词🎈
  4. 🎈【NLP开发】Python实现聊天机器人(ELIZA))🎈
  5. 🎈【NLP开发】Python实现聊天机器人(ALICE)🎈
  6. 🎈【NLP开发】Python实现聊天机器人(ChatterBot)🎈
  7. 🎈【NLP开发】Python实现聊天机器人(微软Azure)🎈
  8. 🎈【NLP开发】Python实现聊天机器人(钉钉机器人)🎈
  9. 🎈【NLP开发】Python实现聊天机器人(微信机器人)🎈

文章目录

  • 1、简介
  • 2、创建和启用虚拟环境
  • 3、安装相关Python库
  • 4、创建机器人
  • 5、启动机器人
  • 6、启动模拟器并连接机器人
  • 结语

1、简介

正因为对话机器人有如此广泛的应用,技术应用也层出不穷。如百度开源的基于检索式机器人的框架AnyQ;Google开源的基于生成式对话系统DeepQA;Facebook开源的基于阅读理解的系统DrQA;北京大学知识库问答系统gAnswer。

在这里插入图片描述

  • 什么是 Bot Framework SDK?
    Microsoft Bot Framework和 Azure 机器人服务是库、工具和服务的集合,可用于生成、测试、部署和管理智能机器人。 Bot Framework 包括一个模块化且可扩展的 SDK,用于生成机器人并连接到 AI 服务。 借助此框架,开发人员可以创建使用语音、理解自然语言、回答问题等的机器人。
    在这里插入图片描述

  • 什么是机器人?
    机器人提供了一种体验,感觉不像使用计算机,更像是与人打交道,或者智能机器人。 可以使用机器人将简单的重复任务(如预订晚餐或收集个人资料信息)转移到可能不再需要直接人工干预的自动化系统中。 用户使用文本、交互卡和语音与机器人聊天。 机器人交互可以是一个快速回答问题或参与的对话,该对话可智能地提供对服务的访问。

在这里插入图片描述

  • 如何生成机器人?
    Azure 机器人服务和Microsoft Bot Framework提供了一组集成的工具和服务,可帮助你在机器人生命周期的所有阶段设计和生成机器人。 C#、Java、JavaScript、Typescript 和 Python 存在 SDK。 请选择最喜欢的开发环境或命令行工具以创建机器人。
    在这里插入图片描述
  • 如何测试机器人?
    (1)使用Bot Framework Emulator在本地测试机器人。 Bot Framework Emulator 是独立的应用,不仅提供聊天界面,而且提供调试和询问工具来帮助理解机器人的工作方式和工作原理。 Emulator 可以在本地与正在开发的机器人应用程序一起运行。
    (2)在 Web 上测试机器人。 通过 Azure 门户进行配置以后,机器人也可通过网上聊天界面进行访问。 测试者和其他无法直接访问机器人的运行代码的人员可以通过网上聊天界面访问机器人。
    (3)使用当前 Bot Framework SDK 对机器人进行单元测试。

2、创建和启用虚拟环境

导航到要在其中创建机器人的目录。 然后针对首选平台运行以下命令。 激活虚拟环境后,命令行/终端应以前面开头 (venv)。 这让你知道虚拟环境处于活动状态。 可以通过键入: deactivate随时停用虚拟环境。

python -m venv venv
venv\Scripts\activate.bat

3、安装相关Python库

pip install botbuilder-core
pip install asyncio
pip install aiohttp
pip install cookiecutter==1.7.0

在这里插入图片描述

4、创建机器人

Welcome to the Bot Framework samples repository. Here you will find task-focused samples in C#, JavaScript and TypeScript to help you get started with the Bot Framework SDK!

https://github.com/microsoft/botbuilder-samples#readme
在这里插入图片描述

从工作目录中运行以下命令,下载echo机器人 模板及其依赖项:

cookiecutter https://github.com/microsoft/BotBuilder-Samples/releases/download/Templates/echo.zip

在这里插入图片描述
系统会提示你为机器人提供名称和说明。 输入以下值:

bot_name: echo_bot
bot_description:回显用户响应的机器人。

在这里插入图片描述
输入完上面两个参数之后,自动创建如下工作文件夹。
在这里插入图片描述

5、启动机器人

在命令行/终端中,将目录更改为 xiaomu。

cd xiaomu

在这里插入图片描述
安装回显机器人模板的依赖项:

pip install -r requirements.txt 

在这里插入图片描述
安装依赖项后,运行以下命令来启动机器人:

python app.py

在这里插入图片描述
复制最后一行中的 http 地址。 使用模拟器与机器人交互时,需要用到它。

6、启动模拟器并连接机器人

下载模拟器:
https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v4.14.1
在这里插入图片描述

安装模拟器:
在这里插入图片描述
在这里插入图片描述

启动 Bot Framework Emulator:
在这里插入图片描述

选择模拟器的“欢迎”选项卡中的“打开机器人” (Open Bot)。
在这里插入图片描述
输入机器人的 URL,即本地主机和端口,并将其 /api/messages 添加到路径。 地址通常为: http://localhost:3978/api/messages
在这里插入图片描述
然后选择“连接” 。向机器人发送消息,机器人将会回复。
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
在这里插入图片描述

相关文章:

  • MyBatis框架总结
  • 10.3国庆作业(UART实验)
  • 西瓜书研读——第五章 神经网络:感知机与多层网络
  • Docker实战:Docker安装Gitlab实用教程
  • 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)
  • 牛客网面试——数学类型3
  • 经典回顾 | 一种跨模态多媒体检索的新方法
  • 基于python+django框架+Mysql数据库的校园失物招领系统设计与实现
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • 【ML15】浅谈神经网络 Nerual Network
  • 串口实验(10.3)
  • 猿创征文 | 使用Docker部署openGauss国产数据库
  • Python 常用内置函数
  • 论文笔记系列:主干网络(二)-- DenseNet
  • 强化记忆:pycharm 部分快捷键
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • gulp 教程
  • Javascript编码规范
  • JavaScript设计模式之工厂模式
  • learning koa2.x
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • React-redux的原理以及使用
  • supervisor 永不挂掉的进程 安装以及使用
  • TCP拥塞控制
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 回顾2016
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 浅谈Golang中select的用法
  • 协程
  • 在Unity中实现一个简单的消息管理器
  • C# - 为值类型重定义相等性
  • gunicorn工作原理
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (145)光线追踪距离场柔和阴影
  • (Oracle)SQL优化技巧(一):分页查询
  • (七)c52学习之旅-中断
  • (三) diretfbrc详解
  • (十六)Flask之蓝图
  • (循环依赖问题)学习spring的第九天
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .a文件和.so文件
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET 反射 Reflect
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc