diff --git a/README.zh-CN.md b/README.zh-CN.md index d4999aff..bad3199e 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,46 +1,46 @@ ```markdown # ChatGPT Telegram Bot -加入[Telegram 群组](https://t.me/+_01cz9tAkUc1YzZl)聊天,分享您的用户体验或报告 Bug。 +加入 [Telegram 群组](https://t.me/+_01cz9tAkUc1YzZl) 聊天,分享您的用户体验或报告 Bugs。 -[English](./README.md) | [简体中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md) +[英语](./README.md) | [简体中文](./README.zh-CN.md) | [繁体中文](./README.zh-TW.md) ## ✨ 特性 -✅ 支持 ChatGPT 和 GPT4 API +✅ 支持 GPT3.5 和 GPT4/GPT4 Turbo API,DALLE 3 -✅ 支持使用 duckduckgo 和 Google🔍 进行在线搜索。默认提供 DuckDuckGo 搜索,用户需申请 Google 搜索的官方 API。它可以提供 GPT 以前无法回答的实时信息,例如今日微博热搜,某地今日天气,以及某人或新闻的进展。 +✅ 支持使用 duckduckgo 和 Google 进行在线搜索🔍。默认提供 DuckDuckGo 搜索,用户需要申请 Google 搜索的官方 API。它可以提供 GPT 之前无法回答的实时信息,如今日微博热搜、某地今日天气以及某人或新闻的进展。 -✅ 支持基于嵌入式向量数据库的文档问答。在搜索中,对于搜索的 PDF,将执行 PDF 文档的自动向量语义搜索,并基于向量数据库提取与 PDF 相关的内容。支持使用 "qa" 命令将整个网站进行向量化,使用 "sitemap.xml" 文件,并根据向量数据库回答问题,特别适用于某些项目的文档网站和维基网站。 +✅ 支持基于嵌入式向量数据库的文档问答。在搜索中,对搜索到的 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 打破知识障碍 +✅ 跨平台,在任何地方随时随地通过 Telegram 打破知识壁垒 -✅ 支持一键 Zeabur、Replit 部署,真正的零成本,白痴化部署,支持 Docker,fly.io 部署 +✅ 支持一键 Zeabur、Replit 部署,真正的零成本、傻瓜式部署,并支持 kuma 防睡眠。还支持 Docker、fly.io 部署 ## 环境变量 | 变量名 | 说明 | | ---------------------- | ------------------------------------------------------------ | -| **BOT_TOKEN (required)** | Telegram 机器人令牌。在 [BotFather](https://t.me/BotFather) 上创建机器人以获取 BOT_TOKEN。 | -| **WEB_HOOK (required)** | 每当 Telegram 机器人收到用户消息时,消息将传递到 WEB_HOOK,机器人将监听并及时处理收到的消息。 | -| **API (required)** | OpenAI 或第三方 API 密钥。 | -| API_URL(optional) | 如果使用 OpenAI 官方 API,则无需设置此项。如果使用第三方 API,则需要填写第三方代理网站。默认值为:https://api.openai.com/v1/chat/completions | -| GPT_ENGINE (optional) | 设置默认的 QA 模型;默认为:`gpt-3.5-turbo`。此项目可以通过机器人的 "info" 命令自由切换,并且原则上无需设置。 | -| NICK (optional) | 默认为空,NICK 是机器人的名称。只有当用户输入的消息以 NICK 开头时,机器人才会回应,否则机器人将回应所有消息。特别是在群聊中,如果没有 NICK,则机器人将回复所有消息。 | -| PASS_HISTORY (optional) | 默认为 true。机器人会记住对话历史,并在下次回复时考虑上下文。如果设置为 false,则机器人将忘记对话历史,仅考虑当前对话。 | -| GOOGLE_API_KEY (optional)| 如果需要使用 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 (optional) | 如果需要使用 Google 搜索,需要与 GOOGLE_API_KEY 一起设置。在 [Programmable Search Engine](https://programmablesearchengine.google.com/) 中创建一个搜索引擎,搜索引擎 ID 是 GOOGLE_CSE_ID 的值。 | -| whitelist (optional) | 设置哪些用户可以访问机器人,并将授权使用机器人的用户 ID 与 ',' 连接。默认值为 `None`,表示机器人对所有人开放。 | +| **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 远程部署(推荐) @@ -50,13 +50,10 @@ 如果需要后续功能更新,建议使用以下部署方法: -首先在此仓库中 Fork,然后注册[Zeabur](https://zeabur.com)。免费配额对轻度使用足够。从您自己的 Github 仓库导入,设置域名(必须与 WEB_HOOK 一致)和环境变量,然后重新部署。如果需要后续的功能更新,只需在您自己的仓库中同步此仓库并在 Zeabur 中重新部署,即可获得最新功能。 +首先在此存储库中进行分叉,然后注册 [Zeabur](https://zeabur.com)。免费额度足够轻度使用。从自己的 Github 存储库导入,设置域名(必须与 WEB_HOOK 一致)和环境变量,然后重新部署。如果需要后续功能更新,只需在自己的存储库中同步此存储库,并在 Zeabur 中重新部署以获取最新功能。 ## Replit 远程部署 [![在 Repl.it 上运行](https://replit.com/badge/github/yym68686/ChatGPT-Telegram-Bot)](https://replit.com/new/github/yym68686/ChatGPT-Telegram-Bot) -导入 Github 仓库后,设置运行命令 - -```bash -pip install -r requirements.txt > /dev/null && python \ No newline at end of file +在导入 Github 存储库后, \ No newline at end of file diff --git a/README.zh-TW.md b/README.zh-TW.md index 7fcb9668..3b1fa0f3 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -1,43 +1,43 @@ ```markdown # ChatGPT Telegram Bot -加入 [Telegram 群組](https://t.me/+_01cz9tAkUc1YzZl) 以分享您的使用經驗或回報錯誤。 +加入 [Telegram 群組](https://t.me/+_01cz9tAkUc1YzZl) 聊天,分享您的使用經驗或回報錯誤。 -[English](./README.md) | [Simplified Chinese](./README.zh-CN.md) | [Traditional Chinese](./README.zh-TW.md) +[英文](./README.md) | [簡體中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md) ## ✨ 功能 -✅ 支援 ChatGPT 和 GPT4 API +✅ 支援 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 文檔的自動向量語義搜索,並基於向量數據庫提取與 PDF 相關的內容。支援使用 "qa" 命令將整個網站向量化,使用 "sitemap.xml" 文件,並根據向量數據庫回答問題,特別適用於文檔網站和某些項目的 Wiki 網站。 -✅ 支援在聊天窗口通過 "info" 命令在 GPT3.5、GPT4 和其他模型之間切換 +✅ 通過聊天窗口中的 "info" 命令支援在 GPT3.5、GPT4 和其他模型之間切換 -✅ 異步處理消息,多線程回答問題,支援隔離對話,不同使用者有不同對話 +✅ 異步處理消息,多線程回答問題,支援隔離對話,不同用戶有不同的對話 -✅ 支援消息的精確 Markdown 渲染,使用我的另一個 [項目](https://github.com/yym68686/md2tgmd) +✅ 支援消息的精確 Markdown 渲染,使用我另一個 [項目](https://github.com/yym68686/md2tgmd) ✅ 支援流式輸出,實現打字機效果 -✅ 支援白名單功能,防止濫用和信息洩漏 +✅ 支援白名單功能,防止濫用和信息洩露 -✅ 跨平臺,隨時隨地通過 Telegram 打破知識障礙 +✅ 跨平台,在任何地方都可以使用 Telegram 打破知識障礙 -✅ 支援一鍵 Zeabur、Replit 部署,真正的零成本,白痴部署,並支援 kuma 防止休眠。同時支援 Docker、fly.io 部署 +✅ 支援一鍵 Zeabur、Replit 部署,真正的零成本,傻瓜部署,並支援 kuma 防睡眠。同時支援 Docker、fly.io 部署 ## 環境變量 -| 變量名稱 | 說明 | +| 變量名稱 | 說明 | | ---------------------- | ------------------------------------------------------------ | -| **BOT_TOKEN (必填)** | Telegram 機器人令牌。在 [BotFather](https://t.me/BotFather) 上創建機器人以獲取 BOT_TOKEN。 | -| **WEB_HOOK (必填)** | 每當 Telegram 機器人接收到用戶消息時,消息將被傳遞到 WEB_HOOK,機器人將在這裡聽取並及時處理接收到的消息。 | +| **BOT_TOKEN (必填)** | Telegram 機器人令牌。在 [BotFather](https://t.me/BotFather) 上創建機器人以獲取 BOT_TOKEN。 | | **API (必填)** | OpenAI 或第三方 API 金鑰。 | -| 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 的值。 | -| whitelist (可選) | 設置哪些用戶可以 \ No newline at end of file +| 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 (可選) \ No newline at end of file