Python小度
这只是一个对话器!还不能听歌(反正我也没在UNIT平台配置听歌的功能)!
反正最近也不知怎么的,就想做一个AI对话器
语音识别和语音输出都不要,input()和print()就行
本来准备用小爱的,但要实名,身份证找不到
还是百度良心,不用实名认证,开始喽
代码
- 1 import requests
- 2 import random
- 3 import datetime
- 4
- 5 helpword='''
- 6 Python小度 帮助
- 7 本地帮助
- 8 $help 获取帮助
- 9 $quit 退出
- 10 $get_acc_token 获取access token
- 11 $test 测试网络连接
- 12 '''
- 13
- 14 def localCommand(word):
- 15 if word=='$help':
- 16 print(helpword)
- 17 elif word=='$quit':
- 18 exit()
- 19 elif word=='$get_acc_token':
- 20 print(get_acc_token())
- 21 elif word=='$test':
- 22 print(requests.get("https://www.baidu.com"))
- 23
- 24 def get_acc_token():
- 25 dic={'grant_type':'client_credentials','client_id':'OgyQl5Pc3zN9kFGs4UHqrnxf','client_secret':'cEh2zkvbPuxi4me5jj068VaRGg00Vf06'}
- 26 res=requests.post("https://aip.baidubce.com/oauth/2.0/token",data=dic)
- 27 req=res.json()
- 28 acc_token=req['access_token']
- 29 return acc_token
- 30
- 31 def chat(word):
- 32 skill_ids=['1036063','1036064','1036060','1036062','1036059','1036061']
- 33 dic={
- 34 'log_id':str(random.random()),
- 35 'request':{
- 36 'query':word,
- 37 'user_id':str(random.randint(0,16384))
- 38 },
- 39 'session':'',
- 40 'skill_ids':skill_ids,
- 41 'service_id':'S31885',
- 42 'version':'2.0'}
- 43 res=requests.post("https://aip.baidubce.com/rpc/2.0/unit/service/chat?access_token="+get_acc_token(),json=dic)
- 44 req=res.json()
- 45 unit_chat_obj_result = req["result"]
- 46 unit_chat_response_list = unit_chat_obj_result["response_list"]
- 47 # 随机选取一个"意图置信度"[+response_list[].schema.intent_confidence]不为0的技能作为回答
- 48 unit_chat_response_obj = unit_chat_response_list[0]
- 49 unit_chat_response_action_list = unit_chat_response_obj["action_list"]
- 50 unit_chat_response_action_obj = random.choice(unit_chat_response_action_list)
- 51 unit_chat_response_say = unit_chat_response_action_obj["say"]
- 52 return unit_chat_response_say
- 53
- 54 print(get_acc_token())
- 55 print('2020 By 人工智障')
- 56 print('调用本地功能请在关键词前面输入$,更多帮助请输入$help')
- 57 print('==================================================')
- 58
- 59 while True:
- 60 curr_time=datetime.datetime.now()
- 61 print('我 '+datetime.datetime.strftime(curr_time,'%Y-%m-%d %H:%M:%S'))
- 62 word=input('')
- 63 print('')
- 64 localCommand(word)
- 65 curr_time=datetime.datetime.now()
- 66 print('小度 '+datetime.datetime.strftime(curr_time,'%Y-%m-%d %H:%M:%S'))
- 67 print(chat(word))
- 68 print('')
虽然我把代码贴出来了,但希望你不要在我不知道的情况下拿我的api key和api secret去干别的,如果真的要拿去做别的事,就跟我说一声。
下载
名称 | Python小度 |
链接 | https://n802.com/dir/27256477-40136798-aa8542 |
py文件 | 有 |
exe文件 | 无 |
一键安装库 | 提供 |
Python小度的更多相关文章
- Python selenium根据class定位页面元素
在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: <div cl ...
- [转]0.python:scikit-learn基本用法
感谢百小度治哥,该文原地址:here 经Edwin Chen的推荐,认识了scikit-learn这个非常强大的python机器学习工具包.这个帖子作为笔记.(其实都没有笔记的意义,因为他家文档做的太 ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
随机推荐
- .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger
前言: 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比.个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议.因项目 ...
- CORS(跨域资源共享)笔记
0.前言 CORS(Cross-Origin Resource Sharing)是一个用于处理跨域问题的W3C标准,本文将介绍什么是跨域,引起跨域的同源策略,什么是CORS,CORS的工作过程,请求方 ...
- openstack高可用集群18-Ceph和openstack的对接
Ceph对接Openstack 官方文档: https://docs.ceph.com/docs/master/rbd/rbd-openstack/ Ceph的一个使用场景是结合Openstack ...
- python函数收集不确定数量的值
python写函数的时候,有时候会不确定到底传入多少值. 首先是,*args,单星号参数收集参数: 1 #!usr/bin/python 2 #-*-coding:utf-8-*- 3 4 #定义一个 ...
- 整合SSM框架
整合SSM 基本环境搭建 导入相关的pom依赖! <dependencies> <!--Junit--> <dependency> <groupId>j ...
- [leetcode]53Maximum Subarray动态规划经典题目:最大子串问题
/** * Find the contiguous subarray within an array (containing at least one number) * which has the ...
- 页面中嵌套iframe,微信浏览器长按二维码识别不了
问题:在微信浏览器内,页面中嵌套iframe,iframe中用户触发事件后有个弹框会显示二维码,用户长按二维码可以识别并跳转.尝试了一下,安卓是正常的,但是ios是识别不了的. 解决过程: 1.这里客 ...
- 已加载"C:\Windows\SysWOW64\msvcp120d.dll".无法查找或打开 PDB 文件.
已加载"C:\Windows\SysWOW64\msvcp120d.dll".无法查找或打开 PDB 文件. 今天使用vs2013遇到了这样的问题. 解决方案: 点调试. 然后选项 ...
- Java优雅停机
Java的优雅停机通常通过注册JDK的ShootDownHook实现,当系统接受到退出指令后,首先标记系统处于退出状态,不再接受新的消息,然后将积压的消息处理完,最后调用资源回收接口将资源销毁,最后各 ...
- SonarQube学习(三)- 项目代码扫描
一.前言 元旦三天假,两天半都在玩86版本DNF,不得不说,这个服真的粘度太高了,但是真的很良心. 说明: 注册账号上线100w点券,一身+15红字史诗装备以及+21强化新手武器.在线泡点一分钟888 ...