(இது Python இல்உள்ள Pyrogram எனும் வரைச்சட்டத்தின்மூலம் ChatGPT API , Telegram Bot ஆகியவற்றினைப் பயன்படுத்தி நம்முடைய சொந்த AI Bot ஒன்றினை உருவாக்குவதற்கான படிப்படியான வழிகாட்டியாகும்.)
தற்போது AI ஆனது திறன்மிகு வீடுகள் முதல் மெய்நிகர் உதவியாளர்கள் வரை, நம் வாழ்வின் ஒரு அங்கமாகிவிட்டது. குறிப்பாக, Chatbots ஆனவை, சமீபத்திய நாட்களில் பெரும் புகழ் பெற்றுள்ளன, ஏனெனில் அவை செலவுகளைக் குறைக்கும் அதே வேளையில் விரைவான, திறமையான வாடிக்கையாளர் ஆதரவை வழங்க வணிகநிறுவனங்களை அனுமதிக்கின்றன. அவ்வாறான தற்போதைய சூழலில் Python இல்உள்ள Pyrogram எனும் கட்டமைப்புடன் ChatGPT API , Telegram Bot ஆகியகருவிகளைப் பயன்படுத்திடுகின்றசெயல்முறையின் மூலம் AI Bot ஒன்றை உருவாக்கிடுவதற்காக, இந்தக் கட்டுரை வழிகாட்டிடுகின்றது.
அவ்வாறான பணியை துவங்குவதற்கு முன், இந்த கருவிகள் ஒவ்வொன்றும் என்ன, அவை எவ்வாறு ஒன்றாகஇணைந்த செயல்படுகின்றன என்பதை முதலில் தெரிந்துகொள்க.
ChatGPT API என்பது OpenAI ஆல் உருவாக்கப்பட்ட மனிதன் பேசுகின்ற ஒருமொழி மாதிரியாகும், இதனைகொண்டு இதில் செய்யப்படுகின்ற உரை வடிவிலான உள்ளீடுகளுக்கு மனிதன் பதிலளிப்பதைப் போன்றே பதில்களை உருவாக்க முடியும். இது GPT-3.5 எனும் கட்டமைப்பை அடிப்படையாகக் கொண்டது ,மேலும் இது உரை வடிவிலான தரவுகளின் ஒரு பெரிய பொருளின்(corpus) மீது பயிற்சியளிக்கப்படுகிறது. அதற்கு மறுதலையாக Telegram இன் செய்தியிடல் பயன்பாட்டில் Telegram Bot ஆனது chatbotsஐ உருவாக்குவதற்கான ஒரு தளமாக திகழ்கின்றது. இது பயனர்களை உரைவடிவிலான செய்திகள் மூலம்நம்முடைய bot உடன் தொடர்பு கொள்ள அனுமதிக்கிறது மேலும் தனிப்பயனாக்கலுக்கான பல்வேறு வசதிகளையும் வழங்குகிறது.
Pyrogram என்பது பைதானின் ஒரு வரைச்சட்டமாகும், இது மேம்படுத்துநர்கள் Telegram Bot, API ஆகியவற்றுடன் தொடர்பு கொள்ள அனுமதிக்கிறது. இது பல்வேறுவிதமான கருவிகளையும் வசதிகளையும் வழங்குவதன் மூலம் ஒரு botஐ உருவாக்குகின்ற செயல்முறையை மிகஎளிதாக்குகிறது. இந்தக் கருவிகளின் மூலம், மேம்படுத்துநர்கள் தனிப்பயனாக்க கட்டளைவரிகளை உருவாக்கலாம், பயனர் உள்ளீடுகளைக் கையாளலாம் அதனோடு உள்ளீடுகளுக்கு தேவையான பதில்களை உருவாக்க ChatGPT API ஐ ஒருங்கிணைக்கலாம்.
தற்போது நாம் பயன்படுத்தபோகின்ற இந்தகருவிகளைப் பற்றிய அடிப்படை புரிதல் நம்மிடம் உள்ளது, அதனால்இந்த botஇனை உருவாக்குவதற்கு முழுக்கு போடுவோம். ChatGPT API , Telegram Bot ஆகியவற்றைப் பயன்படுத்தி AI Bot ஐ உருவாக்கிடுவதற்கான படிப்படியான வழிகாட்டியை பின்பற்ற துவங்கிடுவோம்
படிமுறை 1: மேம்பாட்டுசூழலை அமைத்தல்
குறிமுறைவரிகளைஎழுத துவங்குவதற்கு முன், நமக்கான மேம்பாட்டு சூழலை அமைக்க வேண்டும். புதிய மெய்நிகர் சூழலை உருவாக்கி தேவையான தொகுப்புகளை(package) நிறுவுகை செய்வதன் மூலம் துவங்கிடுக. Pyrogram, OpenAI ஆகியவற்றுடன் தொடர்புடையநமக்குத் தேவைப்படுகின்ற பிற சார்புகளையும் நிறுவுகைசெய்திடுக.
இதற்காக நமக்கு விருப்பமான code editor ஐ திரையில் தோன்றசெய்திடுக. இந்த எடுத்துக்காட்டில், Visual Studio Code editor ஐ பயன்படுத்திகொள்ளப்படுகின்றது.
நம்முடைய புதியசெயல் திட்டத்திற்கான புதியதானஒரு கோப்பகத்தை உருவாக்கி, முனைமத்தைப் பயன்படுத்தி அதற்குள் செல்க.
முனைமத்தில்( terminal). பின்வரும் கட்டளைவரியைத் தட்டச்சு செய்வதன் மூலம் புதியதானவொரு மெய்நிகர் சூழலை உருவாக்கிடுக.முனைமத்தினை மாற்ற, வணிகமுத்திரைக்கு( logo) கீழே VS Code editor குறுக்குவழிவிசை கொடுக்கப்பட்டுள்ளது.
படம் 1: குறியீடு திருத்தியில் மெய்நிகர் சூழலை உருவாக்குதல்
python -m venv env
உடன்இந்த கட்டளைவரியானது ‘env’ என்ற புதிய மெய்நிகர் சூழலை உருவாக்குகின்றது.
முனைமத்தில் பின்வரும் கட்டளைவரியைத் தட்டச்சு செய்வதன் மூலம் நாம் உருவாக்கிய மெய்நிகர் சூழலை செயல்படுத்திடுக:
source env/bin/activate
உடன்இந்த கட்டளைவரியானது ‘env’ என்ற புதிய மெய்நிகர் சூழலை செயல்படுத்திடுகின்றது.
அதனை தொடர்ந்து பின்வரும் கட்டளைவரியை முனைமத்தில் தட்டச்சு செய்து தேவையான தொகுப்புகளை (package)நிறுவுகைசெய்திடுக:
pip install pyrogram openai
இது Pyrogram ,OpenAI,ஆகியவற்றை நிறுவுகைசெய்திடுகின்றது, அத்துடன் அவைகளுக்கு தேவைப்படும் பிற சார்புகளையும் நிறுவுகைசெய்திடுக.
படம் 2: தொகுப்புகளை நிறுவுகைசெய்தல்
படிமுறை 2: Telegram botஐ உருவாக்குதல்
அடுத்து, நாம் ஒரு Telegram botஐ உருவாக்க வேண்டும். Telegram வழங்குகின்ற வழிமுறைகளைப் பின்பற்றுவதன் மூலம் இதைச் செய்யலாம். Telegram botஐ உருவாக்கியதும், அதன் APIஇற்கான அடையாளவில்லையைப்(token)பெற வேண்டும். டெலிகிராம் மூலம் botஐ ஏற்புகைசெய்திட இந்த அடையாளவில்லைப் பயன்படுத்திகொள்ளப்படும்.
டெலிகிராம் பயன்பாட்டைத் திறந்து, ‘BotFather’ எனும் போட்டைத் தேடிகண்டு பிடித்திடுக. இந்த BotFather உடன் உரையாடலைத் துவங்க ‘/start’ என தட்டச்சு செய்திடுக.
மேலும் புதிய போட்டை உருவாக்க ‘/newbot’ என தட்டச்சு செய்திடுக.
அதனை தொடர்ந்து போட்டிற்கான பெயரையும் பயனர் பெயரையும் தேர்வு செய்வதற்காக BotFather என்பது வழங்குகின்ற வழிமுறைகளைப் பின்பற்றிடுக.
அவ்வாறு நம்முடைய போட்டை உருவாக்கியவுடன், BotFather ஆனது நமக்கு API அடையாளவில்லையை வழங்குகின்றது. இந்த அடையாளவில்லையை நகலெடுத்துகொள்க, ஏனெனில் டெலிகிராம் மூலம் நம்முடைய போட்டை அஏற்புகைசெய்திட இது நமக்குத் தேவைப்படும்.
அடுத்து my.telegram.org/auth எனும் இணையதளமுகவரியிலுள்ள Telegram API development tools எனும் இணையதளபக்கத்திற்குச் செல்க.
அங்கு நம்முடைய டெலிகிராம் கணக்கைப் பயன்படுத்தி உள்நுழைவுசெய்திடுக.
உள்நுழைவுசெய்தவுடன் அங்கு ‘PI development tools’ என்பதை தெரிவுசெய்து சொடுக்குக.
அங்கு நமக்கான புதிய பயன்பாட்டினை உருவாக்கிடுவதற்கான படிவத்தில் தேவையான விவரங்களை உள்ளீடு செய்து நிரப்பிடுக.அதில் நம்முடைய பயன்பாட்டிற்கான பெயரையும் சுருக்கமான விளக்கத்தையும் வழங்கிடுக.
அவ்வாறு நம்முடைய பயன்பாட்டை உருவாக்கியவுடன் நமக்கானAPI ID, hash.ஆகியஇரண்டையும் கொண்ட பக்கத்தை காணலாம். டெலிகிராம் மூலம் நம்முடைய இந்த போட்டை ஏற்புகைசெய்திட, இந்த மதிப்புகள் நமக்குத் தேவைப்படும் என்பதால், அவற்றைதனியாக குறித்துவைத்துக்கொள்க.
படம் 3: Telegram app BotFather
படி முறை3: Pyrogramஐ துவங்குதல்
முந்தைய படிமுறையின்படி நம்முடைய API அடையாளவில்லையைப் பெற்றவுடன், பைரோகிராமை செயல்படுத்திடதுவங்கிடுக.இந்த பைரோகிராமின் நூலகத்தை பதிவிறக்கம் செய்து, வாடிக்கையாளர் இனத்தின் புதிய நிகழ்வை உருவாக்கிடுவதன் மூலம் இதைச் செய்யலாம். APIஇன் அடையாளவில்லை, போட்டின் பெயர், அதன் பதிப்பு போன்ற பிற தொடர்புடைய தகவலை வழங்கிடுக.
இந்த செயல்திட்ட கோப்படைவு எவ்வாறு இருக்க வேண்டும் என்பதற்கான கோப்பின் அமைப்பு பின்வருமாறு:
├── bot.py
├── config.py
├── env
├── handlers
│ └── message_handler.py
└── requirements.txt
தற்போது bot.py என்ற புதிய கோப்பை உருவாக்கிடுக. இது நம்முடைய போட்டின் முக்கிய கோப்பாக இருக்கின்றது.
தொடர்ந்துconfig.py என்ற புதிய கோப்பை உருவாக்கிடுக. இந்தக் கோப்பில் Telegram bot API token , the OpenAI API key போன்ற நம்முடைய போட்டிற்கான உள்ளமைவு அளவுருக்கள் இருக்கின்றன.
இந்நிலையில் handlers என்ற புதிய கோப்பகத்தை உருவாக்கிடுக. இந்த கோப்பகத்தில் நம்முடைய செய்திகளை கையாளுவதற்கான கோப்புகள் இருக்கும்.
மேலும்handlers கோப்பகத்தின் உள்ளே, message_handler.py என்ற புதிய கோப்பை உருவாக்கிடுக. இந்தக் கோப்பில் நம்முடைய போட்டிற்கான message handler logic இருக்கின்றது.
பின்னர் requirements.txt என்ற புதிய கோப்பை உருவாக்கிடுக. இந்த கோப்பில் நம்முடைய போட்டிற்கு தேவையான பைதான் தொகுப்புகளின்(package) பட்டியல் பின்வருமாறு இருக்கும்.
Open AI PYPI
Pyrogram
TgCrypto
இந்த தகவமைவுகளே நம்முடைய தேவைகளாகும், எனவே இவை நம்முடைய requirements.txt எனும் கோப்பில் சேர்க்கப்பட்டுவிட்டது.
படம் 4: bot.py இயங்குதல்
இப்போது, நமக்கான போட்டை அமைக்க வேண்டும். எனவே bot.py எனும் கோப்பைத் திறந்து, தேவையான packages ,modules ஆகியவற்றினை பதிவிறக்கம் செய்திடுக; நம்முடைய Telegram bot API token, Pyrogram API ID, hashஆகியவற்றின் மூலம் பைரோகிராம் வாடிக்கையாளரை துவக்கிடுக; நம்முடைய OpenAI API திறவுகோளுடன் OpenAI API ஐ துவக்கிடுக, பயனர்களிடமிருந்து உள்வரும் செய்திகளைக் கையாள ஒரு message handlerஐ பதிவு செய்திடுக.
ஒரு config.py கோப்பிலிருந்து நம்முடைய வரைச்சட்டத்தின் இனத்தையும் நாம் பதிவிறக்கம் செய்கிறோம் என்பதை நினைவில் கொள்க. இங்குதான் API அடையாளவில்லைகள் ,திறவுகோள்கள் (keys)போன்ற நம்முடைய உள்ளமைவு அளவுருக்களை நாம் சேமிக்கின்றோம்என்றசெய்தியைமனதில்கொள்க. இந்தக் கோப்பை உருவாக்கி, பின்வருமாறு bot.py நம்முடைய சொந்த உள்ளமைவு அளவுருக்களை (configuration parameters)அங்கே சேமித்திடுக.
1. import os
2. import pyrogram
3. import openai
4. from pyrogram.filters import private
5. from config import Config
6. from handlers.message_handler import MessageHandler
7.
8. # Initialize the Pyrogram client
9. app = pyrogram.Client(
10. session_name=”my_bot”,
11. api_id=Config.API_ID,
12. api_hash=Config.API_HASH,
13. bot_token=Config.BOT_TOKEN
14. )
15.
16. # Initialize the OpenAI API
17. openai.api_key = Config.OPENAI_API_KEY
18.
19. # Initialize the message handler
20. message_handler = MessageHandler(openai.api_key)
21. # Register the message handler with the “private” filter app.on_message(message_handler.handle, filters=private
22. )
23.
24. # Run the bot
25. app.run()
மேலே காணும் கட்டளைவரிகளிலுள்ள 1முதல் -6வரையிலான கட்டளைவரி களிலிருந்து தேவையான modules , parts ஆகியவற்றினை; பதிவிறக்கம் செய்கின்றோம்; மிகமுக்கியமாக இதில் 5 , 6 ஆகியஇரண்டுகட்டளைவரிகள் நாம் உருவாக்கிய கோப்புகள். [கோப்பு உருவாக்கப்படாததால், கட்டளைவரி 6 இல் பிழை ஏற்படுவதைக் காணலாம்; கவலைப்பட வேண்டாம், தெளிவுக்காக இங்கே கொடுக்கப்பட்டுள்ளது.]
இப்போது config.py க்குச் சென்று இதைத் திருத்திடுக:
1. class Config:
2. # Telegram API settings
3. API_ID = “YOUR_TELEGRAM_API_ID_HERE”
4. API_HASH = “YOUR_TELEGRAM_API_HASH_HERE”
5. BOT_TOKEN = “YOUR_TELEGRAM_BOT_TOKEN_HERE”
6. # OpenAI API settings
7. OPENAI_API_KEY = “YOUR_OPENAI_API_KEY_HERE”
அடுத்து, handlers/message_handler.py க்குச் சென்று, பின்வருமாறான குறிமுறைவரிகளை உருவாக்கிடுக:
import pyrogram
import openai
class MessageHandler:
def init(self, openai_api_key):
self.openai_api_key = openai_api_key
def handle(self, client, message):
Ignore messages sent by the bot itself
if message.from_user.is_bot:
return
Generate a response using the OpenAI API
response = self.generate_response(message.text)
Send the response back to the user
client.send_message(
chat_id=message.chat.id,
text=response
)
def generate_response(self, input_text):
Set up the OpenAI API client
openai.api_key = self.openai_api_key
completions = openai.Completion.create(
engine=”davinci”,
prompt=input_text,
max_tokens=60,
n=1,
stop=None,
temperature=0.7,
)
Extract the response from the OpenAI API result
response = completions.choices[0].text.strip()
return response
படிமுறை 4: பயனர் உள்ளீடுகளைக் கையாளுதல்
இப்போது நம்முடைய போட் ஆனது டெலிகிராமுடன் இணைக்கப்பட்டுவிட்டது, அதனால் பயனர் உள்ளீடுகளைக் கையாள வேண்டும். பைரோகிராம் இதைச் செய்வதற்கான பல்வேறு வழிமுறைகளை வழங்குகிறது, இதில்‘on message’ எனும் வழிமுறையும் உள்ளடங்கும்.நம்முடைய போட் மூலம் புதிய செய்தி உள்வரும் போதெல்லாம் இந்தவழிமுறை அழைக்கப்படுகிறது. பயனரின் உள்ளீட்டை அலசி ஆராய்ந்திடுவதற்கும், அதற்கான பதிலை உருவாக்கிடுவதற்கும் இந்த வழிமுறையைப் பயன்படுத்திகொள்ளலாம்.
படிமுறை 5: ChatGPT API ஐ ஒருங்கிணைத்தல்
பயனர்களின் கேள்விகளுக்கான பதில்களை உருவாக்க, நாம்ChatGPT API ஐப் பயன்படுத்திகொள்வோம். இந்த API ஐப் பயன்படுத்த OpenAI இலிருந்து API திறவு கோளைப் பெற வேண்டும். நம்முடைய API திறவுகோளைப் பெற்றவுடன், API க்கு உரைவடிவிலான உள்ளீட்டை அனுப்பிஅதற்கான பதிலைப் பெற்றிடுக இதற்காக இதனுடைய Requests library ஐப் பயன்படுத்திகொள்ளலாம்.அடுத்து கேள்வியை அலசி ஆராய்ந்து டெலிகிராம் வழியாக பயனருக்கு பதிலைதிருப்பி அனுப்ப வேண்டும்.
படிமுறை 6: போட்டின் பரிசோதனை இயக்கம்
இப்போது நம்முடைய போட்டிற்கான குறிமுறைவரிகளை எழுதிவிட்டோம், அதைத் செயல்படுத்திடதொடங்கி, அது சரியாகச் செயல்படுகிறதா என்பதைச் சரிபார்க்க, அதைச் பரிசோதிக்க வேண்டும். இதற்காக bot.py எனும் கோப்பை முனைமத்தில் இருந்து இயக்குவதன் மூலம் இதைச் செய்திடலாம்.
இதைச் செய்ய, முனைமத்தின் சாளரத்தைத் திறந்து, நம்முடைய bot.py எனும் கோப்பு அமைந்துள்ள கோப்பகத்திற்குச் செல்க. தொடர்ந்து பின்வருமாறான கட்டளைவரியை தட்டச்சு செய்து அதனை செயற்படுத்திடுக:
python3 bot.py
இந்த கட்டளைவரியனது போட்டைத் செயல்படுத்திட தொடங்கும் தொடர்ந்து பயனர்களிடமிருந்து செய்திகளைக் கேட்கத் தொடங்கும்.அதனோடுஇந்த போட் நன்றாக இயங்குகிறது என்பதைக் குறிக்கும் சில வெளியீட்டை முனைமத்தில் காணலாம்.
இப்போது, டெலிகிராம் பயன்பாட்டைத் திறந்து, போட்டிற்கு நேரடியாகச் செய்தியை அனுப்பிடுக OpenAI API ஆல் உருவாக்கப்பட்ட bot இலிருந்து பதிலைப் பெற்றிடலாம்.
நம்முடைய போட் எவ்வாறு பதிலளிக்கிறது என்பதை சரிபார்த்திட வெவ்வேறு உள்ளீட்டு செய்திகளுடன் பரிசோதித்திடுக. இதற்கான பதில்கள் OpenAI API மூலம் உருவாக்கப்படும் என்பதை நினைவில் கொள்க, எனவே அவை எப்போதும் சரியானதாக இருக்காது. உருவாக்கப்படும் பதில்களின் தரத்தினையும் பாணியையும் சரிசெய்ய, create_response எனும் வழிமுறையில் max_tokens , வெப்பநிலை அளவுருக்களுக்கு வெவ்வேறு மதிப்புகளை பரிசோதிக்கலாம்.
படம் 5: போட் செயல்படுத்தப்பட்ட பிறகு இறுதி வெளியீடு
போட் எவ்வாறு செயல்படுகிறது என்பதில் திருப்தி அடைந்தவுடன், முனைம சாளரத்தில் Ctrl+C ஆகிய விசைகளைசேர்த்து அழுத்துவதன் மூலம் அதன் செயலை நிறுத்தம்செய்திடலாம்.
அவ்வளவுதான்! டெலிகிராமில் பயனர் செய்திகளுக்கு மனிதனைப் போன்ற பதில்களை வழங்கிடுவதற்கான OpenAI API ஐப் பயன்படுத்தும் போட் ஒன்றை நாமே முயன்று வெற்றிகரமாக உருவாக்கிவிட்டோம். வாழ்த்துக்கள்
குறிப்புChatGPT API இன் திறனானது, டெலிகிராம் போட் இயங்குதளத்தின் நெகிழ்வுத் தன்மையுடன், தனிப்பயனாக்கலுக்கான சாத்தியக்கூறுகள் முடிவற்றவை என்ற செய்தியைமட்டும் மனதில் கொள்க.