0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么利用Termux搭建一个ChatBot聊天服务

汽车电子技术 来源:安卓脚本 作者:Mr.Yu 2023-03-03 10:24 次阅读

Termux是一个Android终端仿真器Linux环境应用程序,直接工作,无需根目录或设置。一个最小的基本系统被自动安装-额外的软件包可以使用APT软件包管理器来使用。不需要root,运行于内部存储(不在SD卡上)。

安装包,最好使用GooglePlay版本的,如果你无法下载GooglePlay版本的app,那你可以从F-Droid里面下载,(微信搜:anzhuojiaoben,关注我) 两者是一样的.F-Droid里面应该是不需要翻墙的. 或者下载我的这个包, 不过我忘记了,是不是我加工过的版本图片,可能修改了某些东西,如果介意,还是下载官方的, 总之不推荐从酷安下载的版本.

**Termux下载: **

百度网盘: https://pan.baidu.com/s/1nHGqIs29gJQOipOiQN7I2Q?pwd=1si5

我的网盘: https://pan.iqqclub.com:8001/d/c5ec7d40b7d04044962a/

密码: rBNHx6

Python程序包下载:

百度网盘: https://pan.baidu.com/s/1njcp-tiszzlSrIR-jIn6XA?pwd=8biu

我的网盘: https://pan.iqqclub.com:8001/f/d1a53fe8078244579728/

密码:Q7jnX8

接下来是安装过程了:

新装的用户需要先进行更新操作

//换源, 换成国内的源,执行命令后会出现UI,UI展示在下方的图片上
// (微信搜:anzhuojiaoben,关注我)
termux-change-repo


//更新apt和升级现有软件包(微信搜:anzhuojiaoben,关注我)
apt update && apt upgrade
// 注意在执行upgrade时,过程中会卡住,提示你输入,统一输入 y 然后按回车即可


// 申请存储使用权限,这个务必执行,如果你想在termux或者linux系统中
//使用手机的sdcard目录的话(微信搜:anzhuojiaoben,关注我)
termux-setup-storage


// 安装linux系统,这里使用debian
apt install proot proot-distro
proot-distro install debian


// 登录debian系统 这条命令在你安装完成debian后有提示
proot-distro login debian

图片

图片

为了方便输入操作,(微信搜:anzhuojiaoben,关注我)建议另外安装openssh( 如果你没有电脑,请忽略,直接跳转到, 进入debian操作的部分 )

//安装过程中会提示输入Y, 并回车, 或者直接加上 -y 参数
apt install openssh


//然后使用passwd命令去修改termux的用户密码
passwd


//执行passwd命令时,如果有报错,可能是因为 termux-auth没有安装
//手动安装一下在试
apt install termux-auth


//查看termux的系统用户名
whoami


//都设置完成后,需要启动sshd服务
sshd

图片

如上图所示,我的用户名为u0_a258, 然后设置了一个密码,那么在PC上连接手机(手机电脑需要在同一个局域网内),那在电脑上连接的命令为

ssh u0_a258@192.168.123.85 -p8022


回车后,会提示你输入刚才设置的密码.8022是termux开放的ssh连接端口,
因为没有root权限, 所以22端口无法被使用, 同理80 443等端口在termux没有
root权限的情况下,也没法直接使用.(微信搜:anzhuojiaoben,关注我)


windows电脑win10之上的系统, 可以在powershell中使用ssh命令

图片

图片

下面进入debian去操作:

在debian系统中,使用的环境为 arm64, 而非aarch64,这也是为什么会在debian中去安装, 而不是直接在termux中安装,倘若在termux中安装的话, 目前python版本为3.11.1并且没有低版本提供安装, 源码编译安装还会遇到各种错误,需要一路过关斩将的去处理,非常复杂.

//关于debian更换国内源的方法, 这里就不提供了, 百度一下
//一堆一堆的教程.


//在debian中,同样需要先更新
apt update && apt upgrade
//然后安装必要的依赖包
apt install -y wget build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev vim


//下载python3.10的源码包
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
(微信搜:anzhuojiaoben,关注我)
//解压程序包
tar xzf Python-3.10.0.tgz
cd Python-3.10.0


//开始编译安装python
mkdir /usr/local/python3.10
./configure --prefix=/usr/local/python3.10 --enable-optimization
//设置编译配置,需要一段时间, 请耐心等待.


//完成后,开始编译安装, 注意安装时间较长,注意保持手机不要锁屏
make && make install


//编译安装完成后,验证python版本
python3 --version

至此python3.10安装完成, 下面是配置一下python的程序,并启动服务了,程序很简单, 就一个文件,但是需要安装一堆的依赖

注意:

如果你输入 python --version提示没有python命令,请查看/usr/local/python3.10/ 内是否有文件,python和pip命令在 bin目录下.

图片

你可以直接使用绝对路径来测试, 或者添加环境变量

/usr/local/python3.10/bin/python3 --version

图片

//添加永久环境变量
echo 'export PATH=$PATH:/usr/local/python3.10/bin' >> /etc/profile


//执行完上面的命令后, 检查一下文件, 是否和下图一致.
cat /etc/profile
(微信搜:anzhuojiaoben,关注我)
//如果和下图一致,则执行一下下面的命令
source /etc/profile

图片

然后再在终端中输入python3 --version,就不会出问题了

图片

将上面下载的python程序包,放置到手机的/sdcard下并解压,(路径无绝对,你也可以放在/sdcard下的其他文件夹中.) 在debian系统中可以直接进入/sdcard文件夹访问安卓(微信搜:anzhuojiaoben,关注我)手机的文件.如果你没有, 那你一定是忘记在 termux中申请使用存储权限的指令,需要回到termux中,重新申请一下, 再回到debian中,就有了.

或者使用命令直接下载(如果链接没有失效的话):

wget https://pan.iqqclub.com:8001/seafhttp/files/91728b2f-4ec9-4e85-a4c8-b807db4bae49/ChatBot.zip

chatBot.zip 下面有三个文件

config.json 文件中是openAI的配置选项, 这里你主要设置一下api-key

chatbot.py 是主程序,除文件最后一行的端口号,可以修改外, 其他地方如果你不明白是什么意思, 请不要修改.

package.txt 是所有的依赖包,通过pip去安装的

图片

OpenAI的api-key需要你自己去openAI的官方注册账号,并申请一个api-key, 官方地址: https://beta.openai.com/login/

图片

配置好你的api-key后, 开始安装服务端.

//先进入到程序所在目录
cd chatbot
//首先安装依赖包
pip3 install -r package.txt
//安装过程所用时间,根据你使用源的速度来定.安装完成后执行


//启动服务端
python3 chatbot.py
//执行后,会再次下载部分文件,如果出现下图的提示,则为启动成功了

图片

因为我没有使用wifi,服务端启动的时候, 直接用的是我移动网络的公网IP.如果你是wifi的话, 会提示你局域网的IP地址+端口号,(微信搜:anzhuojiaoben,关注我) 你使用电脑或者手机就可以直接访问了, 下面我们用本机的Autojs来写一段代码,测试一下这个服务是否可以跑起来.

测试代码:

let url = "http://127.0.0.1:5555/chat";
let data = {
    msg : "哈哈,今天也是元气满满的一天呢,是不是?",
    uuid : "1234567890-abcd-efgh-ijkl-1234567890",
}


http.postJson( url, data, {}, function( res, err ) {
    if ( err ) {
        toastLog( err );
        return;
    }
    let result = res.body.json();
    let msg = result.data.msg;
    console.log( msg );
} );

测试结果:

图片

图片

接口跑起来了, 测试没问题, 那么就可以进行下一步了, 写一个对话应用吧

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125647
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206744
  • APT
    APT
    +关注

    关注

    0

    文章

    38

    浏览量

    10684
收藏 人收藏

    评论

    相关推荐

    基于python的twisted框架编写简单的聊天

    twisted:基于python的twisted框架编写客户端和服务端的对话聊天空间
    发表于 12-25 10:33

    直播系统搭建中推流是什么?直播系统搭建会遇到哪些难题?

    常大的,直播中,天流量的高峰期是在晚上,对于些网络红人的直播或者是明星的直播,流量会下子暴涨,流量的忽高忽低自然就对服务器提出了更高的要求。视频直播开发是
    发表于 04-03 10:14

    如何利用Python+ESP8266 DIY 智能聊天机器人?

    如何利用Python+ESP8266 DIY 智能聊天机器人?
    发表于 02-14 06:16

    在Ubuntu上利用Flask搭建简单的服务器的方法

    首先在Ubuntu上利用Flask搭建简单的服务器,并且打开利用配置好ESP32的Ardui
    发表于 02-15 06:04

    如何利用esp8266去搭建种网络服务器呢

    如何去实现http协议中默认使用80端口访问网页呢?如何利用esp8266去搭建种网络服务器呢?
    发表于 02-22 08:09

    如何在Arm上利用Istio搭建基于Kubernetes的Service Mesh平台

    ,另方面,又通过Service Function Chain将各个服务有机的连接在起,从而组合实现复杂的功能。在这篇文章中,我们将介绍如何在Arm平台上,利用Istio,
    发表于 03-30 10:59

    源码-聊天服务

    易语言是一门以中文作为程序代码编程语言学习例程:易语言-源码-聊天服务
    发表于 06-06 17:43 2次下载

    分享几款聊天机器人平台玩转聊天机器人

    聊天机器人(chatbot)这一新热点正使越来越多的顶尖公司试图改进技术并将其整合到自家的消息平台之中,像Facebook和Telegram这样的行业大佬已经在这一领域有了许多进展。其实
    发表于 09-29 14:35 0次下载

    饭店业者迎聊天机器人新成员 简化流程及提升客户体验

    随著对话式商务风潮和个性化服务趋势的兴起,聊天机器人(chatbot)技术也愈来愈受到各行各业的欢迎。对于饭店业者和消费者来说,chatbot不仅能够针对许多
    发表于 01-30 09:13 694次阅读

    AI走入国会 立委提供聊天机器人为选民服务

    透过ChatBot来解决较简单的小问题,即可让企业使用者可以投入更多时间来处理更为复杂的客户疑难杂症;且聊天机器人拥有24小时皆可提供服务的特性,可让只有次要问题的客户,可以在最短的时间内得到问题的反馈。
    发表于 02-26 14:09 916次阅读

    对于服务器我们该如何搭建会比较好呢

    服务器怎么搭建好呢?首先我们要考虑的是做什么类型的服务器,比如有: 1.架设最常用的DNS和DHCP服务器 2.搭建WEB
    的头像 发表于 07-02 18:02 1956次阅读

    Termux Android终端仿真应用程序

    ./oschina_soft/termux-app.zip
    发表于 05-26 16:39 0次下载
    <b class='flag-5'>Termux</b> Android终端仿真应用程序

    roby-chatbot语音聊天机器人

    ./oschina_soft/gitee-roby-chatbot.zip
    发表于 05-26 11:31 1次下载
    roby-<b class='flag-5'>chatbot</b>语音<b class='flag-5'>聊天</b>机器人

    如何利用Gateway搭建网关服务

    网关作为微服务中非常重要的一部分,是必须要掌握的;本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关
    的头像 发表于 01-21 16:06 960次阅读
    如何<b class='flag-5'>利用</b>Gateway<b class='flag-5'>搭建</b>网关<b class='flag-5'>服务</b>?

    ChatGPT和Chatbot有什么区别

    ChatGPT和Chatbot有什么区别 ChatGPT和chatbot是两种不同类型的对话系统。也有人认为,ChatGPT是AI 2.0时代以GPT为核心技术成功应用的新一代Chatbot
    的头像 发表于 08-09 15:14 3785次阅读