Skip to content

Latest commit

 

History

History
153 lines (91 loc) · 21.8 KB

File metadata and controls

153 lines (91 loc) · 21.8 KB

ആഡ്വാൻസ്ഡ് പ്രോംപ്റ്റുകൾ സൃഷ്ടിക്കൽ

Creating Advanced Prompts

മുൻ അധ്യായത്തിൽ നിന്നുള്ള ചില പഠനങ്ങൾ നമുക്ക് പുനഃസ്മരിക്കാം:

പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് എന്നത് മോഡലിനെ കൂടുതൽ പ്രസക്തമായ പ്രതികരണങ്ങളിലേക്ക് നയിക്കുന്ന പ്രക്രിയയാണ്, കൂടുതൽ ഉപകാരപ്രദമായ നിർദ്ദേശങ്ങൾ അല്ലെങ്കിൽ പശ്ചാത്തലം നൽകുന്നതിലൂടെ.

പ്രോംപ്റ്റുകൾ എഴുതുന്നതിന് രണ്ട് ഘട്ടങ്ങളുണ്ട്: പ്രസക്തമായ പശ്ചാത്തലം നൽകിയാണ് പ്രോംപ്റ്റ് നിർമ്മിക്കുന്നത്, പിന്നെ ഓപ്റ്റിമൈസേഷൻ, പ്രോംപ്റ്റ് ക്രമമായി മെച്ചപ്പെടുത്തുന്നതാണ്.

ഇപ്പോൾ, നമുക്ക് പ്രോംപ്റ്റുകൾ എങ്ങനെ എഴുതാമെന്ന് അടിസ്ഥാനപരമായി മനസ്സിലായി, പക്ഷേ കൂടുതൽ ആഴത്തിൽ പോകേണ്ടതുണ്ട്. ഈ അധ്യായത്തിൽ, നിങ്ങൾ വിവിധ പ്രോംപ്റ്റുകൾ പരീക്ഷിക്കുന്നതിൽ നിന്ന് ഒരു പ്രോംപ്റ്റ് മറ്റൊന്നിനേക്കാൾ എങ്ങനെ മെച്ചമാണെന്ന് മനസ്സിലാക്കുന്നതിലേക്ക് പോകും. ഏതൊരു LLM-ലും പ്രയോഗിക്കാവുന്ന ചില അടിസ്ഥാന സാങ്കേതിക വിദ്യകൾ പിന്തുടർന്ന് പ്രോംപ്റ്റുകൾ എങ്ങനെ നിർമ്മിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

പരിചയം

ഈ അധ്യായത്തിൽ, നാം താഴെ പറയുന്ന വിഷയങ്ങൾ ഉൾക്കൊള്ളും:

  • നിങ്ങളുടെ പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് അറിവ് വിപുലീകരിക്കുക, വ്യത്യസ്ത സാങ്കേതിക വിദ്യകൾ പ്രോംപ്റ്റുകളിൽ പ്രയോഗിച്ച്.
  • ഔട്ട്പുട്ട് വ്യത്യസ്തമാക്കാൻ നിങ്ങളുടെ പ്രോംപ്റ്റുകൾ ക്രമീകരിക്കുക.

പഠന ലക്ഷ്യങ്ങൾ

ഈ പാഠം പൂർത്തിയാക്കിയ ശേഷം, നിങ്ങൾക്ക് കഴിയും:

  • നിങ്ങളുടെ പ്രോംപ്റ്റുകളുടെ ഫലം മെച്ചപ്പെടുത്തുന്ന പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് സാങ്കേതിക വിദ്യകൾ പ്രയോഗിക്കുക.
  • വ്യത്യസ്തമായോ നിർണായകമായോ പ്രോംപ്റ്റിംഗ് നടത്തുക.

പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ്

പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് എന്നത് ആഗ്രഹിക്കുന്ന ഫലം സൃഷ്ടിക്കുന്ന പ്രോംപ്റ്റുകൾ സൃഷ്ടിക്കുന്ന പ്രക്രിയയാണ്. ഒരു ടെക്സ്റ്റ് പ്രോംപ്റ്റ് എഴുതുന്നതിൽ മാത്രമല്ല പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ്. പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് ഒരു എഞ്ചിനീയറിംഗ് ശാഖയല്ല, നിങ്ങൾക്ക് ആഗ്രഹിക്കുന്ന ഫലം നേടാൻ പ്രയോഗിക്കാവുന്ന സാങ്കേതിക വിദ്യകളുടെ ഒരു സമാഹാരമാണ്.

ഒരു പ്രോംപ്റ്റിന്റെ ഉദാഹരണം

ഇങ്ങനെ ഒരു അടിസ്ഥാന പ്രോംപ്റ്റ് എടുത്തു നോക്കാം:

ഭൂഗോളത്തെക്കുറിച്ച് 10 ചോദ്യങ്ങൾ സൃഷ്ടിക്കുക.

ഈ പ്രോംപ്റ്റിൽ, നിങ്ങൾ വ്യത്യസ്ത പ്രോംപ്റ്റ് സാങ്കേതിക വിദ്യകളുടെ ഒരു സമാഹാരം പ്രയോഗിക്കുന്നു.

ഇത് വിഭജിക്കാം.

  • പശ്ചാത്തലം, ഇത് "ഭൂഗോൾ" എന്ന വിഷയമായിരിക്കണം എന്ന് നിങ്ങൾ വ്യക്തമാക്കുന്നു.
  • ഔട്ട്പുട്ട് പരിധി, 10-ൽ കൂടുതൽ ചോദ്യങ്ങൾ വേണമെന്നില്ല.

ലളിതമായ പ്രോംപ്റ്റിംഗിന്റെ പരിമിതികൾ

നിങ്ങൾക്ക് ആഗ്രഹിക്കുന്ന ഫലം ലഭിക്കാമോ അല്ലയോ എന്നത് ഉറപ്പില്ല. ചോദ്യങ്ങൾ സൃഷ്ടിക്കപ്പെടും, പക്ഷേ ഭൂഗോൾ വലിയ ഒരു വിഷയം ആണ്, അതിനാൽ നിങ്ങൾക്ക് ആവശ്യമായത് ലഭിക്കാതിരിക്കാം, കാരണം:

  • വലിയ വിഷയം, ഇത് രാജ്യങ്ങൾ, തലസ്ഥാനങ്ങൾ, നദികൾ എന്നിവയെക്കുറിച്ചായിരിക്കുമോ എന്ന് നിങ്ങൾക്ക് അറിയില്ല.
  • ഫോർമാറ്റ്, നിങ്ങൾക്ക് ചോദ്യങ്ങൾ ഒരു പ്രത്യേക രീതിയിൽ വേണമെങ്കിൽ?

കാണുന്നതുപോലെ, പ്രോംപ്റ്റുകൾ സൃഷ്ടിക്കുമ്പോൾ പരിഗണിക്കേണ്ട കാര്യങ്ങൾ 많ുണ്ട്.

ഇതുവരെ, ലളിതമായ ഒരു പ്രോംപ്റ്റ് ഉദാഹരണം കണ്ടു, പക്ഷേ ജനറേറ്റീവ് AI പല വ്യവസായങ്ങളിലും വിവിധ വേഷങ്ങളിൽ ആളുകളെ സഹായിക്കാൻ വളരെ കൂടുതൽ കഴിവുള്ളതാണ്. അടുത്തതായി ചില അടിസ്ഥാന സാങ്കേതിക വിദ്യകൾ പരിശോധിക്കാം.

പ്രോംപ്റ്റിംഗിനുള്ള സാങ്കേതിക വിദ്യകൾ

ആദ്യം, പ്രോംപ്റ്റിംഗ് ഒരു LLM-ന്റെ ഉത്ഭവസ്വഭാവമുള്ള ഗുണമാണ് എന്ന് മനസ്സിലാക്കണം, അതായത് ഇത് മോഡലിൽ നേരിട്ട് ഉൾപ്പെടുത്തിയ ഒരു ഫീച്ചർ അല്ല, മോഡൽ ഉപയോഗിക്കുമ്പോൾ കണ്ടെത്തുന്ന ഒന്നാണ്.

LLM പ്രോംപ്റ്റ് ചെയ്യാൻ നാം ഉപയോഗിക്കാവുന്ന ചില അടിസ്ഥാന സാങ്കേതിക വിദ്യകൾ ഉണ്ട്. അവ പരിശോധിക്കാം.

  • സീറോ-ഷോട്ട് പ്രോംപ്റ്റിംഗ്, ഏറ്റവും ലളിതമായ പ്രോംപ്റ്റിംഗ് രൂപമാണ്. ഇത് LLM-ന്റെ പരിശീലന ഡാറ്റയുടെ അടിസ്ഥാനത്തിൽ മാത്രം പ്രതികരണം അഭ്യർത്ഥിക്കുന്ന ഏക പ്രോംപ്റ്റ് ആണ്.
  • ഫ്യൂ-ഷോട്ട് പ്രോംപ്റ്റിംഗ്, ഈ രീതിയിൽ LLM-നെ 1 അല്ലെങ്കിൽ കൂടുതൽ ഉദാഹരണങ്ങൾ നൽകി അതിൽ ആശ്രയിച്ച് പ്രതികരണം സൃഷ്ടിക്കാൻ സഹായിക്കുന്നു.
  • ചെയിൻ-ഓഫ്-തോട്ട്, ഈ രീതിയിൽ LLM-നെ ഒരു പ്രശ്നം ഘട്ടങ്ങളായി വിഭജിച്ച് എങ്ങനെ പരിഹരിക്കാമെന്ന് പഠിപ്പിക്കുന്നു.
  • ജനറേറ്റഡ് നോളജ്, പ്രോംപ്റ്റിന്റെ പ്രതികരണം മെച്ചപ്പെടുത്താൻ, പ്രോംപ്റ്റിനൊപ്പം സൃഷ്ടിച്ച വാസ്തവങ്ങൾ അല്ലെങ്കിൽ അറിവ് നൽകാം.
  • ലീസ്റ്റ് ടു മോസ്റ്റ്, ചെയിൻ-ഓഫ്-തോട്ട് പോലെയാണ്, പ്രശ്നം ഘട്ടങ്ങളായി വിഭജിച്ച് ആ ഘട്ടങ്ങൾ ക്രമത്തിൽ നിർവഹിക്കാൻ ആവശ്യപ്പെടുന്നു.
  • സെൽഫ്-റിഫൈൻ, ഈ സാങ്കേതിക വിദ്യ LLM-ന്റെ ഔട്ട്പുട്ട് വിമർശിച്ച് മെച്ചപ്പെടുത്താൻ ആവശ്യപ്പെടുന്നതാണ്.
  • മൈയൂട്ടിക് പ്രോംപ്റ്റിംഗ്. ഇവിടെ നിങ്ങൾ ആഗ്രഹിക്കുന്നത് LLM ഉത്തരം ശരിയാണെന്ന് ഉറപ്പാക്കുകയും ഉത്തരം വിശദീകരിക്കാൻ ആവശ്യപ്പെടുകയും ചെയ്യുകയാണ്. ഇത് സെൽഫ്-റിഫൈൻ ഒരു രൂപമാണ്.

സീറോ-ഷോട്ട് പ്രോംപ്റ്റിംഗ്

ഈ പ്രോംപ്റ്റിംഗ് ശൈലി വളരെ ലളിതമാണ്, ഏക പ്രോംപ്റ്റ് മാത്രമാണ്. നിങ്ങൾ LLM-കൾ പഠിക്കാൻ തുടങ്ങുമ്പോൾ ഇതാണ് സാധാരണ ഉപയോഗിക്കുന്നത്. ഉദാഹരണം:

  • പ്രോംപ്റ്റ്: "അൽജിബ്ര എന്താണ്?"
  • ഉത്തരം: "അൽജിബ്ര ഗണിതത്തിലെ ഒരു ശാഖയാണ്, ഗണിത ചിഹ്നങ്ങളും അവ കൈകാര്യം ചെയ്യാനുള്ള നിയമങ്ങളും പഠിക്കുന്നു."

ഫ്യൂ-ഷോട്ട് പ്രോംപ്റ്റിംഗ്

ഈ ശൈലി മോഡലിന് ചില ഉദാഹരണങ്ങൾ നൽകിയാണ് സഹായിക്കുന്നത്. ഇത് ഒരു പ്രോംപ്റ്റിനൊപ്പം അധിക ടാസ്ക്-സ്പെസിഫിക് ഡാറ്റ നൽകുന്നതാണ്. ഉദാഹരണം:

  • പ്രോംപ്റ്റ്: "ഷേക്സ്പിയറിന്റെ ശൈലിയിൽ ഒരു കവിത എഴുതുക. ഇവിടെ ഷേക്സ്പിയറിന്റെ ചില സോനെറ്റുകൾ ഉ നിങ്ങൾക്ക് കാണാമല്ലോ, ഫലങ്ങൾ ഇത്രയും വ്യത്യസ്തമായിരിക്കാനാകില്ല.

ശ്രദ്ധിക്കുക, ഔട്ട്പുട്ട് വ്യത്യസ്തമാക്കാൻ നിങ്ങൾ മാറ്റാൻ കഴിയുന്ന കൂടുതൽ പാരാമീറ്ററുകൾ ഉണ്ട്, ഉദാഹരണത്തിന് top-k, top-p, repetition penalty, length penalty, diversity penalty എന്നിവ, പക്ഷേ ഇവ ഈ പാഠ്യപദ്ധതിയുടെ പരിധിക്കു പുറത്താണ്.

നല്ല പ്രാക്ടീസുകൾ

നിങ്ങൾക്ക് നിങ്ങൾക്ക് വേണ്ടത് നേടാൻ ശ്രമിക്കാനായി പല പ്രാക്ടീസുകളും പ്രയോഗിക്കാം. നിങ്ങൾ കൂടുതൽ പ്രോംപ്റ്റിംഗ് ഉപയോഗിക്കുമ്പോൾ നിങ്ങളുടെ സ്വന്തം ശൈലി കണ്ടെത്തും.

നാം പഠിച്ച സാങ്കേതികവിദ്യകളോടൊപ്പം, LLM പ്രോംപ്റ്റ് ചെയ്യുമ്പോൾ പരിഗണിക്കേണ്ട ചില നല്ല പ്രാക്ടീസുകൾ ഉണ്ട്.

ഇവിടെ പരിഗണിക്കേണ്ട ചില നല്ല പ്രാക്ടീസുകൾ:

  • സന്ദർഭം വ്യക്തമാക്കുക. സന്ദർഭം പ്രധാനമാണ്, ഡൊമെയ്ൻ, വിഷയം തുടങ്ങിയവ കൂടുതൽ വ്യക്തമാക്കാൻ കഴിയുന്നത്ര വ്യക്തമാക്കുക.
  • ഔട്ട്പുട്ട് പരിധി നിശ്ചയിക്കുക. നിങ്ങൾക്ക് ഒരു പ്രത്യേക എണ്ണം ഐറ്റങ്ങൾ അല്ലെങ്കിൽ ഒരു പ്രത്യേക നീളം വേണമെങ്കിൽ അത് വ്യക്തമാക്കുക.
  • എന്ത് വേണമെന്ന് കൂടാതെ എങ്ങനെ വേണമെന്ന് വ്യക്തമാക്കുക. നിങ്ങൾക്ക് എന്ത് വേണമെന്ന് കൂടാതെ എങ്ങനെ വേണമെന്ന് പറയാൻ മറക്കരുത്, ഉദാഹരണത്തിന് "products, customers എന്ന റൂട്ടുകളുള്ള Python Web API സൃഷ്ടിക്കുക, അത് 3 ഫയലുകളായി വിഭജിക്കുക".
  • ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കുക. പലപ്പോഴും, നിങ്ങളുടെ കമ്പനിയിലുള്ള ഡാറ്റ ഉപയോഗിച്ച് പ്രോംപ്റ്റുകൾ സമ്പന്നമാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കും. ഇത് ചെയ്യാൻ ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കുക. ടെംപ്ലേറ്റുകളിൽ നിങ്ങൾ യഥാർത്ഥ ഡാറ്റയുമായി മാറ്റുന്ന വേരിയബിളുകൾ ഉണ്ടാകാം.
  • ശുദ്ധമായി എഴുതുക. LLMകൾ ശരിയായ മറുപടി നൽകാമെങ്കിലും, നിങ്ങൾ ശരിയായി എഴുതിയാൽ മികച്ച മറുപടി ലഭിക്കും.

അസൈൻമെന്റ്

Flask ഉപയോഗിച്ച് എളുപ്പത്തിലുള്ള API എങ്ങനെ നിർമ്മിക്കാമെന്ന് കാണിക്കുന്ന Python കോഡ് ഇവിടെ:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def hello():
    name = request.args.get('name', 'World')
    return f'Hello, {name}!'

if __name__ == '__main__':
    app.run()

GitHub Copilot അല്ലെങ്കിൽ ChatGPT പോലുള്ള AI അസിസ്റ്റന്റിനെ ഉപയോഗിച്ച് "self-refine" സാങ്കേതികവിദ്യ പ്രയോഗിച്ച് കോഡ് മെച്ചപ്പെടുത്തുക.

പരിഹാരം

കോഡിൽ അനുയോജ്യമായ പ്രോംപ്റ്റുകൾ ചേർത്ത് അസൈൻമെന്റ് പരിഹരിക്കാൻ ശ്രമിക്കുക.

Tip

മെച്ചപ്പെടുത്താൻ പ്രോംപ്റ്റ് രൂപപ്പെടുത്തുക, എത്രത്തോളം മെച്ചപ്പെടുത്തലുകൾ വേണമെന്ന് പരിധി നിശ്ചയിക്കുന്നത് നല്ല ആശയമാണ്. നിങ്ങൾക്ക് പ്രത്യേക രീതിയിൽ മെച്ചപ്പെടുത്താൻ പറയാം, ഉദാഹരണത്തിന് ആർക്കിടെക്ചർ, പ്രകടനം, സുരക്ഷ തുടങ്ങിയവ.

പരിഹാരം

അറിവ് പരിശോധിക്കൽ

ഞാൻ chain-of-thought prompting എന്തിന് ഉപയോഗിക്കും? 1 ശരിയായ മറുപടി, 2 തെറ്റായ മറുപടികൾ കാണിക്കുക.

  1. ഒരു പ്രശ്നം എങ്ങനെ പരിഹരിക്കാമെന്ന് LLM-ന് പഠിപ്പിക്കാൻ.
  2. B, കോഡിൽ പിഴവുകൾ കണ്ടെത്താൻ LLM-ന് പഠിപ്പിക്കാൻ.
  3. C, LLM-ന് വ്യത്യസ്ത പരിഹാരങ്ങൾ കണ്ടെത്താൻ നിർദ്ദേശിക്കാൻ.

A: 1, കാരണം chain-of-thought LLM-ന് ഒരു പ്രശ്നം എങ്ങനെ പരിഹരിക്കാമെന്ന് പല ഘട്ടങ്ങളായി, സമാന പ്രശ്നങ്ങളും അവ എങ്ങനെ പരിഹരിക്കപ്പെട്ടുവെന്നും കാണിച്ച് പഠിപ്പിക്കുകയാണ്.

🚀 ചലഞ്ച്

നിങ്ങൾ അസൈൻമെന്റിൽ self-refine സാങ്കേതികവിദ്യ ഉപയോഗിച്ചു. നിങ്ങൾ നിർമ്മിച്ച ഏതെങ്കിലും പ്രോഗ്രാമിൽ നിങ്ങൾ ആഗ്രഹിക്കുന്ന മെച്ചപ്പെടുത്തലുകൾ പരിഗണിക്കുക. ഇപ്പോൾ self-refine സാങ്കേതികവിദ്യ ഉപയോഗിച്ച് നിർദ്ദേശിച്ച മാറ്റങ്ങൾ പ്രയോഗിക്കുക. ഫലം നിങ്ങൾക്ക് എങ്ങനെ തോന്നി, മെച്ചപ്പെട്ടതോ അല്ലെങ്കിൽ മോശമായതോ?

മികച്ച ജോലി! നിങ്ങളുടെ പഠനം തുടരുക

ഈ പാഠം പൂർത്തിയാക്കിയ ശേഷം, നമ്മുടെ Generative AI Learning collection പരിശോധിച്ച് നിങ്ങളുടെ Generative AI അറിവ് ഉയർത്തുക!

Lesson 6-ലേക്ക് പോകൂ, അവിടെ നാം Prompt Engineering അറിവ് പ്രയോഗിച്ച് ടെക്സ്റ്റ് ജനറേഷൻ ആപ്പുകൾ നിർമ്മിക്കും


അസൂയാപത്രം:
ഈ രേഖ AI വിവർത്തന സേവനം Co-op Translator ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ വ്യാഖ്യാനക്കേടുകൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.