ඒකකය 3 / 11

ප්‍රවාහය සහ දිගු ප්‍රතිචාර

ලාභ:

  • ප්‍රවාහය යනු කුමක්ද, සිදුවීම් වර්ග සහ එය අවශ්‍ය වන්නේ මන්දැයි පැහැදිලි කළ හැකිය.
  • max_tokens කල් ඉකුත්වීම සහ 128K දිගු නිමැවුම් සම්බන්ධතාවය ග්‍රහණය කරයි
  • වැඩ බර අනුව ප්‍රවාහ සහ ප්‍රවාහ නොවන ඉල්ලීම් අතර නිවැරදි තේරීමක් කළ හැකිය

චැට් අතුරුමුහුණතක ප්‍රතිචාරය වචනයෙන් වචනය "ටයිප්" කර ඇති බව ඔබ දැක ඇති. මෙය දෘශ්‍ය සමෘද්ධියක් නොවේ; එය ප්‍රවාහය නම් තාක්‍ෂණයක ප්‍රතිඵලයක් වන අතර නිෂ්පාදන-ගුණාත්මක LLM ඒකාබද්ධ කිරීම සඳහා බොහෝ විට අනිවාර්ය වේ. මෙම ඒකකයේදී, ප්‍රවාහය යනු කුමක්ද, එය සමන්විත වන සිදුවීම් මොනවාද, දිගු ප්‍රතිදානය සහ කල් ඉකුත්වීම සමඟ එහි සම්බන්ධතාවය සහ ප්‍රවාහය භාවිතා කළ යුත්තේ කවදාද සහ නොකළ යුත්තේ කවදාදැයි ඔබ ඉගෙන ගනු ඇත. අපි වෘත්තිකයෙකුගේ සැබෑ කාර්යයන් හරහා මාතෘකාව ආවරණය කරන්නෙමු - සජීවී සහකාර, දිගු වාර්තා උත්පාදනය, කණ්ඩායම් සැකසීම.

Flow යනු කුමක්ද?

ප්‍රවාහ නොවන (සමමුහුර්ත) ඉල්ලීමක් සමඟ, ඔබ ආකෘතිය සම්පූර්ණ ප්‍රතිචාරය නිපදවන තෙක් රැඳී සිටින්න; පිළිතුර සූදානම් වූ විට, එය එක කැබැල්ලකින් පැමිණේ. ප්‍රවාහ ඉල්ලීමකදී, ආකෘතිය උත්පාදනය වන විට සේවාදායකය විසින් ප්‍රතිචාර කැබැල්ලෙන් කොටස යවයි. තාක්ෂණික වශයෙන්, මෙය සිදු කරනු ලබන්නේ සේවාදායකය-යවන ලද සිදුවීම් (SSE — Server-Sent Events, සේවාදායකය විවෘත සම්බන්ධතාවයක් හරහා කුඩා සිදුවීම් අනුපිළිවෙලින් යවන ක්‍රමයකි).

පරිශීලක අත්දැකීම තුළ වෙනස පැහැදිලි වේ: තත්පර 8ක් ගතවන ප්‍රතිචාරයක් මත, ප්‍රවාහ නොවන පරිශීලකයා තත්පර 8ක් හිස් තිරයක් දෙස බලා සිටියි; ප්‍රවාහ පරිශීලකයා පළමු වචන තත්පර ~0.5 කින් දකින අතර පෙළ ගලා ඒමට පටන් ගනී. මුළු කාලය නොවෙනස්ව පවතින අතර, වටහාගත් ප්‍රමාදය-පරිශීලකයාට දැනෙන බලා සිටීම-දැඩි ලෙස අඩු වේ.

සිදුවීම් ගලායාමේ වර්ග

ප්රවාහය යනු සිදුවීම් මාලාවකි. සංකල්පමය වශයෙන්, සාමාන්‍ය ප්‍රවාහයක් මේ ආකාරයට සිදු වේ:

සිද්ධිය

අර්ථය

පණිවිඩ_ආරම්භය

ප්රතිචාරය ආරම්භ විය; ආකෘතිය සහ හැඳුනුම්පත වැනි ශීර්ෂ තොරතුරු පැමිණ ඇත.

content_block_start

අන්තර්ගත කොටස (උදා. පෙළ) ආරම්භ විය

content_block_delta

කුඩා පෙළ කැබැල්ලක් (ඩෙල්ටා) පැමිණියේය; ඔබ මේවා එකතු කරන්න

content_block_stop

වාරණ සම්පූර්ණ කරන ලදී

පණිවිඩ_ඩෙල්ටා

stop_reason සහ භාවිතය වැනි අවසන් තොරතුරු යාවත්කාලීන කරන ලදී

පණිවිඩ_නැවතුම්

පිළිතුරු දෙන්න

ඔබේ කේතය අන්තර්ගතය_block_delta සිදුවීම්වල පෙළ කොටස් අනුක්‍රමිකව ඒකාබද්ධ කරයි; ඔබ අවසන් වන්නේ ප්‍රවාහය නොවන ප්‍රතිචාරය හා සමාන නිවැරදි පාඨයෙනි. භාවිතය (ටෝකන් අංක) සාමාන්‍යයෙන් ප්‍රවාහය අවසානයේ පැහැදිලි වේ - ප්‍රවාහය අවසන් වූ පසු ඔබ පිරිවැය නිරීක්ෂණය කරයි.

ඉඟිය: බොහෝ නිල SDKs (මෘදුකාංග සංවර්ධන කට්ටලය — සපයන්නාගේ සූදානම් කළ පුස්තකාලය) ඔබ වෙනුවෙන් ප්‍රවාහය එකතු කරන සහායකයකු සපයයි (උදා: stream.get_final_message()). ඔබට සියලුම පීලි හස්තීයව කළමනාකරණය කිරීමට අවශ්‍ය නැත; ඔබට සම්පූර්ණ පෙළ අවශ්‍ය නම්, තනි සිදුවීම් සැකසීමට නමුත් සජීවී මුද්‍රණය සඳහා මෙම සහායකයා භාවිතා කරන්න.

දිගු ප්‍රතිචාර, max_tokens සහ කල් ඉකුත්වීම

ප්‍රවාහයේ දෙවන සහ වඩාත් තාක්ෂණික හේතුව කල් ඉකුත්වීමයි. HTTP ඉල්ලීමක් නිශ්චිත කාලයක් තුළ සම්පූර්ණ නොකළහොත්, සේවාලාභියා සම්බන්ධතාවය අත්හරියි. ඔබ ආකෘතියෙන් විශාල ප්‍රතිදානයක් ඉල්ලා සිටින විට (උදා: ටෝකන 40,000 ක වාර්තාවක්), ප්‍රවාහ නොවන ඇමතුම මෙම සීමාව ඉක්මවිය හැකි අතර කල් ඉකුත් විය හැක - ඉල්ලීම අසාර්ථක වනු ඇත, සහ උත්පාදනය කරන ලද ටෝකන සඳහා ඔබට ගෙවීමට සිදුවේ.

නවීන මාදිලි එක් ඉල්ලීමකින් ටෝකන 128,000 ක් දක්වා ප්‍රතිදානය කළ හැකිය. නමුත් මාපටැඟිල්ලේ රීතිය පැහැදිලිය: 'max_tokens' අගය ඉහළ නම් (දළ වශයෙන් 16,000 ට වැඩි) ප්‍රවාහ භාවිතා කරන්න. ප්‍රවාහය සම්බන්ධතාවය සජීවීව තබා ගන්නා අතර කල් ඉකුත්වීම් වළක්වයි; ඔබ ක්ෂණිකව ප්‍රගතියක් ද දකිනු ඇත.

  • `max_tokens`: ආකෘතිය නිපදවිය හැකි උපරිම ප්රතිදාන ටෝකන; තද සිවිලිමක්. බාධාවක් සිදුවුවහොත්, stop_reason max_tokens ආපසු ලබා දෙනු ලැබේ.
  • සන්දර්භය කවුළුව: ආදාන + ප්‍රතිදානයේ එකතුව ගැළපිය යුතු කවුළුව. max_tokens යනු ප්‍රතිදානයේ සිවිලිමයි; ඒ දෙක මිශ්‍ර කරන්න එපා.
අවවාදයයි: විශාල max_tokens සමඟ ප්‍රවාහ නොවන ඉල්ලීම් විසි කිරීම නිෂ්පාදනයේ සම්භාව්‍ය වැරැද්දකි. ප්රතිචාරයක් නොමැතිව, සම්බන්ධතාවය පහත වැටේ, පරිශීලකයා දෝෂයක් දකින අතර, ටෝකන් පිරිවැය නාස්ති වේ. දිගු ප්රතිදානය = ප්රවාහය.

ගලා යා යුත්තේ කවදාද සහ කවදාද?

තත්ත්වය

මනාපය

ඇයි

සජීවී කතාබස් / සහායක

ප්රවාහය

ප්‍රමාදය වැටේ, පරිශීලකයා ප්‍රගතිය දකී

දිගු වාර්තාව / ලේඛන නිෂ්පාදනය

ප්රවාහය

කල් ඉකුත්වීම වළක්වයි, විශාල ප්‍රතිදානයක් ආරක්ෂිතව රැගෙන යයි

කෙටි වර්ගීකරණය (උදා. තනි වචන ටැගය)

ප්රවාහයක් නැත

ප්රතිදානය දැනටමත් කුඩා ය; අමතර සංකීර්ණත්වය අනවශ්‍යයි

කණ්ඩායම් සැකසීම

ප්රවාහ රහිත / කණ්ඩායම

ප්රතිඵල ක්ෂණිකව නොපෙන්වයි; ඒකකය 7 බලන්න

ස්වයංක්‍රීය කිරීමේ පියවර (පසුබිමේ)

සාමාන්යයෙන් ප්රවාහයක් නොමැත

ඔබ ප්‍රතිඵලය මීළඟ පියවරට යවයි, සජීවී සංදර්ශකය නැත

පිටපත් කළ හැකි විමසුම/සැකිලි

ප්‍රවාහයම ප්‍රවේගයක් නොවේ, නමුත් ප්‍රවාහය මඟින් නිපදවන ප්‍රතිදානය කළමනාකරණය කිරීම සඳහා විමසීම් ඉතා වැදගත් වේ. දිගු හා ගලා යන නිෂ්පාදන වලදී, ඉදිරිපස සිට ව්යුහය පැනවීමෙන් ගුණාත්මකභාවය සහ සොයා ගැනීමේ හැකියාව යන දෙකම වැඩි වේ.

# දිගු වාර්තාව කොටස් වලට බෙදන්න (එමගින් ප්‍රගතිය ප්‍රවාහයේ දිස්වන පරිදි) පහත මාතෘකා සමඟ වාර්තාව මෙම නියම අනුපිළිවෙලට ලියන්න. සෑම ශීර්ෂයක්ම '##' සමඟ ආරම්භ කරන්න:## සාරාංශය## සොයාගැනීම්## නිර්දේශ## ඊළඟ පියවර

# දිගු නිෂ්පාදනයේ දී කප්පාදුව වැළැක්වීම සඳහා ඉලක්ක දිග ලබා දෙන්න. මුළු පාඨය ආසන්න වශයෙන් වචන 800 ක් වනු ඇත. කොටස් සමබරව තබා ගන්න; අවසානයේ වාක්‍ය භාගයක් තබන්න එපා.

# ප්‍රවාහ සහායකයා සඳහා පළමු වාක්‍යය වහාම දෙන්න. පළමුව සෘජු තනි වාක්‍ය පිළිතුරක් දෙන්න, පසුව විස්තරයට යන්න. එබැවින් පරිශීලකයා බලා සිටින අතරතුර ක්ෂණික ප්රතිඵලය දකී.

# දිගු ප්‍රතිදානය ව්‍යුහගතව තබා ගන්න (එබැවින් එය පසුව විග්‍රහ කළ හැක) මෙම කොටස්වල ප්‍රතිදානය ප්‍රතිදානය කර එක් එක් කොටස වෙනම '###' ශීර්ෂයකින් සලකුණු කරන්න එවිට මට එය ක්‍රමලේඛනාත්මකව විග්‍රහ කළ හැක: ### හැඳින්වීම ### බොඩි ### මූලාශ්‍ර

දුර්වල කඩිනම් / ශක්තිමත් කඩිනම් (දිගු නිෂ්පාදනය)

# දුර්වල මෙම මාතෘකාව පිළිබඳ දීර්ඝ හා සවිස්තර වාර්තාවක් ලියන්න.

# STRONGමෙම මාතෘකාව පිළිබඳ ආසන්න වශයෙන් වචන 900 ක වාර්තාවක් ලියන්න. ශීර්ෂයන්: ## සාරාංශය, ## විශ්ලේෂණය, ## අවදානම්, ## නිර්දේශ. සෑම ශීර්ෂයක්ම උපරිම ඡේද 3ක් විය යුතුය. අවසානයේ වාක්‍ය භාගයක් තබන්න එපා.

බලවත් අනුවාදය; එය කල්තියා දිග, ව්යුහය සහ නිමාවේ ගුණාත්මකභාවය තීරණය කරයි. ප්‍රවාහයේ කොටස් එන විට, පරිශීලකයා ප්‍රගතිය පැහැදිලිව දකින අතර මාදිලි බාධා කිරීමේ අවදානමට එරෙහිව දිග කළමනාකරණය කරයි.

කුඩා නඩු තුනක්

නඩුව 1 - හිස් තිරයේ පැමිණිල්ල. උපදේශන කණ්ඩායමක සේවා දායක සහායක ප්රවාහයකින් තොරව ප්රතිචාර දක්වයි; සාමාන්‍ය ප්‍රතිචාරයට තත්පර 7ක් ගතවේ, පරිශීලකයන් අසන්නේ "එය කැටි වේද?" ඔහු පැමිණිලි කළේය. මම ප්‍රවාහයට ඇතුළු වූ පසු, පළමු වචනය තත්පර 0.6 කින් පැමිණියේය; මුළු කාලය එලෙසම පැවති නමුත් "මන්දගාමී" පැමිණිලි පාහේ අතුරුදහන් විය.

නඩුව 2 - යල් පැන ගිය වාර්තාව. මුල්‍ය කණ්ඩායමක් පිටු 30ක කාර්තු වාර්තාවක් ඉදිරිපත් කරමින් සිටියේය. max_tokens: 30000 සමඟින්, ප්‍රවාහ රහිත ඉල්ලීම තත්පර 60 ක සේවාදායක කල් ඉකුත්වීමක සිරවී, ඉල්ලීම අසාර්ථක වනු ඇත - සහ උත්පාදනය කරන ලද ටෝකන ඉන්වොයිසියට ලියනු ඇත. ඔවුන් ගලා ගියේ ය; සම්බන්ධතාවය සජීවීව පැවතුනි, වාර්තාව සම්පූර්ණයෙන් ලබා දෙන ලදී, නාස්ති වියදම් ඉවත් කරන ලදී.

නඩුව 3 - අනවශ්ය ප්රවාහය. මෙහෙයුම් කණ්ඩායමක් එන ඊමේල් "හදිසි/සාමාන්‍ය" ලෙස ලේබල් කරමින්; ප්‍රතිදානය එක් වචනයකි, නමුත් ඔවුන් පුරුද්දක් ලෙස ප්‍රවාහය භාවිතා කළහ. ප්‍රවාහය තනි වචනයේ ප්‍රතිචාරයේ ප්‍රතිලාභයක් ලබා නොදුන් අතර, කේතය අනවශ්‍ය ලෙස සංකීර්ණ කරයි. මම ප්‍රවාහ රහිත වෙත මාරු වූ විට, කේතය සරල වූ අතර හැසිරීම එලෙසම පැවතුනි. පාඩම: ප්‍රවාහය දිගු/සජීවී ප්‍රතිදානයේදී වටිනා වේ, සෑම තැනකම නොවේ.

පොදු වැරදි

  • දිගු නිමැවුමේ ප්‍රවාහ භාවිතා නොකිරීම: කල් ඉකුත්වීම සහ ටෝකන් පිරිවැය නාස්ති කිරීම.
  • කෙටි ප්‍රතිදානයකින් ප්‍රවාහය භාවිතා කිරීම: අනවශ්‍ය සංකීර්ණත්වය, ශුන්‍ය ප්‍රතිලාභය.
  • ප්‍රවාහය අවසානයේ `stop_reason` පරීක්ෂා නොකරයි: max_tokens සමඟ කප්පාදු කළ ප්‍රතිචාරය සම්පූර්ණ ලෙස සලකනු ලැබේ.
  • වැරදි ලෙස ඩෙල්ටා ඒකාබද්ධ කිරීම: SDK සහායකයා සමඟ අතින් එකතු කිරීම අනුපිළිවෙල/අතුරුදහන් කොටස් දෝෂයක් ඇති කරයි.
  • 'භාවිතය' මැද ප්‍රවාහය කියවීමට උත්සාහ කිරීම: ටෝකන් අංක සාමාන්‍යයෙන් අවසානයේ පැහැදිලි වේ; අවසානයේ පිරිවැය පිළිබඳ වාර්තාවක් තබා ගන්න.
  • වියදම් අඩු කිරීම සඳහා ප්‍රවාහය වැරදියි: ප්‍රවාහය අත්දැකීම් සහ විඳදරාගැනීම වැඩි දියුණු කරයි; එය සංකේත මිල වෙනස් නොවේ.

ගැඹුරු: ප්‍රවාහ බිඳීම් සහ ඔරොත්තු දීමේ හැකියාව

ප්‍රවාහය යනු සජීවී සම්බන්ධතාවයකි; මෙය එහි ශක්තිය සහ අවදානම යන දෙකම වේ. සම්බන්ධතාවය මැදට වැටුනහොත් (ජාල උච්චාවචනය, සේවාලාභී කල් ඉකුත්වීම), ඔබ මෙතෙක් රැස් කරගත් පෙළ ඔබ රඳවා ගනු ඇත, නමුත් ප්‍රතිචාරය අසම්පූර්ණ වනු ඇත. නිෂ්පාදන-ගුණාත්මක ප්‍රවාහ සේවාලාභියෙකු මේ සඳහා සූදානම් විය යුතුය: එය අර්ධ පාඨය "සම්පූර්ණ ප්‍රතිචාරයක්" ලෙස නොසැලකිය යුතු අතර, එය message_stop සිදුවීම දකින තෙක් ප්‍රතිචාරය අවසන් කළ යුතු යැයි නොසැලකිය යුතුය.

දෙවන සියුම්කම වන්නේ ප්රවාහය පිරිවැය වෙනස් නොකරන බවයි. ඔබට ප්‍රවාහය සමඟ හෝ රහිතව ප්‍රතිචාරයක් ලැබුණත් එය සංකේත මිලට බලපාන්නේ නැත; ප්රවාහය පමණක් අත්දැකීම් සහ විඳදරාගැනීම වැඩි දියුණු කරයි. ඉතින් "අපි ප්‍රවාහයට ගියොත්, ඒවා ලාභදායී වේවිද?" ප්රශ්නයට පිළිතුර නැත - පිරිවැය සඳහා, 5 වන සහ 6 වන ඒකකය (ආකෘති තේරීම, හැඹිලිය) බලන්න.

තුන්වන කරුණ නම් ප්‍රායෝගික සමතුලිතතාවයක් ඇති කර ගැනීමයි: සජීවී සහායකයින් සමඟ, පළමු වචනයේ වේගවත් පැමිණීම (දැනගත් ප්‍රමාදය) ඉහළ අගයක් ගනී; එමනිසා, ආකෘතියට පිළිතුර කෙලින්ම ඇතුළත් කර කෙටි ප්‍රතිඵලයක් ලබා දෙන ලෙස ඉල්ලා සිටීම (4 වන ඒකකයේ පද්ධති විමසුම හරහා) ප්‍රවාහයේ ප්‍රතිලාභය ගුණ කරයි. පරිශීලකයා පළමු තත්පරයේදී අර්ථවත් යමක් දුටුවහොත්, ඔවුන් පහත විස්තර සඳහා ඉවසිලිවන්තව බලා සිටියි. අනෙක් අතට, ප්‍රවාහයට පසුබිමේ ක්‍රියාත්මක වන රැකියා සඳහා කිසිදු දායකත්වයක් නොමැත, එහි ප්‍රතිදානය ඊළඟ ස්වයංක්‍රීය පියවරට යයි; එහි ඇති එකම නිර්ණායකය වන්නේ කාර්යය නිවැරදිව සම්පූර්ණ කිරීම පමණි.

සාරාංශයක් ලෙස

ප්‍රවාහය මඟින් ප්‍රතිචාරය කෑල්ලෙන් කොටස ලබා ගනී, ප්‍රමාදය අඩු කිරීම සහ විශාල ප්‍රතිදානයන් මත කල් ඉකුත්වීම වළක්වයි. සජීවී සහකාර සහ දිගු ලේඛන නිෂ්පාදනය සඳහා පාහේ අනිවාර්ය වේ; කෙටි/පසුබිම් වැඩ සඳහා එය අනවශ්‍යයි. දිගු නිෂ්පාදන වලදී, ව්‍යුහය සහ දිග ප්‍රේරකයක් සමඟ ඉදිරිපස සිට පැනවීමෙන් ගුණාත්මකභාවය සහ සොයා ගැනීමේ හැකියාව යන දෙකම වැඩි වේ; ප්‍රවාහය අවසන් වූ විට, stop_reason සහ භාවිතය අනිවාර්යයෙන්ම පරීක්ෂා කරනු ලැබේ.

යෙදුම් කාර්යය

අවස්ථා දෙකක් තෝරන්න: එකක් සජීවී/දිගු (උදා. පාරිභෝගිකයාට වාර්තා කිරීම), එක් කෙටි/පසුබිම් (උදා. ටැග් කිරීම). (1) ඔබ එක් එක් ප්‍රවාහය භාවිතා කරන්නේද යන්න තීරණය කර සාධාරණීකරණය කරන්න. (2) දිගු ස්ක්‍රිප්ට් සඳහා ව්‍යුහය පනවන විමසුමක් ලියන්න (ශීර්ෂ + ඉලක්ක දිග). (3) max_tokens අගයන් නිර්ණය කරන්න. (4) ප්‍රවාහය අවසානයේ stop_reason සහ භාවිතය සමඟ ඔබ සිදු කරන පරීක්‍ෂාවන් ලැයිස්තුගත කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මට ප්‍රවාහය යනු කුමක්ද සහ එය වටහාගත් ප්‍රමාදය අඩු කරන්නේ කෙසේද යන්න පැහැදිලි කළ හැකිය.
  • [ ] මම ප්‍රවාහයේ සහ ඩෙල්ටා සම්බන්ධ වීමේ මූලික සිදුවීම් වර්ග තේරුම් ගත්තෙමි.
  • [ ] විශාල max_tokens සමඟ ප්‍රවාහ කිරීමේ අවශ්‍යතාවය සහ කල් ඉකුත් වීමේ සම්බන්ධතාවය ගැන මම දනිමි.
  • [ ] මම ප්‍රවාහය භාවිතා කරන්නේ කුමන කාර්ය භාරය තුළද සහ මා භාවිතා නොකරන්නේද යන්න මට තීරණය කළ හැකිය.
  • [ ] මට ප්‍රවාහය අවසානයේ stop_reason සහ භාවිතය පරීක්ෂා කළ හැක.