-
Notifications
You must be signed in to change notification settings - Fork 230
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Continuous Integration
committed
Nov 25, 2023
1 parent
f19853c
commit a217cea
Showing
2 changed files
with
41 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,57 @@ | ||
```markdown | ||
# ChatGPT Telegram Bot | ||
# ChatGPT 电报机器人 | ||
|
||
加入 [Telegram 群组](https://t.me/+_01cz9tAkUc1YzZl) 聊天,分享您的用户体验或报告 Bugs。 | ||
加入[电报群](https://t.me/+_01cz9tAkUc1YzZl)聊天,分享您的用户体验或报告错误。 | ||
|
||
[英语](./README.md) | [简体中文](./README.zh-CN.md) | [繁体中文](./README.zh-TW.md) | ||
|
||
## ✨ 特性 | ||
## ✨ 特点 | ||
|
||
✅ 支持 GPT3.5 和 GPT4/GPT4 Turbo API,DALLE 3 | ||
✅ 支持GPT3.5和GPT4/GPT4 Turbo API,DALLE 3 | ||
|
||
✅ 支持使用 duckduckgo 和 Google 进行在线搜索🔍。默认提供 DuckDuckGo 搜索,用户需要申请 Google 搜索的官方 API。它可以提供 GPT 之前无法回答的实时信息,如今日微博热搜、某地今日天气以及某人或新闻的进展。 | ||
✅ 支持在线搜索,使用duckduckgo和Google进行搜索🔍。默认提供DuckDuckGo搜索,用户需要申请使用Google搜索的官方API。它可以提供GPT之前无法回答的实时信息,例如微博热搜今天,某地今天的天气,以及某人或新闻的进展。 | ||
|
||
✅ 支持基于嵌入式向量数据库的文档问答。在搜索中,对搜索到的 PDF 进行自动向量语义搜索,基于向量数据库提取与 PDF 相关的内容。支持使用 "qa" 命令以 "sitemap.xml" 文件向量化整个网站,并基于向量数据库回答问题,特别适用于一些项目的文档网站和维基网站。 | ||
✅ 支持基于嵌入式向量数据库的文档QA。在搜索中,对搜索到的PDF进行自动向量语义搜索,并基于向量数据库提取与PDF相关的内容。支持使用“qa”命令将整个网站向量化,使用“sitemap.xml”文件,并基于向量数据库回答问题,特别适用于文档网站和某些项目的维基网站。 | ||
|
||
✅ 支持在聊天窗口通过 "info" 命令在 GPT3.5、GPT4 和其他模型之间切换 | ||
✅ 支持在聊天窗口中通过“info”命令在GPT3.5、GPT4和其他模型之间切换 | ||
|
||
✅ 异步处理消息,多线程回答问题,支持隔离对话,不同用户有不同的对话 | ||
|
||
✅ 支持消息的准确 Markdown 渲染,使用我另一个 [项目](https://github.com/yym68686/md2tgmd) | ||
✅ 支持消息的精确Markdown渲染,使用我另一个[项目](https://github.com/yym68686/md2tgmd) | ||
|
||
✅ 支持流输出,实现打字机效果 | ||
✅ 支持流式输出,实现打字机效果 | ||
|
||
✅ 支持白名单,防止滥用和信息泄露 | ||
✅ 支持白名单,防止滥用和信息泄漏 | ||
|
||
✅ 跨平台,在任何地方随时随地通过 Telegram 打破知识壁垒 | ||
✅ 跨平台,在任何地方随时随地通过电报突破知识壁垒 | ||
|
||
✅ 支持一键 Zeabur、Replit 部署,真正的零成本、傻瓜式部署,并支持 kuma 防睡眠。还支持 Docker、fly.io 部署 | ||
✅ 支持一键Zeabur、Replit部署,真正的零成本,白痴部署,并支持kuma防睡眠。还支持Docker、fly.io部署 | ||
|
||
## 环境变量 | ||
|
||
| 变量名 | 说明 | | ||
| ---------------------- | ------------------------------------------------------------ | | ||
| **BOT_TOKEN (必需)** | Telegram 机器人令牌。在 [BotFather](https://t.me/BotFather) 上创建机器人以获取 BOT_TOKEN。 | | ||
| **API (必需)** | OpenAI 或第三方 API 密钥。 | | ||
| WEB_HOOK | 每当 Telegram 机器人收到用户消息时,消息将传递到 WEB_HOOK,机器人将监听并及时处理收到的消息。 | | ||
| API_URL(可选) | 如果使用 OpenAI 官方 API,则不需要设置此项。如果使用第三方 API,需要填写第三方代理网站。默认值为:https://api.openai.com/v1/chat/completions | | ||
| GPT_ENGINE(可选) | 设置默认的 QA 模型;默认为:`gpt-3.5-turbo`。可以通过机器人的 "info" 命令自由切换,原则上不需要设置。 | | ||
| NICK(可选) | 默认为空,NICK 是机器人的名称。只有当用户输入的消息以 NICK 开头时,机器人才会回应,否则机器人将回应任何消息。特别是在群聊中,如果没有 NICK,机器人将回复所有消息。 | | ||
| PASS_HISTORY(可选) | 默认为 true。机器人记住对话历史,并在下次回复时考虑上下文。如果设置为 false,机器人将忘记对话历史,只考虑当前对话。 | | ||
| GOOGLE_API_KEY(可选) | 如果需要使用 Google 搜索,需要设置此项。如果不设置此环境变量,机器人将默认提供 duckduckgo 搜索。在 Google Cloud 的 [APIs & Services](https://console.cloud.google.com/apis/api/customsearch.googleapis.com) 中创建凭据,API Key 将是 GOOGLE_API_KEY 在凭据页面的值。Google 搜索每天可以查询 100 次,对于轻度使用完全足够。达到使用限制后,机器人将自动关闭 Google 搜索。 | | ||
| GOOGLE_CSE_ID(可选) | 如果需要使用 Google 搜索,需要与 GOOGLE_API_KEY 一起设置。在 [Programmable Search Engine](https://programmablesearchengine.google.com/) 中创建搜索引擎,搜索引擎 ID 是 GOOGLE_CSE_ID 的值。 | | ||
| 白名单(可选) | 设置哪些用户可以访问机器人,并将授权使用机器人的用户 ID 用 ',' 连接起来。默认值为 `None`,表示机器人对所有人开放。 | | ||
|
||
## Zeabur 远程部署(推荐) | ||
| **BOT_TOKEN (必填)** | 电报机器人令牌。在[BotFather](https://t.me/BotFather)上创建一个机器人以获取BOT_TOKEN。 | | ||
| **API (必填)** | OpenAI或第三方API密钥。 | | ||
| WEB_HOOK | 每当电报机器人接收到用户消息时,消息将传递到WEB_HOOK,机器人将监听消息并及时处理接收到的消息。 | | ||
| API_URL(可选) | 如果您使用OpenAI官方API,无需设置此项。如果使用第三方API,需要填写第三方代理网站。默认值为:https://api.openai.com/v1/chat/completions | | ||
| GPT_ENGINE(可选) | 设置默认的QA模型;默认值为:`gpt-3.5-turbo`。可以使用机器人的“info”命令自由切换此项,原则上不需要设置。 | | ||
| NICK(可选) | 默认为空,NICK是机器人的名称。只有当用户输入的消息以NICK开头时,机器人才会回应,否则机器人将回应任何消息。特别是在群聊中,如果没有NICK,机器人将回应所有消息。 | | ||
| PASS_HISTORY(可选) | 默认为true。机器人会记住对话历史,下次回复时考虑上下文。如果设置为false,机器人将忘记对话历史,只考虑当前对话。 | | ||
| GOOGLE_API_KEY(可选) | 如果需要使用Google搜索,需要设置它。如果不设置此环境变量,机器人将默认提供duckduckgo搜索。在Google Cloud的[APIs & Services](https://console.cloud.google.com/apis/api/customsearch.googleapis.com)中创建凭据,API密钥将显示在凭据页面上的GOOGLE_API_KEY处。Google搜索每天最多可以查询100次,对于轻度使用完全足够。当达到使用限制时,机器人将自动关闭Google搜索。 | | ||
| GOOGLE_CSE_ID(可选) | 如果需要使用Google搜索,需要与GOOGLE_API_KEY一起设置它。在[Programmable Search Engine](https://programmablesearchengine.google.com/)中创建搜索引擎,搜索引擎ID是GOOGLE_CSE_ID的值。 | | ||
| 白名单(可选) | 设置哪些用户可以访问机器人,并将授权使用机器人的用户ID与','连接。默认值为`None`,表示机器人对所有人开放。 | | ||
|
||
## Zeabur远程部署(推荐) | ||
|
||
一键部署: | ||
|
||
[![在 Zeabur 上部署](https://zeabur.com/button.svg)](https://zeabur.com/templates/R5JY5O?referralCode=yym68686) | ||
[![在Zeabur上部署](https://zeabur.com/deployed-on-zeabur-dark.svg)](https://zeabur.com?referralCode=yym68686&utm_source=yym68686&utm_campaign=oss) | ||
<!-- [![在Zeabur上部署](https://zeabur.com/button.svg)](https://zeabur.com/templates/R5JY5O?referralCode=yym68686) --> | ||
|
||
如果需要后续功能更新,建议使用以下部署方法: | ||
如果您需要后续的功能更新,建议使用以下部署方法: | ||
|
||
首先在此存储库中进行分叉,然后注册 [Zeabur](https://zeabur.com)。免费额度足够轻度使用。从自己的 Github 存储库导入,设置域名(必须与 WEB_HOOK 一致)和环境变量,然后重新部署。如果需要后续功能更新,只需在自己的存储库中同步此存储库,并在 Zeabur 中重新部署以获取最新功能。 | ||
首先分叉此存储库,然后注册[Zeabur](https://zeabur.com)。免费额度足以轻度使用。从您自己的Github存储库导入,设置域名(必须与WEB_HOOK一致)和环境变量,并重新部署。如果需要后续的功能更新,只需在自己的存储库中同步此存储库,然后在Zeabur中重新部署以获取最新的功能。 | ||
|
||
## Replit 远程部署 | ||
## Replit远程部署 | ||
|
||
[![在 Repl.it 上运行](https://replit.com/badge/github/yym68686/ChatGPT-Telegram-Bot)](https://replit.com/new/github/yym68686/ChatGPT-Telegram-Bot) | ||
|
||
在导入 Github 存储库后, | ||
[![在Repl.it上运行](https://replit.com/badge/github |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,25 @@ | ||
```markdown | ||
# ChatGPT Telegram Bot | ||
|
||
加入 [Telegram 群組](https://t.me/+_01cz9tAkUc1YzZl) 聊天,分享您的使用經驗或回報錯誤。 | ||
加入 [Telegram Group](https://t.me/+_01cz9tAkUc1YzZl) 聊天,分享您的使用体验或报告错误。 | ||
|
||
[英文](./README.md) | [簡體中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md) | ||
[English](./README.md) | [Simplified Chinese](./README.zh-CN.md) | [Traditional Chinese](./README.zh-TW.md) | ||
|
||
## ✨ 功能 | ||
|
||
✅ 支援 GPT3.5 和 GPT4/GPT4 Turbo API,以及 DALLE 3 | ||
✅ 支持 GPT3.5 和 GPT4/GPT4 Turbo API,DALLE 3 | ||
|
||
✅ 支援使用 duckduckgo 和 Google🔍 進行在線搜索。默認情況下提供 DuckDuckGo 搜索,使用者需要申請 Google 搜索的官方 API。可以提供 GPT 之前無法回答的實時信息,例如今天的微博熱搜、某地區今天的天氣和某人或新聞的進展。 | ||
✅ 支持使用 DuckDuckGo 和 Google 进行在线搜索🔍。默认情况下提供 DuckDuckGo 搜索,用户需要申请使用 Google 搜索的官方 API。它可以提供 GPT 以前无法回答的实时信息,例如今天的微博热搜、某个地方的天气以及某个人或新闻的进展。 | ||
|
||
✅ 支援基於內嵌向量數據庫的文檔 QA。在搜索中,對於搜索的 PDF,將執行 PDF 文檔的自動向量語義搜索,並基於向量數據庫提取與 PDF 相關的內容。支援使用 "qa" 命令將整個網站向量化,使用 "sitemap.xml" 文件,並根據向量數據庫回答問題,特別適用於文檔網站和某些項目的 Wiki 網站。 | ||
✅ 支持基于嵌入向量数据库的文档问答。在搜索中,对搜索的 PDF 进行自动向量语义搜索,基于向量数据库提取与 PDF 相关的内容。支持使用 "qa" 命令对整个网站进行向量化,使用 "sitemap.xml" 文件,并基于向量数据库回答问题,特别适用于一些项目的文档网站和维基网站。 | ||
|
||
✅ 通過聊天窗口中的 "info" 命令支援在 GPT3.5、GPT4 和其他模型之間切換 | ||
✅ 支持在聊天窗口中通过 "info" 命令在 GPT3.5、GPT4 和其他模型之间切换 | ||
|
||
✅ 異步處理消息,多線程回答問題,支援隔離對話,不同用戶有不同的對話 | ||
✅ 异步处理消息,多线程回答问题,支持隔离对话,不同的用户有不同的对话 | ||
|
||
✅ 支援消息的精確 Markdown 渲染,使用我另一個 [項目](https://github.com/yym68686/md2tgmd) | ||
✅ 支持准确的消息 Markdown 渲染,使用我另一个 [项目](https://github.com/yym68686/md2tgmd) | ||
|
||
✅ 支援流式輸出,實現打字機效果 | ||
✅ 支持流式输出,实现打字机效果 | ||
|
||
✅ 支援白名單功能,防止濫用和信息洩露 | ||
✅ 支持白名单,防止滥用和信息泄露 | ||
|
||
✅ 跨平台,在任何地方都可以使用 Telegram 打破知識障礙 | ||
|
||
✅ 支援一鍵 Zeabur、Replit 部署,真正的零成本,傻瓜部署,並支援 kuma 防睡眠。同時支援 Docker、fly.io 部署 | ||
|
||
## 環境變量 | ||
|
||
| 變量名稱 | 說明 | | ||
| ---------------------- | ------------------------------------------------------------ | | ||
| **BOT_TOKEN (必填)** | Telegram 機器人令牌。在 [BotFather](https://t.me/BotFather) 上創建機器人以獲取 BOT_TOKEN。 | | ||
| **API (必填)** | OpenAI 或第三方 API 金鑰。 | | ||
| WEB_HOOK | 當電報機器人收到用戶消息時,消息將傳遞到 WEB_HOOK,機器人將在那裡聽取並及時處理接收到的消息。 | | ||
| API_URL (可選) | 如果使用 OpenAI 官方 API,則不需要設置此項。如果使用第三方 API,則需要填寫第三方代理網站。默認值為:https://api.openai.com/v1/chat/completions | | ||
| GPT_ENGINE (可選) | 設置默認的 QA 模型;默認為:`gpt-3.5-turbo`。可以使用機器人的 "info" 命令自由切換此項,原則上無需設置。 | | ||
| NICK (可選) | 默認為空,NICK 是機器人的名稱。只有當用戶輸入的消息以 NICK 開頭時,機器人才會回應,否則機器人將對所有消息進行回應。特別是在群組聊天中,如果沒有 NICK,機器人將對所有消息進行回應。 | | ||
| PASS_HISTORY (可選) | 默認為 true。機器人會記住對話歷史並在下次回覆時考慮上下文。如果設置為 false,機器人將忘記對話歷史,只考慮當前對話。 | | ||
| GOOGLE_API_KEY (可選) | 如果需要使用 Google 搜索,則需要設置此項。如果不設置此環境變量,機器人將默認提供 duckduckgo 搜索。在 Google Cloud 的 [APIs & Services](https://console.cloud.google.com/apis/api/customsearch.googleapis.com) 中創建憑據,API 金鑰將出現在憑據頁面上。Google 搜索每天可以查詢 100 次,對於輕量使用完全足夠。當達到使用限制時,機器人將自動關閉 Google 搜索。 | | ||
| GOOGLE_CSE_ID (可選) | 如果需要使用 Google 搜索,則需要與 GOOGLE_API_KEY 一起設置此項。在 [Programmable Search Engine](https://programmablesearchengine.google.com/) 中創建搜索引擎,搜索引擎 ID 將是 GOOGLE_CSE_ID 的值。 | | ||
| whitelist (可選) | ||
✅ 跨平台,在任何时间和地点通过 Telegram 打破知识壁 |