TeleGPT:让ChatGPT来到你的Telegram
在人工智能快速发展的今天,ChatGPT作为一款先进的对话AI模型,已经成为很多人日常生活和工作中不可或缺的工具。但是,如何在我们常用的即时通讯工具中方便地使用ChatGPT呢?TeleGPT项目为我们提供了一个绝佳的解决方案。
TeleGPT是一个开源的Telegram机器人项目,它允许用户在Telegram中直接与ChatGPT进行对话。这个项目不仅为普通用户提供了便利,也为开发者提供了一个优秀的学习范例。让我们一起来深入了解这个有趣的项目吧!
什么是TeleGPT?
TeleGPT是一个基于teloxide框架和async_openai库开发的Telegram机器人。它的主要目的是为用户提供一种简单的方式,使用自己的API密钥与最新的ChatGPT模型进行交互。
这个项目完全使用Rust语言编写,具有快速、安全和高效的特点。它不仅支持私人对话,还支持在群组中使用,让ChatGPT的强大功能可以在各种场景下发挥作用。
TeleGPT的主要特性
TeleGPT拥有许多令人兴奋的功能,让它成为一个强大而灵活的ChatGPT机器人:
- 🦀 高速响应: 得益于纯Rust的代码库,TeleGPT能够提供闪电般的响应速度。
- 📢 全面的聊天支持: 无论是私人对话还是群组聊天,TeleGPT都能完美适应。
- 🚀 实时令牌流: 你可以看到ChatGPT的回复正在实时地出现在消息气泡中,就像真人在打字一样。
- ⌨️ Telegram风格的Markdown渲染: 支持Telegram特有的Markdown格式,让回复更加丰富多彩。
- 💸 令牌使用统计: 记录并通过命令查询token的使用情况,帮助你更好地管理API使用量。
- ⚙️ 高度可定制: 通过基于文件的配置,你可以根据自己的需求自由定制机器人的行为。
- ✋ 管理员功能: 提供基本的管理员功能和用户访问控制,让你可以更好地管理机器人的使用。
如何获取并使用TeleGPT?
TeleGPT提供了多种安装和使用方式,以满足不同用户的需求:
Docker部署
对于那些希望在专用服务器上部署TeleGPT的用户,推荐使用预构建的Docker镜像。这些镜像通过GitHub Container Registry发布,目前支持amd64架构的机器。
使用Docker部署TeleGPT的步骤如下:
- 登录GitHub Container Registry:
docker login -u your_github_username -p your_personal_access_token https://ghcr.io
- 创建配置文件:
cp config.json.example config.json
然后按照指示在config.json
中填入必要的令牌信息。你需要准备:
- 启动Docker容器:
docker-compose up -d
此外,还有一些有用的Docker命令:
docker-compose logs -f # 查看日志
docker-compose down # 停止容器
docker-compose pull # 拉取最新镜像
从发布版本下载
如果你想在本地部署或测试TeleGPT,可以直接从GitHub Releases页面下载预编译的二进制文件。目前支持Linux和macOS(包括Intel和Apple Silicon芯片)系统。
从源代码构建
对于开发者或者想要自定义TeleGPT的用户,可以选择从源代码构建:
- 克隆仓库
- 运行
cargo build --release
如何使用TeleGPT?
在运行TeleGPT之前,你需要创建一个配置文件。默认情况下,程序会从当前工作目录读取telegpt.config.json
文件,你也可以通过-c
选项指定配置文件路径。
配置文件的详细说明可以在这里找到。下面是一个配置文件的例子:
{
"openaiAPIKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"botToken": "8888888888:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"adminUsernames": ["cyandev"],
"conversationLimit": 30,
"databasePath": "./path/to/telegpt.sqlite",
"i18n": {
"resetPrompt": "我准备好接受新的挑战了。现在我能为你做些什么?"
}
}
配置完成后,只需运行:
/path/to/telegpt
当你看到 "Bot is started" 的消息时,就说明机器人已经成功启动了!
管理员功能
TeleGPT还提供了一些基本的管理员功能,让你可以控制谁能使用机器人,并且可以动态地改变成员列表。
默认情况下,机器人是公开可用的。如果你只想在一小群人中使用,可以发送 /set_public off
命令将机器人设为私有模式。要恢复公开模式,发送 /set_public on
即可。
在私有模式下,只有管理员用户和被邀请的成员可以与机器人对话。你可以通过 /add_member
和 /del_member
命令来添加或删除成员,参数是用户名。例如: /add_member cyandev
。
数据库
TeleGPT使用SQLite数据库来存储运行时产生的一些数据。如果你没有提供本地文件路径,数据将存储在内存数据库中。为了保证数据在重启后不会丢失,建议使用基于文件的数据库。
TeleGPT的未来发展
TeleGPT团队正在积极维护这个项目,并计划开发更多有趣的功能:
- 使用指数退避算法进行重试
- 对话预设
- 更友好的管理员操作界面
- 通过HTTP API进行远程控制
如何贡献
TeleGPT是一个开源项目,欢迎大家提出问题和贡献代码。在提交新的issue或PR之前,最好先查看一下现有的内容。如果你有新的想法或功能请求,也可以在开始工作之前先讨论一下。
结语
TeleGPT为我们提供了一种简单而强大的方式,让我们可以在Telegram中轻松使用ChatGPT。无论你是想要在日常交流中获得AI的帮助,还是想要在群组中分享ChatGPT的智慧,TeleGPT都能满足你的需求。
通过这个项目,我们不仅看到了ChatGPT的强大功能,也看到了Rust语言在构建高性能应用程序方面的优势。TeleGPT的开源性质也为开发者提供了一个学习和改进的机会。
如果你对AI聊天机器人感兴趣,不妨试试TeleGPT。它可能会成为你在Telegram上的得力助手,为你的对话增添一份智慧的光彩。
让我们一起期待TeleGPT的未来发展,看看它会如何继续改变我们与AI交互的方式!