Fəsil 03 · 4 dəq oxu

Prompting və context

Prompting və context

context-dən davama gedən funksiyadırsa, — proqramdır. nə fənd, nə də qara sənətdir. Bu, istədiyiniz output-un ən ehtimal olunan davam olduğu context-i qurmaq praktikasıdır.

Bu fəsil bunu şüurlu şəkildə etməkdən bəhs edir.

Prompt-un anatomiyası

Production sistemi üçün yaxşı qurulmuş adətən bu hissələrdən, təxminən bu ardıcıllıqla ibarət olur:

  1. Rol və məqsəd. Model kimin adından çıxış edir və ümumi tapşırıq nədir.
  2. Qaydalar və məhdudiyyətlər. Həmişə nə etməli, heç vaxt nə etməməli, output formatı.
  3. İstinad materialı. Sənədlər, data, nümunələr, retrieval ilə tapılmış faktlar: .
  4. Nümunələr. Giriş–output cütlərinin nümayişi ().
  5. Əsl giriş. İstifadəçinin sualı, xülasə ediləcək sənəd, review ediləcək kod.
  6. Output təlimatları. Format, həcm, dil, əmin olmadıqda nə etməli.

Hər altısı da lazım deyil. Amma düzgün işləməyəndə səbəb demək olar həmişə bunlardan birinin çatışmamasıdır.

Dəyişməz prinsiplər

Output-u konkret təsvir edin. "Bunu xülasə et" nəsə verir. "Bunu orijinalı oxumamış maliyyə rəhbəri üçün, 80 sözdən az, üç bəndlə xülasə et" istədiyinizi verir.

Yalnız deməyin, göstərin. Dəqiq output formatının iki-üç nümunəsi onu təsvir edən abzasdan daha yaxşı nəticə verir. Nümunələr həm də tonu və detal səviyyəsini müəyyən edir.

Təlimatları tapacağı yerə qoyun. Modellər context-in əvvəlinə və sonuna ən etibarlı yetirir. Kritik qaydanı əvvələ qoyun və tapşırığı data-dan sonra, sonda yenidən ifadə edin.

Modelə düşünməyə yer verin. Bir neçə addım tələb edən hər şey üçün ondan cavabdan əvvəl reasoning istəyin. "Problemi addım-addım düşün, sonra son cavabı ver" reasoning tapşırıqlarında dəqiqliyi ölçülə bilən dərəcədə artırır. Yeni modellər bunu çox vaxt daxildə edir; çətin məsələlərdə təlimat yenə də kömək edir.

İlişib qalanda nə edəcəyini deyin. "Sənəddə cavab yoxdursa, 'Tapılmadı' yaz və təxmin etmə." Bunsuz model boşluğu inandırıcı uydurma ilə doldurur.

Data-nı təlimatlardan ayırın. İstifadəçinin verdiyi məzmunu aydın (XML tag-ləri, üçqat backtick) bükün və modelə deyin ki, içəridəki məzmun data-dır, təlimat deyil. Bu, qarşı birinci müdafiə xəttidir.

Məhsul elə context-dir

Modelin sabitdir. Sistemi sizinki edən hər şey context-dədir: sənədləriniz, qaydalarınız, nümunələriniz, istifadəçinizin tarixçəsi. Context-i yaxşı idarə etmək AI mühəndisliyinin böyük hissəsidir.

Retrieval-augmented generation

Model daxili wiki-nizi, keçən həftənin support ticket-lərini və ya istifadəçinin hesab məlumatlarını bilə bilməz. () müvafiq parçaları sorğu anında gətirib yerləşdirir:

  1. Sənədlərinizi chunk-lara bölün.
  2. Hər embed edib vektora çevirin.
  3. Sorğu zamanı sualı embed edin, ən yaxın tapın və onları daxil edin.
  4. Modelə verilən chunk-lara əsasən cavab verməyi və onlara istinad etməyi tapşırın.

keyfiyyəti modeldən çox retrieval-dan asılıdır. Düzgün context-də yoxdursa, heç bir model düzgün cavab verməyəcək. toxunmazdan əvvəl strategiyasına, (keyword üstəgəl vektor) və sərmayə qoyun.

Context büdcəsi

Context window-lar böyükdür və böyüməyə davam edir, amma pulsuz deyil. Daha çox daha baha başa gəlir, daha uzun çəkir və müəyyən həddən sonra seyrəldir. Prioritet verin:

  • istifadəçinin əsl sorğusuna
  • pozulmamalı qaydalara
  • ən müvafiq retrieval materialına, sıralanmış şəkildə
  • son söhbət tarixçəsinə, uzun olanda xülasə edilmiş halda
  • nümunələrə, əgər format aşkar deyilsə

Daxil etdiyinizi ölçün. Bir çox production heç bir testin əhəmiyyətini sübut etmədiyi minlərlə boilerplate daşıyır.

Structured output

Output proqrama ötürüləndə struktur istəyin: elan edilmiş schema-lı JSON və ya tipləşdirilmiş parametrli . Əksər model API-ləri artıq schema ilə məhdudlaşdırılmış output-u dəstəkləyir ki, bu da parsing xətalarının bütöv bir sinfini aradan qaldırır. Yenə də validate edin.

Prompt-ların evaluation-ı

koddur və kod kimi test edilməlidir.

  • Məlum yaxşı output-ları olan reprezentativ girişlər toplusu qurun (50 başlanğıcdır; 500 rahatdır).
  • Output-ları mümkün olan yerdə avtomatik (exact match, schema validity, tələb olunan faktların mövcudluğu), mümkün olmayan yerdə ilə qiymətləndirin.
  • Toplunu hər dəyişikliyində işə salın. Balı yanında version control-da izləyin.
  • Uğursuz halları saxlayın. Onlar sahib olduğunuz ən dəyərli nümunələrdir.

Evaluation toplusu olmadan dəyişiklikləri hissiyyatdan o yana keçmir. Qarşınızdakı nümunəni düzəldən bir düzəliş baxmadığınız on nümunəni poza bilər.

Tez-tez rast gəlinən xətalar və həlləri

ƏlamətEhtimal olunan səbəbHəll
Qaydanı nəzərə almırQayda ortasında itibƏvvələ keçirin; sonda təkrarlayın
Yanlış formatFormat təsvir olunub, göstərilməyibNümunə əlavə edin; işlədin
Uydurur yoxdur, imtina etməyə icazə yoxdurRetrieval əlavə edin; "tapılmadı de" əlavə edin
Həddən artıq uzunHəcm məhdudiyyəti yoxdurHəcmi və auditoriyanı göstərin
Nəticələr işə salmalar arasında fərqlənirYüksək Aşağı salın; nümunə əlavə edin
İstifadəçi data-sındakı təlimatlara əməl edirData/təlimat ayrılmayıbData-nı bükün; təlimat olmadığını bildirin

Düşünmək üçün

  1. Ən vacib prompt-unuzu götürün. Hər sətri altı hissədən biri ilə işarələyin. Hansı hissə çatışmır?
  2. Onun üçün üçü adversarial olmaqla on test girişi yazın. İşə salın.
  3. Boilerplate-in yarısını silin. Bal dəyişdimi?