𝗣𝘆𝘁𝗵𝗼𝗻 𝗘𝘀𝘀𝗲𝗻𝘁𝗶𝗮𝗹𝘀 𝗳𝗼𝗿 𝗚𝗲𝗻𝗔𝗜

ਤੁਹਾਨੂੰ JavaScript ਅਤੇ TypeScript ਦੀ ਜਾਣਕਾਰੀ ਹੈ। ਹੁਣ ਤੁਸੀਂ LangChain ਅਤੇ GenAI ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਝ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਤੁਹਾਨੂੰ Python ਦੀ ਲੋੜ ਹੈ।

ਤੁਹਾਨੂੰ ਜ਼ੀਰੋ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਤੁਸੀਂ Python ਦੇ ਸੰਕਲਪਾਂ (concepts) ਨੂੰ ਉਹਨਾਂ ਚੀਜ਼ਾਂ ਨਾਲ ਜੋੜ ਸਕਦੇ ਹੋ ਜੋ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦੇ ਹੋ।

JS ਡਿਵੈਲਪਰਾਂ ਲਈ ਇੱਥੇ ਇੱਕ ਤੇਜ਼ ਟ੍ਰਾਂਸਲੇਸ਼ਨ ਗਾਈਡ ਹੈ:

Core Syntax

  • ਵੇਰੀਏਬਲਜ਼ (Variables): ਸਧਾਰਨ ਅਸਾਈਨਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਕੰਸਟੈਂਟਸ (constants) ਲਈ, UPPER_CASE ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਬੂਲੀਅਨਜ਼ (Booleans): True ਅਤੇ False ਦੀ ਵਰਤੋਂ ਕਰੋ (ਇਹ ਕੈਪੀਟਲਾਈਜ਼ਡ ਹੁੰਦੇ ਹਨ)।
  • Null/Undefined: None ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਪ੍ਰਿੰਟਿੰਗ (Printing): console.log() ਦੀ ਬਜਾਏ print() ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਟੈਂਪਲੇਟ ਲਿਟਰਲਜ਼ (Template Literals): f"Hello, {name}" ਵਰਗੇ f-strings ਦੀ ਵਰਤੋਂ ਕਰੋ।

Logic and Flow

  • ਇੰਡੈਂਟੇਸ਼ਨ (Indentation): Python ਕਰਲੀ ਬਰੇਸ {} ਦੀ ਬਜਾਏ ਵ੍ਹਾਈਟਸਪੇਸ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਬਦਲਾਅ ਹੈ।
  • Truthy/Falsy: JS ਵਿੱਚ, ਇੱਕ ਖਾਲੀ ਐਰੇ [] truthy ਹੁੰਦਾ ਹੈ। Python ਵਿੱਚ, ਇੱਕ ਖਾਲੀ ਲਿਸਟ [] falsy ਹੁੰਦੀ ਹੈ।
  • ਤੁਲਨਾ (Comparison): Python ਦਾ == JS ਦੇ === ਵਾਂਗ ਮੁੱਲ (values) ਦੀ ਤੁਲਨਾ ਕਰਦਾ ਹੈ।

Data Structures

  • ਲਿਸਟਸ (Lists): ਐਰੇਜ਼ (Arrays) ਦੇ ਸਮਾਨ। .push() ਦੀ ਬਜਾਏ .append() ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਡਿਕਸ਼ਨਰੀਜ਼ (Dictionaries): ਆਬਜੈਕਟਸ (Objects) ਦੇ ਸਮਾਨ। ਮੁੱਲਾਂ ਤੱਕ ਪਹੁੰਚਣ ਲਈ person["name"] ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਟਿਪਲਜ਼ (Tuples): ਫਰੋਜ਼ਨ ਐਰੇਜ਼ ਵਾਂਗ। ਤੁਸੀਂ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਉਹਨਾਂ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਦੇ।
  • ਸੈੱਟਸ (Sets): ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਵਿਲੱਖਣ (unique) ਆਈਟਮਾਂ ਅਤੇ ਇੰਟਰਸੈਕਸ਼ਨ (intersections) ਵਰਗੇ ਗਣਿਤਕ ਕਾਰਜਾਂ ਲਈ ਕਰੋ।

Functional Patterns

  • Map ਅਤੇ Filter: .map() ਅਤੇ .filter() ਦੀ ਬਜਾਏ list comprehensions ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਉਦਾਹਰਨ: [n * 2 for n in numbers] numbers.map(n => n * 2) ਦੀ ਜਗ੍ਹਾ ਲੈਂਦਾ ਹੈ।
  • ਡੀਸਟ੍ਰਕਚਰਿੰਗ (Destructuring): ਇੱਕੋ ਸਮੇਂ ਕਈ ਵੇਰੀਏਬਲ ਅਸਾਈਨ ਕਰਨ ਲਈ unpacking ਦੀ ਵਰਤੋਂ ਕਰੋ।

Modern GenAI Essentials

  • Pydantic: ਇਹ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੈ। LangChain ਡੇਟਾ ਵੈਲੀਡੇਸ਼ਨ ਅਤੇ ਸਟ੍ਰਕਚਰਡ ਆਉਟਪੁੱਟ ਲਈ Pydantic ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
  • ਡੈਕੋਰੇਟਰਜ਼ (Decorators): ਇਹ React ਵਿੱਚ Higher-Order Components ਵਾਂਗ ਕੰਮ ਕਰਦੇ ਹਨ। ਉਹ ਲੌਜਿਕ ਜੋੜਨ ਲਈ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਲਪੇਟਦੇ (wrap) ਹਨ।
  • Async: Python ਵੀ JS ਵਾਂਗ async ਅਤੇ await ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। Promise.all() ਦੀ ਬਜਾਏ asyncio.gather() ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਜਨਰੇਟਰਜ਼ (Generators): ਇਹ ਤੁਹਾਨੂੰ ਇੱਕ-ਇੱਕ ਕਰਕੇ LLM ਟੋਕਨ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।

Package Management

  • npm ਹੀ pip ਹੈ।
  • node_modules ਹੀ .venv ਹੈ।
  • package.json ਹੀ requirements.txt ਹੈ।

ਆਪਣੇ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਸਾਫ਼ ਰੱਖਣ ਲਈ ਹਮੇਸ਼ਾ ਇੱਕ ਵਰਚੁਅਲ ਇਨਵਾਇਰਨਮੈਂਟ (.venv) ਦੀ ਵਰਤੋਂ ਕਰੋ।

Source: https://dev.to/ajmal_hasan/python-essentials-for-genai-lji