Python实现与智能机器人交互

本文将利用API与智能机器人进行人机交互,进行简单的聊天对话;代码由Python语言实现。

这里使用的机器人为图灵机器人,其官方网站为:http://www.turingapi.com

开始前,清先注册账号,并创建一个机器人,获得 apikey,userid 这两个关键参数。

为了简化POST和编码过程,我使用了 requests 这个库;

机器人API:

http://openapi.tuling123.com/openapi/api/v2

API文档:https://www.kancloud.cn/turing/www-tuling123-com/718227

import requests
 
robotAPI = 'http://openapi.tuling123.com/openapi/api/v2'
 
apiKey=''
 
userId=''
 
message=''
 
def sendMessage(message,apiKey=apiKey,userId=userId):
    
    jsondata = {'reqType': '0',
                'perception': {'inputText': {'text': message},
                               'inputImage': {'url': 'imageUrl'},
                'selfInfo': {'location': {'city': '北京', 'province': 'beijing', 'street': 'xinxilu'}}},
                'userInfo': {'apiKey': apiKey, 'userId': userId}}
    if not message:return 'empty message.'
 
    r=requests.post(robotAPI,json=jsondata)
 
    if r.status_code != 200:return 'error code'
 
    return r.json()
 
while 1:
    result=sendMessage(input('->'))['results'][0]['values']['text']
    print(result)
 

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/276.html

分类: 计算机技术
推荐阅读:
Golang创建一百万个轻量级线程并同时执行 Go语言在语言级别支持轻量级线程,叫 goroutine,执行时只需要4-5k的内存,比线程更易用,更高效轻便,调度开销更小,可同时运行上千万个并发。
Rust中的变量、常量和可变性 Rust默认情况下变量是不可变的;注意这里不可变的变量并不是常量,有编程经验的朋友可能会觉得一头雾水,让我们继续往下看;
Rust line宏的用法和示例 在Rust中,line宏用于获取代码中当前的行号;通过在代码中使用line宏,开发者可以轻松地在编译时获取到所在位置地行号信息,从而实现更灵活地代码逻辑和调试方案。
PySide6 修改按钮的样式 在PySide6中,你可以使用样式表(Stylesheet)来修改按钮的外观,比如按钮的字体大小、颜色、背景色等等;样式表是一种基于CSS的语法,允许你自定义控件的外观;
Python计算二阶行列式的值 本文将使用Python语言编写程序计算二阶行列式的值;
Rust env宏的用法和示例 在 Rust 中,env宏用于在编译时检查环境变量;该宏在编译时获取指定变量的值,返回一个&str类型,如果环境变量未定义,则会产生编译错误。