+1

[Basic Dev] - Kết nối Telegram với ChatGPT OpenAI

Đây là đoạn code Node.js dùng để xây dựng một bot trên Telegram sử dụng AI model GPT-3 của OpenAI để tạo ra câu trả lời tự động cho các tin nhắn được gửi đến bot.

const TelegramBot = require('node-telegram-bot-api');
const { Configuration, OpenAIApi } = require("openai");
require('dotenv').config();

// 13XLabs: We are proud to announce the launch of our ChatGpt Telegram Bot using Nodejs.
// replace the value below with the Telegram token you receive from @BotFather
const bot = new TelegramBot(process.env.BOT_TOKEN);

// OpenAI API
const configuration  = new Configuration({
	organization: process.env.OPENAI_ORG,
	apiKey: process.env.OPENAI_API,
  });

const openai = new OpenAIApi(configuration);

// OpenAI's GPT-3 (Generative Pre-trained Transformer 3) is a language model that uses deep learning to produce human-like text.
// Text-davici-003 is an open-source natural language processing (NLP) model developed by OpenAI. 
// It is a transformer-based language model that was trained on a large corpus of text from the web. 
// It is designed to generate human-like text, and can be used for a variety of tasks such as text summarization, 
// question answering, and text generation.
bot.onText(/\/c (.+)/, async (msg, match) => {
	const resp = match[1];
	const completion = await openai.createCompletion({
		model: "text-davinci-003",
		prompt: resp,
		max_tokens: 700,
		temperature: 0,
		top_p: 0.5,
		frequency_penalty: 0.3,
		presence_penalty: 0.15
		}).catch((error) => {
			bot.sendMessage(msg.chat.id, 'Limit API Exceeded. Please contact administrator.')
		})


	const dataReply = completion.data.choices[0].text + '\n\n\n<a href="https://t.me/+FmApN6hcCtFmZTdl">Join ChatGPT Community</a>'
	await bot.sendMessage(msg.chat.id, dataReply, {parse_mode: 'HTML'})
});

// Listen for any kind of message. There are different kinds of messages.
bot.startPolling();

Đầu tiên, mã nhập các thư viện cần thiết bao gồm:

  • node-telegram-bot-api: thư viện để kết nối và tương tác với API của Telegram.
  • openai: thư viện để sử dụng API của GPT-3 của OpenAI.
  • dotenv: thư viện để tải các biến môi trường từ file .env.

Sau đó, mã sử dụng TelegramBot để khởi tạo một bot trên Telegram và sử dụng biến môi trường BOT_TOKEN để xác định bot sẽ hoạt động trên kênh nào.

Mã cũng sử dụng openai để khởi tạo một API để sử dụng model GPT-3 và sử dụng các thông số cho phép tối đa kích thước token, nhiệt độ, độ tương đồng và áp dụng phạt để đảm bảo câu trả lời là hợp lý.

Bot được lập trình để lắng nghe các tin nhắn mà bắt đầu bằng /c, và sau đó sử dụng model GPT-3 để tạo ra câu trả lời cho nội dung tin nhắn. Cuối cùng, bot sẽ trả lời bằng tin nhắn chứa câu trả lời được tạo ra và một liên kết đến cộng đồng ChatGPT của bot.

Cuối cùng, bot được khởi động và chạy liên tục bằng cách sử dụng phương thức startPolling() của TelegramBot.

Github: gpt3-telegram-bot

Bạn có thể tham khảo, trao đổi, thử nghiệm ChatGPT tại các Group Telegram sau đây:

  1. ChatGPT Community: @gpt3communitychat
  2. ChatGPT Vietnam: @ChatGPT_Vietnam Nguồn: https://congdongchatgpt.com/d/22-basic-dev-ket-noi-telegram-voi-chatgpt-openai

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí