மக்கள் தட்டச்சு செய்வதை உண்மையில் புரிந்துகொள்ளும் ஒரு AI chatbot-ஐ உருவாக்க உங்களுக்கு ஒரு பெரிய குழுவோ அல்லது மிகப்பெரிய பட்ஜெட்டோ தேவையில்லை. 2025-இல், மொழி மாதிரி வழங்குநர்களின் (language model providers) இலவசத் திட்டங்கள் (free tiers), தனிப்பட்ட உருவாக்குநர்கள், மாணவர்கள் மற்றும் பக்கத் திட்டங்களில் ஈடுபடுபவர்களுக்கு (side-project hackers), மில்லியன் டாலர் மதிப்புள்ள தயாரிப்புகளில் பயன்படுத்தப்படும் அதே இயற்கை மொழி செயலாக்கத் தொழில்நுட்பங்களை (natural language processing stacks) நேரடியாக அணுக வழிவகை செய்கின்றன. தடையானது மாறிவிட்டது. இது ஒரு மாதிரியை (model) ஆரம்பத்திலிருந்து பயிற்றுவிப்பது பற்றியது அல்ல, அதற்குப் பல GPU-களும் மாதக்கணக்கில் ஆராய்ச்சியும் தேவைப்படும். இது ஏற்கனவே உள்ள ஒரு மூளையை (existing brain) அழைத்து, அதை பயனுள்ள ஒன்றாக இணைப்பதைப் பற்றியது.

உங்களால் ஒரு Python script எழுதவும், API documentation-ஐப் படிக்கவும் முடிந்தால், உங்களிடம் ஏற்கனவே தேவையான அடிப்படைப் பொருட்கள் உள்ளன.

இலவச API-கள் அனைத்தையும் ஏன் மாற்றுகின்றன

வெகு காலத்திற்கு முன்பு, ஒரு உரையாடல் முகவரை (conversational agent) உருவாக்குவது என்பது பயிற்சித் தரவை (training data) சேகரிப்பது, உரையைச் சுத்தம் செய்வது, ஒரு கட்டமைப்பைத் (architecture) தேர்ந்தெடுப்பது மற்றும் ஒரு மாதிரி இலக்கணம் மற்றும் சூழலைக் கற்றுக்கொள்ள வாரக்கணக்கில் மின்சாரத்தைச் செலவிடுவது என்று பொருள்பட்டது. அந்த வேலைகளில் பெரும்பாலானவை இப்போது எளிதாகக் கிடைக்கக்கூடியவை (commoditized). வழங்குநர்கள் மிகப்பெரிய முன்-பயிற்சி பெற்ற மாதிரிகளை (pre-trained models) ஹோஸ்ட் செய்து, அவற்றை எளிமையான web endpoints மூலம் வழங்குகிறார்கள். நீங்கள் HTTPS வழியாக உரையை அனுப்புகிறீர்கள்; அவர்கள் ஒரு கணிப்பைப் (prediction) பதிலாகத் தருகிறார்கள். அந்த கணிப்பே உங்கள் chatbot-ன் பதில்.

இந்த ஏற்பாடு நீங்கள் கணிதத்தைத் தவிர்த்துவிட்டு, மாதிரியைச் சுற்றியுள்ள இயந்திரவியலில் (machinery) கவனம் செலுத்த அனுமதிக்கிறது. உங்கள் வேலை prompt-களை நிர்வகிப்பது, உரையாடல் நினைவகத்தைக் (conversation memory) கையாள்வது மற்றும் பயனர் அனுபவத்தை (user experience) வடிவமைப்பதாகும். வழங்குநர்கள் தங்கள் தளங்களில் டெவலப்பர்கள் பழக்கங்களை உருவாக்க விரும்புவதால் இலவசத் திட்டங்கள் உள்ளன. இந்த வரம்புகள் பொதுவாக முன்மாதிரிகள் (prototypes), கற்றல் திட்டங்கள் மற்றும் சிறிய உள் கருவிகளுக்குப் போதுமான அளவு தாராளமாக இருக்கும். நீங்கள் அவற்றின் எல்லையைத் தாண்டிவிட்டால், அளவிடுவது (scaling) என்பது ஒரு கட்டண மாற்றத்திற்கு (billing change) அடுத்ததாக இருக்கும்.

உங்கள் முக்கியத் தொழில்நுட்பத் தொகுப்பை (Core Stack) அமைத்தல்

இத்தகைய வேலைகளுக்கு Python இப்போதும் மிகவும் பொருத்தமான தொடக்க மொழியாக உள்ளது. அதன் தொடரியல் (syntax) உங்களுக்குத் தடையின்றி இருக்கும், மேலும் கிட்டத்தட்ட ஒவ்வொரு AI வழங்குநரும் மற்ற எந்த மொழியையும் விட Python-இல் copy-paste செய்யக்கூடிய உதாரணங்களை வெளியிடுகிறார்கள்.

உங்கள் முதல் நடைமுறைகள் மிகக் குறைவானவை:

  • Python 3.8 அல்லது அதற்குப் புதிய பதிப்பை நிறுவவும்.
  • உங்கள் terminal-இல் pip install requests என்று இயக்கி requests library-ஐ நிறுவவும்.
  • OpenAI-இல் பதிவு செய்து உங்கள் கணக்கு dashboard-லிருந்து ஒரு API key-ஐ உருவாக்கவும்.

அந்தத் திறவுகோலை (key) ஒரு environment variable அல்லது ஒரு .env கோப்பிற்குள் சேமிக்கவும். அதை உங்கள் மூலக் குறியீட்டில் (source code) நேரடியாகப் பதிக்க வேண்டாம். நீங்கள் ஒரு repository-ஐ GitHub-இல் hardcoded key உடன் பதிவேற்றினால், தானியங்கி ஸ்கிராப்பர்கள் (automated scrapers) சில நிமிடங்களிலேயே அதைக் கண்டுபிடித்து உங்கள் இலவச கிரெடிட்களை (free credits) தீர்த்துவிடும். ஒரு எளிய .env கோப்பு இவ்வாறு இருக்கும்:

OPENAI_API_KEY=sk-your-key-here

பின்னர் உங்கள் script-இல் os.environ அல்லது python-dotenv போன்ற ஒரு library-ஐப் பயன்படுத்தி அதை ஏற்றவும். இந்த ஒரு பழக்கம் பொழுதுபோக்குத் திட்டங்களை (hobby projects) நிஜ உலகில் நிலைத்து நிற்கும் திட்டங்களிலிருந்து பிரிக்கிறது.

உங்கள் திட்டத்திற்குப் பொருத்தமான API-யைத் தேர்ந்தெடுத்தல்

நீங்கள் அடுத்த வரியைக் குறியீடாக எழுதுவதற்கு முன், மூன்று காரணிகளைக் கொண்டு வழங்குநர்களை ஒப்பிட்டுப் பார்க்க பத்து நிமிடங்கள் செலவிடுங்கள்:

இலவசத் திட்டங்களுக்கான பயன்பாட்டு வரம்புகள் (Usage limits). சில சேவைகள் மூன்று மாதங்களுக்குப் பிறகு காலாவதியாகும் நிலையான கிரெடிட் மானியத்தை வழங்குகின்றன. மற்றவை ஒவ்வொரு மாதமும் ஒரு token அனுமதியை மீட்டமைக்கின்றன (reset). ஒரு token என்பது தோராயமாக ஒரு பொதுவான ஆங்கில வார்த்தையின் முக்கால் பகுதி ஆகும். இலவசத் திட்டம் உங்களுக்கு 200,000 tokens வழங்கினால், அது ஆயிரக்கணக்கான எளிய பரிமாற்றங்களுக்குப் போதுமானது, ஆனால் நீங்கள் முழு புத்தகங்களையும் prompt-இல் கொடுத்தால் அது விரைவாகத் தீர்ந்துவிடும். விகித வரம்புகளையும் (rate limits) சரிபார்க்கவும். ஒரு சேவை மாதத்திற்கு ஒரு மில்லியன் tokens அனுமதிக்கலாம் ஆனால் நிமிடத்திற்கு மூன்று கோரிக்கைகளாக (requests) உங்களை மட்டுப்படுத்தலாம்.

ஆவணங்களின் தரம் (Quality of documentation). வெறும் curl கட்டளைகளை மட்டும் காட்டாமல், சாதாரண requests-ஐப் பயன்படுத்தி Python உதாரணங்களைக் காட்டும் அதிகாரப்பூர்வ வழிகாட்டிகளைத் தேடுங்கள். நல்ல ஆவணங்கள் பிழை குறியீடுகளை (error codes) தெளிவாக விளக்குகின்றன, குறிப்பாக HTTP 429 (rate limit) மற்றும் 401 (invalid key). இலவசத் திட்டத்தில் எந்த மாதிரிகள் (models) கிடைக்கின்றன என்பதையும் அது பட்டியலிட வேண்டும், ஏனெனில் மலிவான திட்டங்கள் பெரும்பாலும் புதிய முதன்மை மாதிரிகளை (flagship models) விலக்கி வைக்கும்.

ஒருங்கிணைப்பதன் எளிமை (Ease of integration). JSON-ஐ ஏற்றுக்கொண்டு JSON-ஐத் திருப்பித் தரும் ஒரு சுத்தமான REST API சிறந்தது. ஒரு உரைச் சரத்தை (text string) அனுப்புவதற்கு மட்டுமே கனமான proprietary SDK-களை நிறுவ உங்களை வற்புறுத்தும் வழங்குநர்களைத் தவிர்க்க விரும்புகிறீர்கள். உங்களால் requests.post() மூலம் கோரிக்கையை உருவாக்க முடிந்தால், அந்த ஒருங்கிணைப்பு உங்கள் கட்டுப்பாட்டில் இருக்கும் மற்றும் அதை எளிதாகப் பிழைத்திருத்தம் (debug) செய்ய முடியும்.

உங்கள் Chatbot-ன் இதயம்

அதன் மையப்பகுதியில், உங்கள் பயன்பாடு என்பது ஒரு prompt-ஐ அனுப்பி பதிலுக்காகக் காத்திருக்கும் ஒரு function ஆகும். உங்கள் செய்தியைக் கொண்ட ஒரு dictionary-யை உருவாக்கி, அதை JSON-ஆக மாற்றி, Authorization header-இல் உங்கள் API key-ஐ இணைத்து, வழங்குநரின் completions அல்லது chat endpoint-க்கு POST செய்கிறீர்கள். தொலைதூரச் சேவையகம் (remote server) உரையைச் செயலாக்கி ஒரு response object-ஐத் திருப்பி அனுப்புகிறது. உங்கள் script அந்த JSON-ஐப் பகுப்பாய்வு செய்து (parse) உருவாக்கப்பட்ட சரத்தை (string) பிரித்தெடுக்கிறது.

ஒரு நடைமுறை முதல் பதிப்பு கருத்தாக்க ரீதியாக இவ்வாறு இருக்கும்:

  1. விசைப்பலகையிலிருந்து (keyboard) பயனர் உள்ளீட்டைப் பெறுங்கள்.
  2. API எதிர்பார்க்கும் payload வடிவத்திற்கு அதை மாற்றவும்.
  3. HTTP கோரிக்கையை (request) அனுப்பவும்.
  4. நெட்வொர்க் அல்லது அங்கீகார (authentication) பிழைகளைச் சரிபார்க்கவும்.
  5. பெறப்பட்ட JSON-லிருந்து பதிலைத் (reply text) தனியாக எடுக்கவும்.
  6. அதைத் திரையில் அச்சிடவும்.

அந்தச் சுழற்சி—உள்ளீடு, தொகுத்தல், அனுப்புதல், பெறுதல், காண்பித்தல்—இதுவே முழுமையான இயந்திரம். மற்ற அனைத்தும் வெறும் மெருகூட்டல் மட்டுமே.

நீங்கள் முன்மாதிரியைத் (prototype) தாண்டிச் செல்லும்போது, உரையாடல் வரலாற்றைப் (conversation history) பராமரிக்க விரும்புகிறீர்கள். மொழி மாதிரிகள் (Language models) stateless தன்மை கொண்டவை; ஒவ்வொரு முறையும் அந்த வரலாற்றை prompt-க்குள் மீண்டும் வழங்காதவரை, மூன்று சுற்றுகளுக்கு முன்பு நீங்கள் என்ன சொன்னீர்கள் என்பதை அவை நினைவில் கொள்ளாது. ஒவ்வொரு புதிய கோரிக்கைக்கு முன்பும், பயனர் prompts மற்றும் assistant பதில்களை ஒரு Python list (message dictionaries) இல் சேமிப்பதன் மூலம் இதைச் சரிசெய்யலாம். அந்தப் பட்டியல் வளரும் என்பதால், மாதிரியின் context limit-ஐ நெருங்கும்போது பழைய உரையாடல்களை நீக்கிவிட வேண்டும் (truncate).

முக்கியமான அம்சங்களைச் சேர்த்தல்

அடிப்படை அழைப்பு (basic call) நம்பகமான முறையில் செயல்பட்டவுடன், மக்கள் உண்மையில் பயன்படுத்த விரும்பும் வகையில் இந்தத் திட்டத்தை நீங்கள் வடிவமைக்கலாம்.

tkinter கொண்டு ஒரு எளிய பயனர் இடைமுகத்தை (user interface) உருவாக்குங்கள். தரநிலைக் நூலகத்தின் (standard library) tkinter தொகுதியானது பழமையான தோற்றத்திற்காக அடிக்கடி கேலி செய்யப்படுகிறது, ஆனால் இது ஒவ்வொரு Python நிறுவலிலும் உள்ளது மற்றும் இதற்கு எந்த வெளிப்புறத் தேவைகளும் (external dependencies) இல்லை. ஒரு நூறு வரிகளுக்குக் குறைவாகவே நீங்கள் ஒரு பயன்பாட்டு聊天 (chat) விண்டோவை உருவாக்க முடியும்: உரையாடல் பதிவிற்காக (conversation log) ஒரு Text widget, தட்டச்சு செய்ய ஒரு Entry widget மற்றும் உங்கள் API செயல்பாட்டைத் தூண்டும் ஒரு Button. இது வடிவமைப்பு விருதுகளை வெல்லாது, ஆனால் உங்கள் ஸ்கிரிப்டை ஒரு சாதாரண டெர்மினல் கருவியிலிருந்து, தொழில்நுட்ப அறிவு இல்லாத நண்பர்களும் முயற்சி செய்யக்கூடிய ஒரு டெஸ்க்டாப் பயன்பாடாக மாற்றும்.

சிறப்பு வாய்ந்த APIs-களைப் பயன்படுத்துங்கள். ஒரு பொதுவான மொழி மாதிரி உரையாடலை நன்றாகக் கையாளும், ஆனால் அது ஒவ்வொரு பணிக்கும் உகந்ததாக (optimized) இருக்காது. முக்கிய LLM அழைப்பிற்கு முன்னரோ அல்லது பின்னரோ பயனரின் உள்ளீட்டைத் தனித்தனி இலவச APIs மூலம் அனுப்பலாம். Sentiment analysis சேவைகள் ஒரு செய்தி கோபமாக, மகிழ்ச்சியாக அல்லது நடுநிலையாக உள்ளதா என்பதைக் கண்டறியும். Translation APIs பதிலைத் தகுந்த மொழியில் மாற்றும். இது போன்ற ஒரு வழிமுறையை (pipeline) உருவாக்குவது, உண்மையான AI தயாரிப்புகள் எவ்வாறு கட்டமைக்கப்படுகின்றன என்பதை உங்களுக்குக் கற்பிக்கும்: நோக்கத்தைக் கண்டறிய (intent detection) ஒரு மாதிரி, உருவாக்கத்திற்கு (generation) மற்றொன்று, மற்றும் post-processing-க்காக மூன்றாவது மாதிரி.

prompt engineering மூலம் பரிசோதனை செய்யுங்கள். இங்கு மேம்பட்ட NLP நுட்பங்கள் என்பது transformer கட்டமைப்புகளை மீண்டும் எழுதுவது என்று பொருளல்ல. மாறாக, உங்கள் prompts-களை மிகவும் கவனமாக வடிவமைப்பதாகும். System message-இல் மாதிரிக்கு ஒரு ஆளுமையை (persona) வழங்கவும். உண்மையான பயனர் கேள்விக்கு முன்னதாக, prompt-இல் இரண்டு அல்லது மூன்று மாதிரி கேள்வி-பதில் ஜோடிகளைச் சேர்ப்பதன் மூலம் few-shot examples-களைப் பயன்படுத்தவும். API அனுமதித்தால் temperature போன்ற அளவுருக்களை (parameters) மாற்றியமைக்கவும்; குறைந்த மதிப்புகள் வெளியீட்டைத் துல்லியமாகவும் (deterministic) ஒருமுகப்படுத்தப்பட்டதாகவும் மாற்றும், அதே சமயம் அதிக மதிப்புகள் படைப்பாற்றலை (creativity) ஊக்குவிக்கும். இந்த மாற்றங்களைச் செய்ய எந்தச் செலவும் இல்லை, ஆனால் அவை பதில்களின் தரத்தை வியக்கத்தக்க வகையில் மாற்றும்.

இதை உருவாக்குவது உண்மையில் உங்களுக்கு எதைக் கற்பிக்கிறது

இந்தத் திட்டம் வெறும் காட்சிப்படுத்துவதற்காக உருவாக்கப்பட்ட ஒரு ChatGPT நகல் (clone) மட்டுமல்ல. இந்தச் செயல்முறை நடைமுறை மென்பொருள் பொறியியல் சிக்கல்களை எதிர்கொள்ள உங்களைத் தூண்டுகிறது. ரகசியத் தகவல்களை (secrets) பாதுகாப்பாகக் கையாளுதல், தரவுகள் விடுபட்டிருக்கும்போது JSON-ஐச் சரியாகப் பிரித்தல் (parse) மற்றும் பல சுற்றுகளாக நடைபெறும் உரையாடலில் நிலையை (state) நிர்வகித்தல் போன்றவற்றை நீங்கள் கற்றுக்கொள்கிறீர்கள். நீங்கள் சொற்களை விட tokens-களைப் பற்றி சிந்திக்கத் தொடங்குவீர்கள். ஒரு சாட்பாட் (chatbot) என்பது சிந்திக்கும் ஒரு பொருள் அல்ல, மாறாக அது ஒரு புள்ளிவிவர இயந்திரத்தின் (statistics engine) மேல் மிதக்கும் ஒரு கணிப்பு அடுக்கு (prediction layer) என்பதை நீங்கள் கண்டறிவீர்கள்.

அந்த மன மாதிரி (mental model) மிகவும் மதிப்புமிக்கது. நீங்கள் பின்னர் LangChain போன்ற பெரிய கட்டமைப்புகளுடன் (frameworks) பணிபுரியும்போதோ அல்லது உற்பத்தித் தரத்திலான (production-grade) பயன்பாடுகளை உருவாக்கும்போதோ, அந்தத் தொழில்நுட்பங்கள் எதை மறைக்கின்றன என்பதை நீங்கள் புரிந்துகொள்வீர்கள், ஏனெனில் நீங்கள் ஏற்கனவே அதன் மூலமான HTTP பதிப்பை நீங்களே எழுதியுள்ளீர்கள்.

சிறியதாகத் தொடங்குங்கள், பின்னர் அம்சங்களைச் சேர்க்கவும்

முதல் நாளிலேயே tkinter GUI, sentiment analysis pipeline மற்றும் memory management ஆகிய அனைத்தையும் உருவாக்க முயற்சிக்காதீர்கள். டெர்மினலில் இருந்து ஒரு prompt-ஐப் பெற்று API பதிலை அச்சிடும் ஒரு அடிப்படை ஸ்கிரிப்டுடன் தொடங்குங்கள். அது சரியாகச் செயல்பட்டவுடன், பிழை கையாளுதலை (error handling) சேர்க்கவும். பின்னர் உரையாடல் தொடர்வதற்காக ஒரு சுழற்சியைச் (loop) சேர்க்கவும். பின்னர் முந்தைய உரையாடல்களை நினைவில் கொள்ளச் செய்யவும். பின்னர் அதை ஒரு விண்டோவாக மாற்றவும்.

ஒவ்வொரு அடுக்கும் உங்களுக்கு ஒரு குறிப்பிட்ட விஷயத்தைக் கற்பிக்கும். நீங்கள் முடிக்கும்போது, மென்பொருள் மேம்பாட்டு ஒழுக்கத்தையும் (software development discipline) நவீன AI இடைமுகங்களின் பின்னணியில் உள்ள முக்கிய தர்க்கத்தையும் (core logic) நீங்கள் உள்வாங்கிக் கொண்டிருப்பீர்கள்.


மூலம் மற்றும் கூடுதல் வாசிப்பு: Build Your Own ChatGPT With Free APIs in 2025

விருப்பத்தேர்வு கற்றல் சமூகம்: GyaanSetu AI on Telegram