Skip to content

Latest commit

 

History

History
399 lines (247 loc) · 91.1 KB

File metadata and controls

399 lines (247 loc) · 91.1 KB

ప్రాంప్ట్ ఇంజనీరింగ్ మౌలికాలు

Prompt Engineering Fundamentals

పరిచయం

ఈ మాడ్యూల్ జనరేటివ్ AI మోడల్స్‌లో సమర్థవంతమైన ప్రాంప్ట్‌లను సృష్టించడానికి అవసరమైన ముఖ్యమైన భావనలు మరియు సాంకేతికతలను కవర్ చేస్తుంది. మీరు LLM కు మీ ప్రాంప్ట్‌ను ఎలా రాస్తారో కూడా ముఖ్యం. జాగ్రత్తగా రూపొందించిన ప్రాంప్ట్ మంచి ప్రతిస్పందన నాణ్యతను సాధించగలదు. కానీ ప్రాంప్ట్ మరియు ప్రాంప్ట్ ఇంజనీరింగ్ వంటి పదాలు ఏమిటి? మరియు నేను LLM కు పంపే ప్రాంప్ట్ ఇన్‌పుట్ ను ఎలా మెరుగుపరచగలను? ఈ ప్రశ్నలకు ఈ అధ్యాయం మరియు తదుపరి అధ్యాయంలో సమాధానం ఇవ్వడానికి ప్రయత్నిస్తాము.

జనరేటివ్ AI వినియోగదారుల అభ్యర్థనలకు స్పందనగా కొత్త కంటెంట్ (ఉదా: టెక్స్ట్, చిత్రాలు, ఆడియో, కోడ్ మొదలైనవి) సృష్టించగలదు. ఇది OpenAI యొక్క GPT ("Generative Pre-trained Transformer") సిరీస్ వంటి లార్జ్ లాంగ్వేజ్ మోడల్స్ ఉపయోగించి సాధిస్తుంది, ఇవి సహజ భాష మరియు కోడ్ ఉపయోగించడానికి శిక్షణ పొందినవి.

వినియోగదారులు ఇప్పుడు చాట్ వంటి పరిచయమైన పద్ధతుల ద్వారా ఈ మోడల్స్‌తో ఇంటరాక్ట్ చేయవచ్చు, ఎటువంటి సాంకేతిక నైపుణ్యం లేదా శిక్షణ అవసరం లేకుండా. ఈ మోడల్స్ ప్రాంప్ట్-ఆధారిత - వినియోగదారులు టెక్స్ట్ ఇన్‌పుట్ (ప్రాంప్ట్) పంపించి AI ప్రతిస్పందన (పూర్తి) పొందుతారు. వారు ఆపై "AIతో చాట్" చేయవచ్చు, బహుళ-తిరుగుబాటు సంభాషణల్లో, వారి ప్రాంప్ట్‌ను మెరుగుపరుస్తూ, ప్రతిస్పందన వారి ఆశలకు సరిపోయే వరకు.

"ప్రాంప్ట్‌లు" ఇప్పుడు జనరేటివ్ AI యాప్స్ కోసం ప్రాథమిక ప్రోగ్రామింగ్ ఇంటర్‌ఫేస్ గా మారాయి, మోడల్స్‌కు ఏమి చేయాలో చెప్పడం మరియు తిరిగి వచ్చే ప్రతిస్పందనల నాణ్యతను ప్రభావితం చేయడం. "ప్రాంప్ట్ ఇంజనీరింగ్" అనేది వేగంగా అభివృద్ధి చెందుతున్న అధ్యయన రంగం, ఇది స్థిరమైన మరియు నాణ్యమైన ప్రతిస్పందనలను పెద్ద ఎత్తున అందించడానికి ప్రాంప్ట్‌ల రూపకల్పన మరియు ఆప్టిమైజేషన్‌పై దృష్టి సారిస్తుంది.

నేర్చుకునే లక్ష్యాలు

ఈ పాఠంలో, ప్రాంప్ట్ ఇంజనీరింగ్ అంటే ఏమిటి, అది ఎందుకు ముఖ్యం, మరియు ఒక నిర్దిష్ట మోడల్ మరియు అప్లికేషన్ లక్ష్యానికి మరింత సమర్థవంతమైన ప్రాంప్ట్‌లను ఎలా రూపొందించవచ్చో నేర్చుకుంటాము. ప్రాంప్ట్ ఇంజనీరింగ్ యొక్క ప్రాథమిక భావనలు మరియు ఉత్తమ పద్ధతులను అర్థం చేసుకుంటాము - మరియు ఈ భావనలు నిజమైన ఉదాహరణలపై ఎలా వర్తించబడుతున్నాయో చూడటానికి ఇంటరాక్టివ్ జూపిటర్ నోట్బుక్స్ "సాండ్‌బాక్స్" వాతావరణం గురించి తెలుసుకుంటాము.

ఈ పాఠం చివరికి మేము చేయగలిగేది:

  1. ప్రాంప్ట్ ఇంజనీరింగ్ అంటే ఏమిటి మరియు అది ఎందుకు ముఖ్యం అనేది వివరించండి.
  2. ప్రాంప్ట్ యొక్క భాగాలను మరియు అవి ఎలా ఉపయోగించబడతాయో వివరించండి.
  3. ప్రాంప్ట్ ఇంజనీరింగ్ కోసం ఉత్తమ పద్ధతులు మరియు సాంకేతికతలను నేర్చుకోండి.
  4. నేర్చుకున్న సాంకేతికతలను నిజమైన ఉదాహరణలపై, OpenAI ఎండ్‌పాయింట్ ఉపయోగించి వర్తించండి.

ముఖ్య పదాలు

ప్రాంప్ట్ ఇంజనీరింగ్: AI మోడల్స్‌ను కోరుకున్న అవుట్‌పుట్‌లను ఉత్పత్తి చేయడానికి మార్గనిర్దేశం చేయడానికి ఇన్‌పుట్‌లను రూపకల్పన మరియు మెరుగుపరచడం. టోకనైజేషన్: టెక్స్ట్‌ను చిన్న యూనిట్లుగా, టోకెన్లుగా మార్చే ప్రక్రియ, మోడల్ అవి అర్థం చేసుకుని ప్రాసెస్ చేయగలదు. ఇన్‌స్ట్రక్షన్-ట్యూన్డ్ LLMs: నిర్దిష్ట సూచనలతో మెరుగుపరచబడిన పెద్ద భాషా మోడల్స్ (LLMs), వాటి ప్రతిస్పందన ఖచ్చితత్వం మరియు సంబంధితతను పెంచడానికి.

నేర్చుకునే సాండ్‌బాక్స్

ప్రాంప్ట్ ఇంజనీరింగ్ ప్రస్తుతం శాస్త్రం కంటే కళ ఎక్కువ. దీని పట్ల మన అవగాహనను మెరుగుపరచడానికి ఉత్తమ మార్గం మరింత ప్రాక్టీస్ చేయడం మరియు అప్లికేషన్ డొమైన్ నైపుణ్యాలను సిఫార్సు చేసిన సాంకేతికతలు మరియు మోడల్-ప్రత్యేక ఆప్టిమైజేషన్లతో కలిపిన ట్రయల్-అండ్-ఎర్రర్ విధానాన్ని అనుసరించడం.

ఈ పాఠానికి అనుబంధంగా ఉన్న జూపిటర్ నోట్బుక్ ఒక సాండ్‌బాక్స్ వాతావరణాన్ని అందిస్తుంది, మీరు నేర్చుకున్నదాన్ని ప్రయత్నించవచ్చు - మీరు వెళ్ళినప్పుడు లేదా చివరలో కోడ్ ఛాలెంజ్ భాగంగా. వ్యాయామాలు నిర్వహించడానికి, మీరు అవసరం:

  1. Azure OpenAI API కీ - ఒక డిప్లాయ్ చేసిన LLM కోసం సర్వీస్ ఎండ్‌పాయింట్.
  2. Python రన్‌టైమ్ - ఇందులో నోట్బుక్‌ను అమలు చేయవచ్చు.
  3. లోకల్ Env వేరియబుల్స్ - SETUP దశలను ఇప్పుడు పూర్తి చేయండి.

నోట్బుక్‌తో స్టార్టర్ వ్యాయామాలు వస్తాయి - కానీ మీరు మీ స్వంత Markdown (వివరణ) మరియు Code (ప్రాంప్ట్ అభ్యర్థనలు) విభాగాలను జోడించి మరిన్ని ఉదాహరణలు లేదా ఆలోచనలను ప్రయత్నించవచ్చు - మరియు ప్రాంప్ట్ రూపకల్పనపై మీ అవగాహనను పెంచుకోండి.

చిత్రీకరించిన గైడ్

ఈ పాఠం ఏమి కవర్ చేస్తుందో పెద్ద దృశ్యాన్ని పొందాలనుకుంటున్నారా? ఈ చిత్రీకరించిన గైడ్‌ను చూడండి, ఇది ప్రధాన అంశాలను మరియు ప్రతి అంశంలో మీరు ఆలోచించవలసిన ముఖ్యమైన విషయాలను మీకు తెలియజేస్తుంది. పాఠం రోడ్‌మ్యాప్ మౌలిక భావనలు మరియు సవాళ్లను అర్థం చేసుకోవడం నుండి వాటిని సంబంధిత ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలు మరియు ఉత్తమ పద్ధతులతో పరిష్కరించడంకు తీసుకువెళుతుంది. గమనించండి, ఈ గైడ్‌లో "అడ్వాన్స్డ్ టెక్నిక్స్" విభాగం ఈ పాఠ్యక్రమంలోని తదుపరి అధ్యాయంలో కవర్ చేయబడిన విషయాలకు సూచిస్తుంది.

Illustrated Guide to Prompt Engineering

మా స్టార్టప్

ఇప్పుడు, ఈ విషయం మా స్టార్టప్ మిషన్‌కు ఎలా సంబంధించిందో మాట్లాడుకుందాం, అది విద్యలో AI ఆవిష్కరణను తీసుకురావడం. మేము వ్యక్తిగతీకరించిన అభ్యాసం కోసం AI-శక్తిగల అప్లికేషన్లను నిర్మించాలనుకుంటున్నాము - కాబట్టి మా అప్లికేషన్ వినియోగదారులు ఎలా "ప్రాంప్ట్‌లు" రూపకల్పన చేస్తారో ఆలోచిద్దాం:

  • అడ్మినిస్ట్రేటర్లు AIని పాఠ్యాంశ డేటాను విశ్లేషించి కవరేజ్ లో గ్యాప్‌లను గుర్తించమని అడగవచ్చు. AI ఫలితాలను సారాంశం చేయగలదు లేదా కోడ్‌తో దృశ్యీకరించగలదు.
  • ఉపాధ్యాయులు AIని లక్ష్య ప్రేక్షకులు మరియు విషయం కోసం పాఠ్య ప్రణాళికను సృష్టించమని అడగవచ్చు. AI వ్యక్తిగతీకరించిన ప్రణాళికను నిర్దిష్ట ఫార్మాట్‌లో నిర్మించగలదు.
  • విద్యార్థులు AIని కష్టమైన విషయం లో వారికి ట్యూటర్‌గా ఉండమని అడగవచ్చు. AI ఇప్పుడు విద్యార్థులకు వారి స్థాయికి అనుగుణంగా పాఠాలు, సూచనలు & ఉదాహరణలతో మార్గనిర్దేశం చేయగలదు.

ఇది కేవలం ప్రారంభం మాత్రమే. Prompts For Education ను చూడండి - ఇది విద్యా నిపుణులు సేకరించిన ఓపెన్-సోర్స్ ప్రాంప్ట్‌ల లైబ్రరీ - అవకాశాల గురించి విస్తృత అవగాహన పొందడానికి! ఆ ప్రాంప్ట్‌లను సాండ్‌బాక్స్‌లో లేదా OpenAI ప్లేగ్రౌండ్‌లో నడిపించి చూడండి!

ప్రాంప్ట్ ఇంజనీరింగ్ అంటే ఏమిటి?

మేము ఈ పాఠాన్ని ప్రారంభించినప్పుడు ప్రాంప్ట్ ఇంజనీరింగ్ ను ఒక నిర్దిష్ట అప్లికేషన్ లక్ష్యం మరియు మోడల్ కోసం స్థిరమైన మరియు నాణ్యమైన ప్రతిస్పందనలను (పూర్తి) అందించడానికి టెక్స్ట్ ఇన్‌పుట్‌లను (ప్రాంప్ట్‌లు) రూపకల్పన మరియు ఆప్టిమైజ్ చేసే ప్రక్రియగా నిర్వచించాము. దీన్ని రెండు దశల ప్రక్రియగా భావించవచ్చు:

  • ఒక నిర్దిష్ట మోడల్ మరియు లక్ష్యానికి ప్రారంభ ప్రాంప్ట్‌ను రూపకల్పన చేయడం
  • ప్రతిస్పందన నాణ్యతను మెరుగుపరచడానికి ప్రాంప్ట్‌ను పునరావృతంగా సవరించడం

ఇది తప్పనిసరిగా ట్రయల్-అండ్-ఎర్రర్ ప్రక్రియ, ఇది ఉత్తమ ఫలితాల కోసం వినియోగదారుల అవగాహన మరియు ప్రయత్నం అవసరం. కాబట్టి ఇది ఎందుకు ముఖ్యం? ఆ ప్రశ్నకు సమాధానం ఇవ్వడానికి, మేము ముందుగా మూడు భావనలను అర్థం చేసుకోవాలి:

  • టోకనైజేషన్ = మోడల్ ప్రాంప్ట్‌ను "ఎలా చూస్తుంది"
  • బేస్ LLMs = ఫౌండేషన్ మోడల్ ప్రాంప్ట్‌ను "ఎలా ప్రాసెస్ చేస్తుంది"
  • ఇన్‌స్ట్రక్షన్-ట్యూన్డ్ LLMs = మోడల్ ఇప్పుడు "పనులు" ఎలా చూడగలదు

టోకనైజేషన్

ఒక LLM ప్రాంప్ట్‌లను టోకెన్ల శ్రేణిగా చూస్తుంది, ఇక్కడ వేర్వేరు మోడల్స్ (లేదా ఒక మోడల్ వేరియంట్లు) ఒకే ప్రాంప్ట్‌ను వేర్వేరు విధాలుగా టోకనైజ్ చేయవచ్చు. LLMలు టోకెన్లపై శిక్షణ పొందినవే (మూల టెక్స్ట్‌పై కాదు), కాబట్టి ప్రాంప్ట్‌లు ఎలా టోకనైజ్ అవుతాయో అది ఉత్పత్తి అయ్యే ప్రతిస్పందన నాణ్యతపై ప్రత్యక్ష ప్రభావం చూపుతుంది.

టోకనైజేషన్ ఎలా పనిచేస్తుందో అవగాహన పొందడానికి, క్రింద చూపిన OpenAI Tokenizer వంటి టూల్స్‌ను ప్రయత్నించండి. మీ ప్రాంప్ట్‌ను కాపీ చేసి - అది టోకెన్లుగా ఎలా మారుతుందో చూడండి, స్పేస్ క్యారెక్టర్లు మరియు పంక్చువేషన్ మార్కులు ఎలా హ్యాండిల్ అవుతాయో గమనించండి. ఈ ఉదాహరణలో పాత LLM (GPT-3) చూపబడింది - కాబట్టి కొత్త మోడల్‌తో ప్రయత్నిస్తే వేరే ఫలితం రావచ్చు.

Tokenization

భావన: ఫౌండేషన్ మోడల్స్

ఒక ప్రాంప్ట్ టోకనైజ్ అయిన తర్వాత, "బేస్ LLM" (లేదా ఫౌండేషన్ మోడల్) యొక్క ప్రాథమిక ఫంక్షన్ ఆ శ్రేణిలోని టోకెన్‌ను అంచనా వేయడం. LLMలు భారీ టెక్స్ట్ డేటాసెట్‌లపై శిక్షణ పొందినవే, కాబట్టి టోకెన్ల మధ్య గణాంక సంబంధాలను బాగా అర్థం చేసుకుని ఆ అంచనాను కొంత విశ్వాసంతో చేయగలవు. వారు ప్రాంప్ట్ లేదా టోకెన్‌లోని పదాల అర్థం ను అర్థం చేసుకోరు; వారు కేవలం "పూర్తి" చేయగల నమూనాను చూస్తారు. వారు వినియోగదారు జోక్యం లేదా ముందుగా నిర్ణయించిన షరతు ద్వారా ఆపివేయబడేవరకు ఆ శ్రేణిని అంచనా వేయడం కొనసాగిస్తారు.

ప్రాంప్ట్-ఆధారిత పూర్తి ఎలా పనిచేస్తుందో చూడాలనుకుంటున్నారా? పై ప్రాంప్ట్‌ను Azure OpenAI స్టూడియో చాట్ ప్లేగ్రౌండ్ లో డిఫాల్ట్ సెట్టింగ్స్‌తో ఎంటర్ చేయండి. సిస్టమ్ ప్రాంప్ట్‌లను సమాచార అభ్యర్థనలుగా పరిగణించడానికి కాన్ఫిగర్ చేయబడింది - కాబట్టి మీరు ఈ సందర్భానికి తగిన పూర్తి పొందుతారు.

కానీ వినియోగదారు ఏదైనా నిర్దిష్టమైనది చూడాలనుకుంటే, అది కొన్ని ప్రమాణాలు లేదా టాస్క్ లక్ష్యాన్ని తీరుస్తుందా? ఇక్కడ ఇన్‌స్ట్రక్షన్-ట్యూన్డ్ LLMలు వస్తాయి.

Base LLM Chat Completion

భావన: ఇన్‌స్ట్రక్షన్-ట్యూన్డ్ LLMలు

ఇన్‌స్ట్రక్షన్-ట్యూన్డ్ LLM ఫౌండేషన్ మోడల్‌తో ప్రారంభమై, స్పష్టమైన సూచనలు కలిగిన ఉదాహరణలు లేదా ఇన్‌పుట్/అవుట్‌పుట్ జంటలతో (ఉదా: బహుళ-తిరుగుబాటు "సందేశాలు") ఫైన్-ట్యూన్ చేయబడుతుంది - మరియు AI ప్రతిస్పందన ఆ సూచనను అనుసరించడానికి ప్రయత్నిస్తుంది.

ఇది RLHF (మానవ ఫీడ్‌బ్యాక్‌తో రీఇన్ఫోర్స్‌మెంట్ లెర్నింగ్) వంటి సాంకేతికతలను ఉపయోగిస్తుంది, ఇది మోడల్‌ను సూచనలను అనుసరించడానికి మరియు ఫీడ్‌బ్యాక్ నుండి నేర్చుకోవడానికి శిక్షణ ఇస్తుంది, తద్వారా అది ప్రాక్టికల్ అప్లికేషన్లకు తగిన మరియు వినియోగదారుల లక్ష్యాలకు మరింత సంబంధితమైన ప్రతిస్పందనలను ఉత్పత్తి చేస్తుంది.

ఇది ప్రయత్నిద్దాం - పై ప్రాంప్ట్‌ను తిరిగి చూడండి, కానీ ఇప్పుడు సిస్టమ్ సందేశం ను క్రింది సూచనతో మార్చండి:

మీకు అందించిన కంటెంట్‌ను రెండవ తరగతి విద్యార్థికి సారాంశం చేయండి. ఫలితాన్ని 3-5 బుల్లెట్ పాయింట్లతో ఒక పేరాగ్రాఫ్‌లో ఉంచండి.

ఫలితం ఇప్పుడు కోరుకున్న లక్ష్యం మరియు ఫార్మాట్‌ను ప్రతిబింబిస్తున్నదని చూడండి? ఉపాధ్యాయుడు ఈ ప్రతిస్పందనను వారి తరగతి స్లైడ్స్‌లో నేరుగా ఉపయోగించవచ్చు.

Instruction Tuned LLM Chat Completion

ప్రాంప్ట్ ఇంజనీరింగ్ ఎందుకు అవసరం?

ఇప్పుడు మేము ప్రాంప్ట్‌లు LLMల ద్వారా ఎలా ప్రాసెస్ అవుతాయో తెలుసుకున్నాము, ప్రాంప్ట్ ఇంజనీరింగ్ ఎందుకు అవసరమో మాట్లాడుకుందాం. సమాధానం ఏమిటంటే, ప్రస్తుత LLMలు కొన్ని సవాళ్లను ఎదుర్కొంటున్నాయి, అవి నమ్మదగిన మరియు స్థిరమైన పూర్తి లను సాధించడం కష్టతరం చేస్తాయి, ప్రాంప్ట్ నిర్మాణం మరియు ఆప్టిమైజేషన్‌లో ప్రయత్నం పెట్టకుండా. ఉదాహరణకు:

  1. మోడల్ ప్రతిస్పందనలు స్టోకాస్టిక్. అదే ప్రాంప్ట్ వేర్వేరు మోడల్స్ లేదా మోడల్ వర్షన్లతో వేర్వేరు ప్రతిస్పందనలను ఇవ్వవచ్చు. అలాగే అదే మోడల్‌తో కూడా వేర్వేరు సమయాల్లో వేర్వేరు ఫలితాలు రావచ్చు. ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలు ఈ మార్పులను తగ్గించడంలో సహాయపడతాయి.

  2. మోడల్స్ ప్రతిస్పందనలను కల్పించవచ్చు. మోడల్స్ పెద్ద కానీ పరిమిత డేటాసెట్‌లపై ప్రీ-ట్రెయిన్ చేయబడ్డాయి, అంటే శిక్షణ పరిధి వెలుపల ఉన్న భావనల గురించి అవగాహన లేదు. ఫలితంగా, అవి తప్పు, కల్పిత లేదా తెలిసిన వాస్తవాలకు విరుద్ధమైన పూర్తి ఉత్పత్తి చేయవచ్చు. ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలు వినియోగదారులు అలాంటి కల్పనలను గుర్తించి తగ్గించడంలో సహాయపడతాయి, ఉదా: AIని సైటేషన్లు లేదా తర్కం అడగడం.

  3. మోడల్స్ సామర్థ్యాలు మారుతుంటాయి. కొత్త మోడల్స్ లేదా మోడల్ తరం ఎక్కువ సామర్థ్యాలు కలిగి ఉంటాయి కానీ ఖర్చు & సంక్లిష్టతలో ప్రత్యేక లక్షణాలు మరియు ట్రేడ్-ఆఫ్స్ కూడా తీసుకువస్తాయి. ప్రాంప్ట్ ఇంజనీరింగ్ ఉత్తమ పద్ధతులు మరియు వర్క్‌ఫ్లోలను అభివృద్ధి చేయడంలో సహాయపడుతుంది, ఇవి తేడాలను దూరం చేసి, మోడల్-ప్రత్యేక అవసరాలకు అనుగుణంగా సులభంగా అనుసరించగలవు.

OpenAI లేదా Azure OpenAI ప్లేగ్రౌండ్‌లో దీన్ని ప్రాక్టికల్‌గా చూద్దాం:

  • వేర్వేరు LLM డిప్లాయ్‌మెంట్‌లతో అదే ప్రాంప్ట్ ఉపయోగించండి (ఉదా: OpenAI, Azure OpenAI, Hugging Face) - మీరు మార్పులను గమనించారా?
  • అదే LLM డిప్లాయ్‌మెంట్‌తో (ఉదా: Azure OpenAI ప్లేగ్రౌండ్) అదే ప్రాంప్ట్‌ను పునరావృతంగా ఉపయోగించండి - ఈ మార్పులు ఎలా భిన్నంగా ఉన్నాయి?

కల్పనలు ఉదాహరణ

ఈ కోర్సులో, మేము "కల్పన" అనే పదాన్ని ఉపయోగిస్తాము, ఇది LLMలు వారి శిక్షణ పరిమితులు లేదా ఇతర పరిమితుల కారణంగా కొన్నిసార్లు వాస్తవానికి విరుద్ధమైన సమాచారాన్ని ఉత్పత్తి చేసే సంఘటనను సూచిస్తుంది. మీరు దీన్ని ప్రజాదరణ పొందిన వ్యాసాలు లేదా పరిశోధనా పత్రాలలో "హాల్యూసినేషన్స్" అని కూడా విన్న ఉండవచ్చు. అయితే, మేము "కల్పన" అనే పదాన్ని ఉపయోగించమని బలంగా సిఫార్సు చేస్తాము, ఎందుకంటే ఇది యంత్రం-నడిపిన ఫలితానికి మానవ-సమాన లక్షణాన్ని అన్వయించడం ద్వారా తప్పుగా వ్యక్తీకరించకుండా ఉంటుంది. ఇది జవాబుదారీ AI మార్గదర్శకాలు ను పదజాల పరంగా బలోపేతం చేస్తుంది, కొన్ని సందర్భాల్లో అవమానకరమైన లేదా అసహ్యకరమైన పదాలను తొలగిస్తుంది.

కల్పనలు ఎలా పనిచేస్తాయో అర్థం చేసుకోవాలనుకుంటున్నారా? AIకి శిక్షణ డేటాసెట్‌లో లేని ఒక అస్తిత్వం లేని విషయం కోసం కంటెంట్ సృష్టించమని సూచించే ప్రాంప్ట్‌ను ఆలోచించండి. ఉదాహరణకు - నేను ఈ ప్రాంప్ట్ ప్రయత్నించాను:

ప్రాంప్ట్: 2076లో జరిగిన మార్షియన్ యుద్ధంపై పాఠ్య ప్రణాళికను రూపొందించండి. వెబ్ శోధన నాకు చూపించింది कि మార్షియన్ యుద్ధాలపై కల్పిత కథనాలు (ఉదాహరణకు, టెలివిజన్ సిరీస్ లేదా పుస్తకాలు) ఉన్నాయి - కానీ 2076లో ఏవీ లేవు. సామాన్య జ్ఞానం కూడా మనకు చెబుతుంది कि 2076 భవిష్యత్తులో ఉంది కాబట్టి, అది నిజమైన సంఘటనతో సంబంధం ఉండకూడదు.

కాబట్టి, మనం ఈ ప్రాంప్ట్‌ను వేర్వేరు LLM ప్రొవైడర్లతో నడిపిస్తే ఏమవుతుంది?

ప్రతిస్పందన 1: OpenAI ప్లేగ్రౌండ్ (GPT-35)

Response 1

ప్రతిస్పందన 2: Azure OpenAI ప్లేగ్రౌండ్ (GPT-35)

Response 2

ప్రతిస్పందన 3: : Hugging Face చాట్ ప్లేగ్రౌండ్ (LLama-2)

Response 3

అనుకున్నట్లే, ప్రతి మోడల్ (లేదా మోడల్ వెర్షన్) కొంత భిన్నమైన ప్రతిస్పందనలు ఉత్పత్తి చేస్తుంది, ఇది స్టోకాస్టిక్ ప్రవర్తన మరియు మోడల్ సామర్థ్య భేదాల కారణంగా. ఉదాహరణకు, ఒక మోడల్ 8వ తరగతి విద్యార్థి కోసం లక్ష్యంగా పెట్టుకుంటే, మరొకటి హైస్కూల్ విద్యార్థిని అనుకుంటుంది. కానీ ఈ మూడు మోడల్స్ కూడా ఒక అవగాహన లేని వినియోగదారుని ఆ సంఘటన నిజమని నమ్మించేలా ప్రతిస్పందనలు సృష్టించాయి.

మెటాప్రాంప్టింగ్ మరియు తాపన సెట్టింగ్ వంటి ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలు కొంత మేరకు మోడల్ కల్పనలను తగ్గించవచ్చు. కొత్త ప్రాంప్ట్ ఇంజనీరింగ్ ఆర్కిటెక్చర్లు కూడా కొత్త సాధనాలు మరియు సాంకేతికతలను సజావుగా ప్రాంప్ట్ ప్రవాహంలో చేర్చడం ద్వారా ఈ ప్రభావాలను తగ్గించడానికి సహాయపడతాయి.

కేసు అధ్యయనం: GitHub Copilot

ఈ విభాగాన్ని ముగించడానికి, ప్రాంప్ట్ ఇంజనీరింగ్ నిజజీవిత పరిష్కారాల్లో ఎలా ఉపయోగించబడుతుందో తెలుసుకోవడానికి ఒక కేసు అధ్యయనం చూద్దాం: GitHub Copilot.

GitHub Copilot మీ "AI జత ప్రోగ్రామర్" - ఇది టెక్స్ట్ ప్రాంప్ట్‌లను కోడ్ పూర్తి చేయడంలోకి మార్చి, మీ అభివృద్ధి వాతావరణంలో (ఉదాహరణకు, Visual Studio Code) సమగ్రంగా పనిచేస్తుంది, సజావుగా ఉపయోగించడానికి. క్రింది బ్లాగ్ సిరీస్‌లో వివరించినట్లుగా, ప్రారంభ వెర్షన్ OpenAI Codex మోడల్ ఆధారంగా ఉండేది - ఇంజనీర్లు త్వరగా మోడల్‌ను మెరుగుపరచడం మరియు మెరుగైన ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలను అభివృద్ధి చేయడం అవసరమని గ్రహించారు, తద్వారా కోడ్ నాణ్యత మెరుగుపడింది. జూలైలో, వారు Codex కంటే మెరుగైన AI మోడల్‌ను ప్రవేశపెట్టారు మరింత వేగవంతమైన సూచనల కోసం.

వారి అభ్యాస ప్రయాణాన్ని అనుసరించడానికి ఈ పోస్టులను క్రమంగా చదవండి.

వారు ఉపయోగించే మోడల్స్ మరియు సాంకేతికతలు నిజజీవిత అనువర్తనాలను నడిపించడంలో ఎలా అన్వయించబడుతున్నాయో చూపించే ఇంజనీరింగ్ బ్లాగ్లో మరిన్ని పోస్టులను కూడా మీరు బ్రౌజ్ చేయవచ్చు, ఉదాహరణకు ఈ పోస్టు.


ప్రాంప్ట్ నిర్మాణం

ప్రాంప్ట్ ఇంజనీరింగ్ ఎందుకు ముఖ్యమో మనం చూశాం - ఇప్పుడు ప్రాంప్ట్‌లు ఎలా నిర్మించబడతాయో అర్థం చేసుకుందాం, తద్వారా మరింత సమర్థవంతమైన ప్రాంప్ట్ డిజైన్ కోసం వేర్వేరు సాంకేతికతలను మేము మూల్యాంకనం చేయగలుగుతాము.

ప్రాథమిక ప్రాంప్ట్

ప్రాథమిక ప్రాంప్ట్‌తో ప్రారంభిద్దాం: మోడల్‌కు ఇతర సందర్భం లేకుండా పంపిన టెక్స్ట్ ఇన్‌పుట్. ఉదాహరణగా, మనం US జాతీయ గీతం మొదటి కొన్ని పదాలను OpenAI Completion APIకి పంపితే, అది వెంటనే తదుపరి కొన్ని పంక్తులతో ప్రతిస్పందనను పూర్తి చేస్తుంది, ప్రాథమిక అంచనా ప్రవర్తనను చూపిస్తూ.

ప్రాంప్ట్ (ఇన్‌పుట్) పూర్తి (అవుట్‌పుట్)
Oh say can you see మీరు "The Star-Spangled Banner," యునైటెడ్ స్టేట్స్ జాతీయ గీతం యొక్క పాట మొదలు పెట్టినట్లు అనిపిస్తోంది. పూర్తి పాట ఇలా ఉంది ...

సంక్లిష్ట ప్రాంప్ట్

ఇప్పుడు ఆ ప్రాథమిక ప్రాంప్ట్‌కు సందర్భం మరియు సూచనలను జోడిద్దాం. Chat Completion API మాకు సంక్లిష్ట ప్రాంప్ట్‌ను మెసేజ్‌ల సేకరణగా నిర్మించడానికి అనుమతిస్తుంది, ఇందులో:

  • వినియోగదారు ఇన్‌పుట్ మరియు సహాయకుడు ప్రతిస్పందన ప్రతిబింబించే ఇన్‌పుట్/అవుట్‌పుట్ జంటలు.
  • సహాయకుడి ప్రవర్తన లేదా వ్యక్తిత్వం కోసం సిస్టమ్ సందేశం.

ఇప్పుడు అభ్యర్థన క్రింది రూపంలో ఉంటుంది, ఇక్కడ టోకనైజేషన్ సందర్భం మరియు సంభాషణ నుండి సంబంధిత సమాచారాన్ని సమర్థవంతంగా పట్టుకుంటుంది. ఇప్పుడు, సిస్టమ్ సందర్భాన్ని మార్చడం పూర్తి నాణ్యతపై వినియోగదారు ఇన్‌పుట్‌లతో సమానంగా ప్రభావం చూపవచ్చు.

response = openai.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)

సూచన ప్రాంప్ట్

పై ఉదాహరణల్లో, వినియోగదారు ప్రాంప్ట్ ఒక సాదారణ టెక్స్ట్ ప్రశ్నగా ఉండి, సమాచారం కోసం అభ్యర్థనగా భావించవచ్చు. సూచన ప్రాంప్ట్‌లతో, ఆ టెక్స్ట్‌ను మరింత వివరంగా ఒక పని నిర్దేశించడానికి ఉపయోగించి AIకి మెరుగైన మార్గదర్శకత్వం ఇవ్వవచ్చు. ఉదాహరణ:

ప్రాంప్ట్ (ఇన్‌పుట్) పూర్తి (అవుట్‌పుట్) సూచన రకం
Write a description of the Civil War సాదారణ పేరాగ్రాఫ్ ఇచ్చింది సాదారణ
Write a description of the Civil War. Provide key dates and events and describe their significance పేరాగ్రాఫ్ తర్వాత ముఖ్య సంఘటనల తేదీల జాబితా మరియు వివరణ ఇచ్చింది సంక్లిష్ట
Write a description of the Civil War in 1 paragraph. Provide 3 bullet points with key dates and their significance. Provide 3 more bullet points with key historical figures and their contributions. Return the output as a JSON file మరింత విస్తృత వివరాలతో JSON ఫార్మాట్‌లో టెక్స్ట్ బాక్స్‌లో ఇస్తుంది, మీరు కాపీ చేసి ఫైల్‌గా వాడుకోవచ్చు మరియు అవసరమైతే ధృవీకరించవచ్చు సంక్లిష్ట. ఫార్మాటెడ్.

ప్రాథమిక కంటెంట్

పై ఉదాహరణల్లో, ప్రాంప్ట్ ఇంకా చాలా తెరచినదిగా ఉండి, LLM తన ప్రీ-ట్రెయిన్ చేసిన డేటాసెట్‌లో ఏ భాగం సంబంధితమో నిర్ణయించుకునే అవకాశం ఇచ్చింది. ప్రాథమిక కంటెంట్ డిజైన్ ప్యాటర్న్‌తో, ఇన్‌పుట్ టెక్స్ట్‌ను రెండు భాగాలుగా విభజిస్తారు:

  • ఒక సూచన (చర్య)
  • సంబంధిత కంటెంట్ (చర్యపై ప్రభావం చూపుతుంది)

ఇక్కడ ఒక ఉదాహరణ ఉంది, ఇన్‌స్ట్రక్షన్ "దీనిని 2 వాక్యాలలో సారాంశం చేయండి" అని ఉంది.

ప్రాంప్ట్ (ఇన్‌పుట్) పూర్తి (అవుట్‌పుట్)
Jupiter is the fifth planet from the Sun and the largest in the Solar System. It is a gas giant with a mass one-thousandth that of the Sun, but two-and-a-half times that of all the other planets in the Solar System combined. Jupiter is one of the brightest objects visible to the naked eye in the night sky, and has been known to ancient civilizations since before recorded history. It is named after the Roman god Jupiter.[19] When viewed from Earth, Jupiter can be bright enough for its reflected light to cast visible shadows,[20] and is on average the third-brightest natural object in the night sky after the Moon and Venus.
Summarize this in 2 short sentences
జూపిటర్, సూర్యుని నుండి ఐదవ గ్రహం, సౌరమండలంలో అతిపెద్ద గ్రహం మరియు రాత్రి ఆకాశంలో అత్యంత ప్రకాశవంతమైన వస్తువుల్లో ఒకటిగా ప్రసిద్ధి చెందింది. ఇది రోమన్ దేవుడు జూపిటర్ పేరుతో పిలవబడుతుంది, మరియు సౌరమండలంలోని ఇతర గ్రహాల కంటే రెండు రెట్లు ఎక్కువ ద్రవ్యరాశి కలిగిన గ్యాస్ జెయింట్.

ప్రాథమిక కంటెంట్ సెగ్మెంట్‌ను వివిధ రకాలుగా ఉపయోగించి మరింత సమర్థవంతమైన సూచనలను నడిపించవచ్చు:

  • ఉదాహరణలు - మోడల్‌కు స్పష్టమైన సూచన ఇవ్వకుండా, చేయవలసిన పనికి ఉదాహరణలు ఇవ్వడం ద్వారా మోడల్ ఆ నమూనాను అర్థం చేసుకుంటుంది.
  • సూచనలు - సూచన తర్వాత "క్యూ"ని ఇవ్వడం, ఇది పూర్తి చేయడాన్ని ప్రేరేపించి, మోడల్‌ను మరింత సంబంధిత ప్రతిస్పందనల వైపు నడిపిస్తుంది.
  • టెంప్లేట్లు - ఇవి ప్రాంప్ట్‌లకు పునరావృత 'రెసిపీలు', ప్లేస్‌హోల్డర్లు (వేరియబుల్స్)తో, ప్రత్యేక ఉపయోగాల కోసం డేటాతో అనుకూలీకరించవచ్చు.

ఇప్పుడు వీటిని ప్రాక్టికల్‌గా పరిశీలిద్దాం.

ఉదాహరణలు ఉపయోగించడం

ఇది ఒక విధానం, ఇందులో మీరు ప్రాథమిక కంటెంట్‌ను ఉపయోగించి ఒక సూచనకు కావలసిన అవుట్‌పుట్ యొక్క కొన్ని ఉదాహరణలను "మోడల్‌కు అందించి", మోడల్ ఆ నమూనాను అర్థం చేసుకోవడానికి అనుమతిస్తారు. అందించిన ఉదాహరణల సంఖ్య ఆధారంగా, జీరో-షాట్, వన్-షాట్, ఫ్యూ-షాట్ ప్రాంప్టింగ్ ఉంటాయి.

ప్రాంప్ట్ ఇప్పుడు మూడు భాగాలుగా ఉంటుంది:

  • ఒక పని వివరణ
  • కావలసిన అవుట్‌పుట్ యొక్క కొన్ని ఉదాహరణలు
  • కొత్త ఉదాహరణ ప్రారంభం (ఇది ఒక అంతర్ముఖ పనివివరణగా మారుతుంది)
నేర్చుకునే రకం ప్రాంప్ట్ (ఇన్‌పుట్) పూర్తి (అవుట్‌పుట్)
జీరో-షాట్ "The Sun is Shining". స్పానిష్‌లోకి అనువదించండి "El Sol está brillando".
వన్-షాట్ "The Sun is Shining" => ""El Sol está brillando".
"It's a Cold and Windy Day" =>
"Es un día frío y ventoso".
ఫ్యూ-షాట్ The player ran the bases => Baseball
The player hit an ace => Tennis
The player hit a six => Cricket
The player made a slam-dunk =>
Basketball

జీరో-షాట్ ప్రాంప్టింగ్‌లో స్పష్టమైన సూచన ("స్పానిష్‌లోకి అనువదించండి") ఇవ్వాల్సి వచ్చినా, వన్-షాట్ ఉదాహరణలో అది అర్థం చేసుకోబడుతుంది. ఫ్యూ-షాట్ ఉదాహరణలో మరిన్ని ఉదాహరణలు జోడించడం వల్ల మోడల్స్ మరింత ఖచ్చితమైన అర్థం చేసుకోవడాన్ని సాధిస్తాయి, అదనపు సూచనలు లేకుండా.

ప్రాంప్ట్ సూచనలు (Cues)

ప్రాథమిక కంటెంట్ ఉపయోగించే మరో సాంకేతికత సూచనలు ఇవ్వడం. ఈ సందర్భంలో, మోడల్‌ను కావలసిన ప్రతిస్పందన ఫార్మాట్‌ను ప్రతిబింబించే ఒక చిన్న భాగంతో ప్రారంభించడం ద్వారా సరైన దిశలో నడిపిస్తారు. మోడల్ ఆ "సూచన"ను తీసుకుని ఆ దిశలో కొనసాగుతుంది.

సూచనల సంఖ్య ప్రాంప్ట్ (ఇన్‌పుట్) పూర్తి (అవుట్‌పుట్)
0 జూపిటర్ సూర్యుని నుండి ఐదవ గ్రహం మరియు సౌరమండలంలో అతిపెద్ద గ్రహం. ఇది సూర్యుని ద్రవ్యరాశి యొక్క వెయ్యి వంతులలో ఒకటి, కానీ సౌరమండలంలోని ఇతర గ్రహాల కంటే రెండు రెట్లు ఎక్కువ. జూపిటర్ రాత్రి ఆకాశంలో కనపడే ప్రకాశవంతమైన వస్తువుల్లో ఒకటి, మరియు ప్రాచీన నాగరికతలకు చరిత్ర రికార్డులకంటే ముందే తెలిసింది.
దీనిని సారాంశం చేయండి
జూపిటర్ సౌరమండలంలో అతిపెద్ద గ్రహం మరియు సూర్యుని నుండి ఐదవది. ఇది సూర్యుని ద్రవ్యరాశి వెయ్యి వంతులలో ఒకటి, కానీ ఇతర గ్రహాల కంటే ఎక్కువ బరువు కలిగి ఉంది. జూపిటర్ గురించి ప్రాచీన నాగరికతలకు చాలా కాలంగా తెలుసు, మరియు ఇది రాత్రి ఆకాశంలో సులభంగా కనిపిస్తుంది.
1 జూపిటర్ సూర్యుని నుండి ఐదవ గ్రహం మరియు సౌర వ్యవస్థలో అతిపెద్ద గ్రహం. ఇది గ్యాస్ జైంట్, దాని ద్రవ్యరాశి సూర్యుని ద్రవ్యరాశి యొక్క వెయ్యి వంతులలో ఒకటి, కానీ సౌర వ్యవస్థలోని ఇతర అన్ని గ్రహాల కలిపిన ద్రవ్యరాశి కంటే రెండు ముప్పై రెట్లు ఎక్కువ. జూపిటర్ రాత్రి ఆకాశంలో కనబడే అత్యంత ప్రకాశవంతమైన వస్తువుల్లో ఒకటి మరియు రికార్డు చేయబడిన చరిత్రకు ముందు ప్రాచీన నాగరికతలకు తెలిసింది.
సారాంశం చేయండి
మనం నేర్చుకున్నది ఏమిటంటే జూపిటర్
సూర్యుని నుండి ఐదవ గ్రహం మరియు సౌర వ్యవస్థలో అతిపెద్ద గ్రహం. ఇది గ్యాస్ జైంట్, దాని ద్రవ్యరాశి సూర్యుని ద్రవ్యరాశి యొక్క వెయ్యి వంతులలో ఒకటి, కానీ ఇతర అన్ని గ్రహాల కలిపిన ద్రవ్యరాశి కంటే రెండు ముప్పై రెట్లు ఎక్కువ. ఇది సులభంగా కనబడుతుంది మరియు ప్రాచీన కాలం నుండి తెలిసింది.
2 జూపిటర్ సూర్యుని నుండి ఐదవ గ్రహం మరియు సౌర వ్యవస్థలో అతిపెద్ద గ్రహం. ఇది గ్యాస్ జైంట్, దాని ద్రవ్యరాశి సూర్యుని ద్రవ్యరాశి యొక్క వెయ్యి వంతులలో ఒకటి, కానీ సౌర వ్యవస్థలోని ఇతర అన్ని గ్రహాల కలిపిన ద్రవ్యరాశి కంటే రెండు ముప్పై రెట్లు ఎక్కువ. జూపిటర్ రాత్రి ఆకాశంలో కనబడే అత్యంత ప్రకాశవంతమైన వస్తువుల్లో ఒకటి మరియు రికార్డు చేయబడిన చరిత్రకు ముందు ప్రాచీన నాగరికతలకు తెలిసింది.
సారాంశం చేయండి
మేము నేర్చుకున్న టాప్ 3 వాస్తవాలు:
1. జూపిటర్ సూర్యుని నుండి ఐదవ గ్రహం మరియు సౌర వ్యవస్థలో అతిపెద్ద గ్రహం.
2. ఇది గ్యాస్ జైంట్, దాని ద్రవ్యరాశి సూర్యుని ద్రవ్యరాశి యొక్క వెయ్యి వంతులలో ఒకటి...
3. జూపిటర్ ప్రాచీన కాలం నుండి కనబడుతుంది ...

ప్రాంప్ట్ టెంప్లేట్లు

ఒక ప్రాంప్ట్ టెంప్లేట్ అనేది ముందుగా నిర్వచించిన ప్రాంప్ట్ కోసం ఒక రెసిపీ ఇది అవసరమైతే నిల్వ చేసి పునఃఉపయోగించవచ్చు, పెద్ద స్థాయిలో మరింత సुस్పష్టమైన వినియోగదారు అనుభవాలను నడిపేందుకు. దీని సులభమైన రూపంలో, ఇది OpenAI నుండి ఈ ఉదాహరణ లాంటి ప్రాంప్ట్ ఉదాహరణల సేకరణ మాత్రమే, ఇది ఇంటరాక్టివ్ ప్రాంప్ట్ భాగాలు (వినియోగదారు మరియు సిస్టమ్ సందేశాలు) మరియు API ఆధారిత అభ్యర్థన ఫార్మాట్ రెండింటినీ అందిస్తుంది - పునఃఉపయోగానికి మద్దతు ఇవ్వడానికి.

ఇది మరింత సంక్లిష్ట రూపంలో LangChain నుండి ఈ ఉదాహరణ లాంటిది, ఇది ప్లేస్‌హోల్డర్లు కలిగి ఉంటుంది, ఇవి వివిధ మూలాల నుండి డేటాను (వినియోగదారు ఇన్‌పుట్, సిస్టమ్ సందర్భం, బాహ్య డేటా మూలాలు మొదలైనవి) ఉపయోగించి ప్రాంప్ట్‌ను డైనమిక్‌గా సృష్టించడానికి మార్చవచ్చు. ఇది మాకు పునఃఉపయోగించదగిన ప్రాంప్ట్‌ల గ్రంథాలయాన్ని సృష్టించడానికి అనుమతిస్తుంది, ఇవి పెద్ద స్థాయిలో ప్రోగ్రామాటిక్గా సुस్పష్టమైన వినియోగదారు అనుభవాలను నడిపేందుకు ఉపయోగపడతాయి.

చివరగా, టెంప్లేట్ల అసలు విలువ అనేది వాటిని సృష్టించి ప్రచురించడం ద్వారా ఉంటుంది, ఇది ప్రత్యేక అనువర్తన డొమైన్‌ల కోసం - ఇక్కడ ప్రాంప్ట్ టెంప్లేట్ ఇప్పుడు ఆ అనువర్తన-స్పెసిఫిక్ సందర్భం లేదా ఉదాహరణలను ప్రతిబింబించేలా ఆప్టిమైజ్ చేయబడింది, తద్వారా లక్ష్య వినియోగదారుల కోసం ప్రతిస్పందనలు మరింత సంబంధితంగా మరియు ఖచ్చితంగా ఉంటాయి. Prompts For Edu రిపోజిటరీ ఈ విధానానికి గొప్ప ఉదాహరణ, ఇది విద్యా రంగానికి సంబంధించిన ప్రాంప్ట్‌ల గ్రంథాలయాన్ని సేకరించి, పాఠ్య ప్రణాళిక, పాఠ్యాంశ రూపకల్పన, విద్యార్థి శిక్షణ వంటి ముఖ్య లక్ష్యాలపై దృష్టి పెట్టింది.

మద్దతు ఇచ్చే కంటెంట్

ప్రాంప్ట్ నిర్మాణాన్ని ఒక సూచన (పని) మరియు లక్ష్యం (ప్రధాన కంటెంట్) కలిగి ఉన్నట్లు భావిస్తే, ద్వితీయ కంటెంట్ అనేది ఫలితాన్ని ఏదో విధంగా ప్రభావితం చేయడానికి మేము అందించే అదనపు సందర్భం లాంటిది. ఇది ట్యూనింగ్ పారామితులు, ఫార్మాటింగ్ సూచనలు, విషయం వర్గీకరణలు మొదలైనవి కావచ్చు, ఇవి మోడల్‌ను కావలసిన వినియోగదారు లక్ష్యాలు లేదా ఆశయాలకు అనుగుణంగా ప్రతిస్పందనను అనుకూలీకరించడానికి సహాయపడతాయి.

ఉదాహరణకు: కోర్సు క్యాటలాగ్‌లో విస్తృత మెటాడేటా (పేరు, వివరణ, స్థాయి, మెటాడేటా ట్యాగ్లు, ఉపాధ్యాయుడు మొదలైనవి) ఉన్నప్పుడు:

  • "ఫాల్ 2023 కోర్సు క్యాటలాగ్‌ను సారాంశం చేయండి" అనే సూచనను నిర్వచించవచ్చు
  • కావలసిన ఫలితానికి కొన్ని ఉదాహరణలను ప్రధాన కంటెంట్‌గా ఇవ్వవచ్చు
  • ద్వితీయ కంటెంట్‌లో టాప్ 5 "ట్యాగ్లు"ని గుర్తించవచ్చు.

ఇప్పుడు, మోడల్ కొన్ని ఉదాహరణల ద్వారా చూపించిన ఫార్మాట్‌లో సారాంశాన్ని అందించగలదు - కానీ ఫలితంలో బహుళ ట్యాగ్లు ఉంటే, ద్వితీయ కంటెంట్‌లో గుర్తించిన 5 ట్యాగ్లను ప్రాధాన్యం ఇస్తుంది.


ప్రాంప్ట్ చేయడంలో ఉత్తమ ఆచారాలు

ఇప్పుడు మనం ప్రాంప్ట్‌లను నిర్మించగలిగే విధంగా తెలుసుకున్నాము, వాటిని డిజైన్ చేయడంలో ఉత్తమ ఆచారాలను ప్రతిబింబించేలా ఎలా చేయాలో ఆలోచించవచ్చు. దీన్ని రెండు భాగాలుగా చూడవచ్చు - సరైన మనోభావం కలిగి ఉండటం మరియు సరైన సాంకేతికతలు ఉపయోగించడం.

ప్రాంప్ట్ ఇంజనీరింగ్ మనోభావం

ప్రాంప్ట్ ఇంజనీరింగ్ అనేది ఒక ప్రయత్న-తప్పు ప్రక్రియ కాబట్టి మూడు ప్రధాన మార్గదర్శక అంశాలను గుర్తుంచుకోండి:

  1. డొమైన్ అవగాహన ముఖ్యం. ప్రతిస్పందన ఖచ్చితత్వం మరియు సంబంధితత అనేది ఆ అనువర్తనం లేదా వినియోగదారు పనిచేసే డొమైన్ పై ఆధారపడి ఉంటుంది. మీ అంతరంగ జ్ఞానం మరియు డొమైన్ నైపుణ్యాన్ని ఉపయోగించి సాంకేతికతలను మరింత అనుకూలీకరించండి. ఉదాహరణకు, మీ సిస్టమ్ ప్రాంప్ట్‌లలో డొమైన్-స్పెసిఫిక్ వ్యక్తిత్వాలు నిర్వచించండి, లేదా వినియోగదారు ప్రాంప్ట్‌లలో డొమైన్-స్పెసిఫిక్ టెంప్లేట్లు ఉపయోగించండి. డొమైన్-స్పెసిఫిక్ సందర్భాలను ప్రతిబింబించే ద్వితీయ కంటెంట్ ఇవ్వండి, లేదా మోడల్‌ను పరిచయమైన ఉపయోగ నమూనాల వైపు నడిపేందుకు డొమైన్-స్పెసిఫిక్ సూచనలు మరియు ఉదాహరణలు ఉపయోగించండి.

  2. మోడల్ అవగాహన ముఖ్యం. మోడల్స్ సహజంగా స్టోకాస్టిక్ అని మనం తెలుసు. కానీ మోడల్ అమలు విధానాలు కూడా శిక్షణ డేటాసెట్ (ముందుగా శిక్షణ పొందిన జ్ఞానం), అందించే సామర్థ్యాలు (API లేదా SDK ద్వారా), మరియు వారు ఆప్టిమైజ్ చేసిన కంటెంట్ రకం (కోడ్, చిత్రాలు, వచనం) పరంగా వేరుగా ఉండవచ్చు. మీరు ఉపయోగిస్తున్న మోడల్ యొక్క బలాలు మరియు పరిమితులను అర్థం చేసుకుని, ఆ జ్ఞానాన్ని ఉపయోగించి పనులను ప్రాధాన్యం ఇవ్వండి లేదా మోడల్ సామర్థ్యాలకు అనుగుణంగా అనుకూల టెంప్లేట్లు రూపొందించండి.

  3. పునరావృతం & ధృవీకరణ ముఖ్యం. మోడల్స్ వేగంగా అభివృద్ధి చెందుతున్నాయి, అలాగే ప్రాంప్ట్ ఇంజనీరింగ్ సాంకేతికతలు కూడా. ఒక డొమైన్ నిపుణుడిగా, మీకు ఇతర సందర్భాలు లేదా ప్రమాణాలు ఉండవచ్చు, ఇవి సాధారణ సమాజానికి వర్తించకపోవచ్చు. ప్రాంప్ట్ ఇంజనీరింగ్ సాధనాలు & సాంకేతికతలను ఉపయోగించి ప్రాంప్ట్ నిర్మాణాన్ని "జంప్ స్టార్ట్" చేయండి, ఆపై మీ అంతరంగ జ్ఞానం మరియు డొమైన్ నైపుణ్యంతో పునరావృతం చేసి ఫలితాలను ధృవీకరించండి. మీ అవగాహనలను రికార్డు చేసి, ఇతరులు త్వరగా పునరావృతం చేయడానికి ఉపయోగించే జ్ఞాన ఆధారం (ఉదా: ప్రాంప్ట్ లైబ్రరీలు) సృష్టించండి.

ఉత్తమ ఆచారాలు

ఇప్పుడు OpenAI మరియు Azure OpenAI నిపుణులు సూచించే సాధారణ ఉత్తమ ఆచారాలను చూద్దాం.

ఏమి ఎందుకు
తాజా మోడల్స్‌ను అంచనా వేయండి. కొత్త మోడల్ తరం మెరుగైన లక్షణాలు మరియు నాణ్యత కలిగి ఉండే అవకాశం ఉంది - కానీ ఖర్చులు కూడా ఎక్కువవచ్చు. వాటిని ప్రభావం కోసం అంచనా వేయండి, ఆపై మార్పిడి నిర్ణయాలు తీసుకోండి.
సూచనలు & సందర్భాన్ని వేరు చేయండి మీ మోడల్/ప్రొవైడర్ సూచనలు, ప్రధాన మరియు ద్వితీయ కంటెంట్‌ను స్పష్టంగా వేరు చేయడానికి డెలిమిటర్లు నిర్వచిస్తాయా అని తనిఖీ చేయండి. ఇది మోడల్స్‌కు టోకెన్లకు మరింత ఖచ్చితమైన బరువులు కేటాయించడంలో సహాయపడుతుంది.
స్పష్టంగా మరియు నిర్దిష్టంగా ఉండండి కావలసిన సందర్భం, ఫలితం, పొడవు, ఫార్మాట్, శైలి మొదలైన వాటి గురించి మరిన్ని వివరాలు ఇవ్వండి. ఇది ప్రతిస్పందనల నాణ్యత మరియు సुस్పష్టతను మెరుగుపరుస్తుంది. రెసిపీలను పునఃఉపయోగించదగిన టెంప్లేట్లలో నమోదు చేయండి.
వివరణాత్మకంగా ఉండండి, ఉదాహరణలు ఉపయోగించండి మోడల్స్ "చూపించి చెప్పడం" విధానానికి మెరుగ్గా స్పందించవచ్చు. మొదట జీరో-షాట్ విధానంతో ప్రారంభించి (సూచనలు ఇస్తూ కానీ ఉదాహరణలు లేకుండా), ఆపై ఫ్యూ-షాట్ విధానాన్ని ప్రయత్నించండి, కావలసిన ఫలితానికి కొన్ని ఉదాహరణలు అందిస్తూ. ఉపమానాలు ఉపయోగించండి.
పూర్తి చేయడాన్ని ప్రారంభించడానికి సూచనలు ఇవ్వండి ఫలితానికి దారితీసే కొన్ని ప్రారంభ పదాలు లేదా వాక్యాలు ఇవ్వడం ద్వారా మోడల్‌ను ప్రేరేపించండి.
రెండుసార్లు ప్రయత్నించండి కొన్నిసార్లు మోడల్‌కు మీరు మీరే చెప్పిన విషయాన్ని పునరావృతం చేయాల్సి ఉంటుంది. ప్రధాన కంటెంట్ ముందు మరియు తర్వాత సూచనలు ఇవ్వండి, సూచన మరియు సూచనలతో కలిపి ఉపయోగించండి. ఏది పనిచేస్తుందో చూడటానికి పునరావృతం చేసి ధృవీకరించండి.
క్రమం ముఖ్యం మీరు మోడల్‌కు సమాచారం అందించే క్రమం ఫలితంపై ప్రభావం చూపవచ్చు, ముఖ్యంగా నేర్చుకునే ఉదాహరణల్లో, తాజా సమాచారం ప్రభావం కారణంగా. ఏది ఉత్తమం అనేదాన్ని చూడటానికి వేరువేరు ఎంపికలను ప్రయత్నించండి.
మోడల్‌కు “విడుదల” ఇవ్వండి మోడల్ పనిని పూర్తి చేయలేకపోతే అందించగల ఫాల్‌బ్యాక్ పూర్తి ప్రతిస్పందనను ఇవ్వండి. ఇది మోడల్స్ తప్పు లేదా కల్పిత ప్రతిస్పందనలు ఇవ్వడం అవకాశాలను తగ్గిస్తుంది.

ఏ ఉత్తమ ఆచారమూ అయినా, మోడల్, పని మరియు డొమైన్ ఆధారంగా మీ అనుభవం వేరుగా ఉండవచ్చు అని గుర్తుంచుకోండి. ఇవి ప్రారంభ బిందువుగా ఉపయోగించి, మీకు ఉత్తమంగా పనిచేసే దానిని కనుగొనడానికి పునరావృతం చేయండి. కొత్త మోడల్స్ మరియు సాధనాలు అందుబాటులోకి వచ్చినప్పుడు మీ ప్రాంప్ట్ ఇంజనీరింగ్ ప్రక్రియను నిరంతరం పునఃమూల్యాంకనం చేయండి, ప్రక్రియ స్కేలబిలిటీ మరియు ప్రతిస్పందన నాణ్యతపై దృష్టి పెట్టి.

అసైన్‌మెంట్

అభినందనలు! మీరు పాఠం చివరికి వచ్చారు! ఇప్పుడు ఆ కాన్సెప్ట్‌లు మరియు సాంకేతికతలను నిజమైన ఉదాహరణలతో పరీక్షించాల్సిన సమయం!

మన అసైన్‌మెంట్ కోసం, మీరు ఇంటరాక్టివ్‌గా పూర్తి చేయగల జూపిటర్ నోట్‌బుక్ ఉపయోగిస్తాము. మీరు మీ స్వంత మార్క్డౌన్ మరియు కోడ్ సెల్‌లతో నోట్‌బుక్‌ను విస్తరించి ఆలోచనలు మరియు సాంకేతికతలను స్వయంగా అన్వేషించవచ్చు.

ప్రారంభించడానికి, రిపోను ఫోర్క్ చేయండి, ఆపై

  • (సిఫార్సు) GitHub Codespaces ప్రారంభించండి
  • (వికల్పంగా) రిపోను మీ స్థానిక పరికరానికి క్లోన్ చేసి Docker Desktop తో ఉపయోగించండి
  • (వికల్పంగా) మీ ఇష్టమైన నోట్‌బుక్ రన్‌టైమ్ వాతావరణంతో నోట్‌బుక్‌ను తెరవండి.

తదుపరి, మీ వాతావరణ వేరియబుల్స్‌ను కాన్ఫిగర్ చేయండి

  • రిపో రూట్‌లోని .env.copy ఫైల్‌ను .env గా కాపీ చేసి AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT మరియు AZURE_OPENAI_DEPLOYMENT విలువలను పూరించండి. ఎలా చేయాలో తెలుసుకోవడానికి Learning Sandbox విభాగానికి తిరిగి వచ్చి చూడండి.

తదుపరి, జూపిటర్ నోట్‌బుక్‌ను తెరవండి

  • రన్‌టైమ్ కర్నెల్‌ను ఎంచుకోండి. ఎంపిక 1 లేదా 2 ఉపయోగిస్తుంటే, డెవ్ కంటైనర్ అందించే డిఫాల్ట్ Python 3.10.x కర్నెల్‌ను ఎంచుకోండి.

మీరు వ్యాయామాలు నడిపేందుకు సిద్ధంగా ఉన్నారు. ఇక్కడ సరైన మరియు తప్పు సమాధానాలు ఉండవు - కేవలం ప్రయత్న-తప్పు ద్వారా ఎంపికలను అన్వేషించడం మరియు ఒక నిర్దిష్ట మోడల్ మరియు అనువర్తన డొమైన్ కోసం ఏమి పనిచేస్తుందో అర్థం చేసుకోవడం.

ఈ కారణంగా ఈ పాఠంలో కోడ్ సొల్యూషన్ సెగ్మెంట్లు లేవు. బదులుగా, నోట్‌బుక్‌లో "నా పరిష్కారం:" అనే శీర్షికలతో మార్క్డౌన్ సెల్‌లు ఉంటాయి, అవి ఒక ఉదాహరణ ఫలితాన్ని సూచిస్తాయి.

జ్ఞాన పరీక్ష

క్రిందివాటిలో ఏది కొన్ని తగిన ఉత్తమ ఆచారాలను అనుసరించే మంచి ప్రాంప్ట్?

  1. నాకు ఎరుపు కార్ చిత్రం చూపించు
  2. నాకు ఎరుపు కార్ చిత్రం చూపించు, వోల్వో తయారీ, XC90 మోడల్, ఒక పర్వత అంచున సూర్యాస్తమయం సమయంలో పార్క్ చేయబడినది
  3. నాకు ఎరుపు కార్ చిత్రం చూపించు, వోల్వో తయారీ, XC90 మోడల్

సమాధానం: 2, ఇది ఉత్తమ ప్రాంప్ట్ ఎందుకంటే ఇది "ఏది" గురించి వివరాలు ఇస్తుంది మరియు ప్రత్యేక తయారీ మరియు మోడల్‌ను పేర్కొంటుంది, అలాగే మొత్తం సన్నివేశాన్ని వివరిస్తుంది. 3 రెండవ ఉత్తమం, ఎందుకంటే ఇది కూడా చాలా వివరణ కలిగి ఉంది.

🚀 ఛాలెంజ్

"cue" సాంకేతికతను ఈ ప్రాంప్ట్‌తో ఉపయోగించగలరా చూడండి: వాక్యం పూర్తి చేయండి "నాకు ఎరుపు కార్ చిత్రం చూపించు, వోల్వో తయారీ మరియు ". ఇది ఏమి ప్రతిస్పందిస్తుంది, మీరు దీన్ని ఎలా మెరుగుపరుస్తారు?

అద్భుతమైన పని! మీ అభ్యాసం కొనసాగించండి

వివిధ ప్రాంప్ట్ ఇంజనీరింగ్ కాన్సెప్ట్‌ల గురించి మరింత తెలుసుకోవాలనుకుంటున్నారా? ఈ అంశంపై ఇతర గొప్ప వనరులను కనుగొనడానికి కొనసాగుతున్న అభ్యాస పేజీకి వెళ్లండి.

పాఠం 5కి వెళ్లండి, అక్కడ మనం అధునాతన ప్రాంప్ట్ సాంకేతికతలను పరిశీలిస్తాము!


అస్పష్టత:
ఈ పత్రాన్ని AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. అసలు పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారుల కోసం మేము బాధ్యత వహించము.