GenAI-க்கான Python அத்தியாவசியங்கள்
உங்களுக்கு JavaScript மற்றும் TypeScript தெரியும். நீங்கள் LangChain, LangGraph மற்றும் GenAI கருவிகளைக் கொண்டு உருவாக்க விரும்புகிறீர்கள். உங்களுக்கு Python தேவைப்படுகிறது.
நீங்கள் புதிய சிந்தனை முறையைக் கற்க வேண்டிய அவசியமில்லை. உங்களுக்கு ஏற்கனவே தெரிந்த விஷயங்களுடன் Python கருத்துக்களை (concepts) ஒப்பிட்டுப் பார்த்தாலே போதுமானது.
இதோ உங்களுக்கான விரைவான மொழிபெயர்ப்பு வழிகாட்டி.
Core Syntax
- மாறிகள் (Variables): let அல்லது const கிடையாது.
name = "Ajmal"என்பதைப் பயன்படுத்தவும். மாறாத மதிப்புகளுக்கு (constants) UPPERCASE பயன்படுத்தவும். - Booleans: true/false என்பது True/False என மாறும்.
- Null/Undefined:
Noneஎன்பதைப் பயன்படுத்தவும். - Strings: Template literals
${name}என்பது f-stringsf"{name}"ஆக மாறும். - Print:
console.log()என்பதுprint()ஆக மாறும். - Indentation: Python, curly braces
{}என்பதற்குப் பதிலாக இடைவெளிகளைப் (spaces) பயன்படுத்துகிறது. இதுவே மிக முக்கியமான மாற்றமாகும்.
Data Structures
- Lists: JS Arrays போன்றது.
fruits.push("date")என்பதற்குப் பதிலாகfruits.append("date")என்பதைப் பயன்படுத்தவும். - Dicts: JS Objects போன்றது. மதிப்புகளை அணுக
person["name"]என்பதைப் பயன்படுத்தவும். - Slicing: இது Python-ன் ஒரு சிறப்பம்சம். ஒரு குறிப்பிட்ட வரம்பைப் (range) பெற
fruits[1:3]என்பதைப் பயன்படுத்தவும். - Sets: JS Sets போன்றது. நகல்களை (duplicates) நீக்க இது சிறந்தது.
- Tuples: மாற்ற முடியாத (frozen) arrays போன்றது. இவற்றை உருவாக்கிய பிறகு மாற்ற முடியாது.
Functional Patterns
- Map:
.map()என்பதற்குப் பதிலாக, list comprehensions பயன்படுத்தவும்:[n * 2 for n in numbers]. - Filter:
.filter()என்பதற்குப் பதிலாக, இதைப் பயன்படுத்தவும்:[n for n in numbers if n > 5]. - Spread: positional arguments-களுக்கு
*argsமற்றும் named arguments-களுக்கு**kwargsஎன்பதைப் பயன்படுத்தவும்.
Classes and Validation
- Classes:
thisஎன்பதற்குப் பதிலாகselfஎன்பதைப் பயன்படுத்தவும். - Pydantic: இது GenAI-க்கு மிகவும் முக்கியமானது. இது தரவு சரிபார்ப்பைக் (data validation) கையாள்கிறது. LangChain, tool schemas முதல் LLM outputs வரை அனைத்திற்கும் இதைப் பயன்படுத்துகிறது.
- Decorators: இவை React-ல் உள்ள Higher Order Components போன்றது. இவை செயல்பாடுகளுக்கு (functions) கூடுதல் பண்புகளைச் சேர்க்க அவற்றைச் சுற்றியுள்ளதா (wrap) செய்யும்.
Async and File I/O
- Async: Python, JS போலவே
async/awaitபயன்படுத்துகிறது.Promise.all()என்பதற்குப் பதிலாகasyncio.gather()என்பதைப் பயன்படுத்தவும். - Context Managers: கோப்புகளைத் திறக்க
withstatement-ஐப் பயன்படுத்தவும். இது கோப்புகளை மூடுவதை நீங்கள் மறக்காமல் இருக்க, தானாகவே சுத்திகரிப்புப் பணிகளை (cleanup) கையாள்கிறது. - Exceptions:
try/catchஎன்பதுtry/exceptஆக மாறும்.throwஎன்பதுraiseஆக மாறும்.
Environment Management
- Package Manager:
npmஎன்பதுpipஆக மாறும். - Dependency File:
package.jsonஎன்பதுrequirements.txtஆக மாறும். - Local Modules:
node_modules/என்பது.venv/ஆக மாறும். தொகுப்புகளை (packages) நிறுவும் முன் எப்போதும் உங்கள் virtual environment-ஐச் செயல்படுத்தவும் (activate).
இந்த ஒப்பீடுகளைக் கற்றுக்கொண்டால், நீங்கள் உடனடியாக AI agents-களை உருவாக்கத் தொடங்கலாம்.
மூலம்: https://dev.to/ajmal_hasan/python-essentials-for-genai-lji