Build ChatGPT Telegram bot, đỡ phải login, daily limits
Bài đăng này đã không được cập nhật trong 2 năm
Chắc hẳn có lẽ nhiều bạn sử dụng ChatGPT gặp tình trạng quá tải như thế này trên phiên bản web, cũng đúng vì ChatGPT tăng trưởng quá khủng khiếp, 100 triệu người dùng trong vòng có 60 ngày, mất 30 triệu đô để duy trì hệ thống. Hiện tại sắp tới ChatGPT có ra mắt phiên bản ChatGPT Plus với giá $20/tháng, tương ứng vào khoảng 1,5% người dùng hiện tại sử dụng thì mới đủ bù vào tiền duy trì hệ thống kia.
Tuy nhiên ChatGPT có cung cấp API, nếu ai lười như mình thì sử dụng API cho nhanh, đỡ phải login qua bản web, lại còn hay bị cloudflare check xem có phải robots k
Build ChatGPT Telegram bot
Mình thử qua nhiều repo trên github nhưng sử dụng repo này thì được, không biết sử dụng được đến bao giờ nhưng mà hiện tại nó chạy được là được, đến lúc nó tèo téo teo thì lại tìm cách khác
https://github.com/karfly/chatgpt_telegram_bot
Cách setup cực kỳ đơn giản
Bước 1: Lấy OpenAI Key tại https://platform.openai.com/
- Login vào https://platform.openai.com/, sau đó đi tới https://platform.openai.com/account/api-keys và tạo 1 key mới và lưu lại
Bước 2: Tạo bot Telegram bằng @botfather, lấy Telegram bot token của bạn
- Sử dụng @botfather https://t.me/BotFather của Telegram để tạo 1 bot mới của bạn, sau đó nhớ lấy bot token nhé.
Bước 3: Clone repo https://github.com/karfly/chatgpt_telegram_bot về, sau đó cài đặt env
- Chạy 2 lệnh sau:
mv config/config.example.yml config/config.yml mv config/config.example.env config/config.env
config/config.yml
thêm telegram bot token và openai token đã lấy từ bước 1 và bước 2 lưu vào file config
Bước 4: Chỉnh sửa file docker-compose.yml
Thực hiện xoá dòng 9 và 29 điThực hiện xoá dòng 8, 9, 28, 29 đi, không cần public port mongodbports: - ${MONGODB_PORT:-27017}:${MONGODB_PORT:-27017} ports: - ${MONGO_EXPRESS_PORT:-8081}:${MONGO_EXPRESS_PORT:-8081}
Bước 5: Chạy docker-compose
- Chỉ cần chạy docker-compose lên là xong, yêu cầu hệ thống cần có docker nhé
docker-compose --env-file config/config.env up --build
Kết quả
Và đây là thành quả
- Mình cảm nhận thấy nó chạy nhanh hơn là với bản web, bản web generate từng chữ một chờ sốt ruột, còn ở đây chỉ cần chờ 3-5s là có kết quả rồi, tuy nhiên vẫn bị giới hạn 1 câu trả lời được ít chữ chứ vẫn chưa được nhiều chữ
- Có thể add bot vào 1 nhóm dùng chung được, tuy nhiên người kia đang hỏi thì cần phải chờ, chờ người kia hỏi xong thì bot mới rep tiếp được.
Do sử dụng API của OpenAI thì mất tiền, tuy nhiên khi tạo tài khoản các bạn sẽ được 18$ free, nhưng nó có thời hạn sử dụng, nếu hết thời hạn sử dụng thì sẽ không còn dùng được API nữa đâu nhé
https://platform.openai.com/account/usage
Hi vọng là sẽ giúp được các bạn lười như mình Nhân dịp năm mới, chúc các bạn có một năm mới bình an, hoàn thành tốt những điều gì mong muốn trong năm 2023 tới, see you!
All rights reserved
Bình luận
Bị lỗi vậy là sao ạ xin chỉ giáo ạ
@quanlh cái này là lỗi do docker, bạn fix lỗi docker là được nhé
Em là người mới, cho hỏi các dòng lệnh trên chạy ở phần mềm nào ạ? Xin cảm ơn
@Minh3124 k cần VPS cấu hình cao đâu bạn, 512MB ram là đủ rồi, chỉ cần cấu hình cho VPS có thể chạy docker là được
@minhtuan.nguy mình thử thì thấy là clone về chạy trực tiếp trên web của github luôn cũng được
mò mãi không được, bác làm video hướng dẫn mấy đứa mù công nghệ như em được không
@dinhtum cái này cần cài đặt môi trường docker các thứ, bạn có thể nhờ mấy người bạn học IT thử xem sao ạ
Something went wrong during completion. Reason: You exceeded your current quota, please check your plan and billing details. Nó vẫn tính qouta hả bác
@quanlh mình vẫn chưa đạt đến giới hạn đó, chắc là do chưa hỏi đủ nhiều, để mình thử hỏi nhiều xem có bị lỗi như bạn k nhé
@minhtuan.nguy có lẽ các tài khoản khi đăng ký không được thưởng Free Trail Usage sẽ bị báo lỗi này. Mình có thử add thẻ visa vào mà bị nó từ chối. Chả hiểu kiểu gì
ở bước 4 nếu xóa 2 dòng 9 và 29 đi sẽ gặp lỗi:
Còn không xóa thì như thế này
Cách khắc phục:
@langtuhodo xoá hẳn đi k có lỗi gì đâu bạn ạ
docker-compose --env-file config/config.env up --build fix sao ad oi
@Nhut.nguyenminhgg bác comment luôn cái dòng port lẫn dòng giá trị đi là đc
Chạy lệnh "docker-compose --env-file config/config.env up --build "Mình gặp lỗi này nè đại ca Cho mình cách fix với : RROR: The Compose file './docker-compose.yml' is invalid because: services.mongo.ports contains an invalid type, it should be an array services.mongo_express.ports contains an invalid type, it should be an array
trong file config.env bạn có thay đổi giá trị gì k ạ, vẫn giữ nguyên port của mongodb và mongo express chứ ạ
bác comment luôn cái dòng port lẫn dòng giá trị đi là đc
Cái này vẫn tính limit bình thường nha các bác
@quanlh limit bao nhiêu thế bác, mình vẫn chưa đạt được đến limit của nó
@minhtuan.nguy e cũng ko rõ số cụ thể là bao nhiêu nhưng hiện tại là đạt limit rồi bác
@quanlh mình check trên openai thì nó cũng bảo là được 1 số lượng lớn thôi, k nói rõ cụ thể là bao nhiêu cả :-s
mình làm đến bước chạy docker mà chạy đến cuối bị báo keyerror là bị sao hả bạn? bạn xem giúp mình với
mình làm lại từ đầu thì giờ nó báo lỗi như vậy, bạn xem thử nhé
@sangdesign93 có vẻ như bạn đang chạy sai image docker, cho mình xem câu lệnh bạn chạy được k
Em chạy được file docker compose rồi nhưng khi chat trên telegram thì bot trả kết quả
Mọi người có gì chỉ giáo giúp e với ạ
huhu bác fix được chưa em cũng bị như thế 😭
Mình gặp lỗi như dưới thì phải làm sao nhỉ ERROR: The Compose file './docker-compose.yml' is invalid because: services.mongo.ports contains an invalid type, it should be an array services.mongo_express.ports contains an invalid type, it should be an array
services.mongo.ports must be a list thì phải làm sao ạ
bác comment thêm cả 2 cái dòng port lại nữa là đc, cả dòng giá trị lẫn port
Hehe cảm ơn anh, em làm theo được rồi ạ. Em muốn hỏi là nếu mình cứ để như vậy, trừ khi tắt máy đi thì nó vẫn hoạt động đúng không ạ. Có phải mình dùng docker-compose down để tắt hoạt động này đi không ạ? Em cảm ơn anh. (em mới tập tành dùng Docker nên hơi bỡ ngỡ ạ hehe)
@lehoangvu24 đúng rồi bạn, bạn có thể sử dụng VPS để deploy lên đó, chatbot sẽ luôn hoạt động nhé
Mình bị lỗi này chatgpt_telegram_bot | Something went wrong during completion. Reason: 'NoneType' object is not subscriptable
@sonhuynh bạn có thể cho mình xin screenshot để mình kiểm tra xem sao được không, có thể là do network bên chatgpt gặp lỗi không gửi được thông tin
@minhtuan.nguy mình đã sửa được rồi, do sai port mongodb
Bạn cho mình hỏi chatbot reply như này là sao nhỉ Something went wrong during completion. Reason: You exceeded your current quota, please check your plan and billing details.
Em làm đc rồi nhưng hỏi gì thì nó cũng bảo "Something went wrong during completion. Reason: You exceeded your current quota, please check your plan and billing details." thì fix như thê nào được ạ?
xin cách để add chatgpt vào nhóm mà nó tự nhận diện câu hỏi or ra chỉ lệnh để hỏi như '/ask' nó sẽ trả lời ạ!
@phongcu1000 bạn set full quyền admin cho nó là đc
@cauma1113 mình thêm bot vào nhóm, phải reply tin nhắn của nó thì nó mới trả lời ý, còn không thì nó k trả lời
Tuyệt vời! ^^
đây không phải là chatgpt đây chỉ là gpt-3.5 với engine="text-davinci-003" , muốn là chatgpt cần phải cấu hình email, mật khẩu của tài khoản chatgpt để dùng được, như này chỉ là call API của OpenAI thôi
@nhancuachungta đúng vậy, theo mình mới tìm hiểu thì cái này chỉ sử dụng api của openai sử dụng model text-davinci-003, nhưng mình dùng thì nó cũng đủ cho mình rồi, cần thiết hơn thì mình lên web, nhưng dạo này web hay bị tèo quá
Mình không có tài khoản GPT. Cho mình xin 1 tài khoản để làm theo được không ạ.
Không ạ 😩
đã thử và thành công, thank you chủ thớt
cho mình hỏi có hướng dẫn/có cách nào để train cho con chatbot này bằng DB riêng của mình tự input vào hay không? mình cám ơn!
còn 1 bước nữa mà mình thấy trong bài hay cả ở repo không nhắc đến là add bot và group xong phải set nó là admin thì mới gửi tin nhắn được, nếu không thì mình hỏi bot nó chỉ làm thinh thôi:v
Dùng API của gpt thì có tốn tiền k anh nhỉ
À có tốn tiền, mà mỗi tk chatgpt thì được trial sẵn 18$.