Галоўная / Артыкулы / Інжыніярство запросаў: кераванне LLM-амі без дакладнай налаштовкі

Інжыніярство запросаў: кераванне LLM-амі без дакладнай налаштовкі

Ўзайце ролі, прыклады з некальколькіма кейсамі, метод «ланцуга мыслей» і правіла форматавання, каб направляць модэлі — і разумейце, калі сама просьба досягае свайго мерагу, а калі трэба фін-налаштаванне.

748 слоў

Тонкая наладка адаптуюе ўжо прадзейснаваны модель паляганням на дальшай адучэнні на прызначаных для гэтага прыкладах. Шырокі спосаб адучэння застаецца эфектываў, пры тым ён не завжды неабходны. Сучасныя большыя мовныя моделі часта добра рэагуюць на толькі адзінакавыя інструкцыі — без адучэння, без прызначанага корпусу дадзеных, без GPU. Гэта практыка называецца інжынеріяю запросаў, і яна стала адной з найпрактычнейшых навыкаў у сучасных стеках NLP.

Два спосабы керавання модэлью

Тонкая наладка і інжынерія запросаў прагледзяць тую ж мэту — корыстнае паведанне модэлью — але за протыяўнымі спосабамі.

Тонкая наладка змінюе вагі моделі. Викорыстанне запитаў не прабывае змінюваць вагі, а ўзамен надае болей чысткія інструкцыі та контекст, каб модель могла болей точна застосаваць тое, што вона вже знае. Моделі, такія як системы класу GPT, прабраўшы такі масів тексту, вже маюць вялікі потэнцыял; запиты часта служыць для адкрывання правильнага ўзлока гэтага потэнцыялу. Практычны наследк — швальнасць: каманды можаць прыменіць змяны ў поведэнні за калькі хвілін, замест таго, каб чакалаць на процес тонкай наладки.

from openai import OpenAI
client = OpenAI()response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "You are a helpful sentiment classifier. Respond with only 'positive' or 'negative'."},
        {"role": "user", "content": "I loved this movie"}
    ]
)print(response.choices[0].message.content)

Zero-shot vs Few-shot Prompting

Аднам з першых рашэнняў у дизайне є тое, сколькі прыкладоў, якіх-небудзь, паказваць перад асалоджэнням справжнім заведам.

У запрасе з нульовым прыемам задача выказваецца, і пакладаецца толькі на прадзейнаванне моделі. Гэта дывоважнаюча чыніця для распашчых задач, такіх як атрыбутаванне настрою чытача або простая структураванне тэксту. У запрасе з калькамі спачатку паказваюцца калькі пар «вхід–выход», якія вказываюць формат, тон і спосаб рашэння складных ситуацый — особліва для нестандартных або спецыялізаваных задач. Кожны прыклад купуе токены, што падвайшае витраты і зменшвае прастор для справжньего вхіднага тэксту. Звычайна кращэ заставіць наборы калькамі быць короткімі і репрэзентатыўнымі, чым даваць множлівасць багато майже ідэнтычных пар.

prompt = """
Classify the sentiment of each review as positive or negative.
Review: "Absolutely fantastic, exceeded expectations!"
Sentiment: positiveReview: "Complete waste of money, broke in a week."
Sentiment: negativeReview: "I loved this movie"
Sentiment:
"""response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)print(response.choices[0].message.content)

Структура хорашага запрасу

Паралельна выбору між запрасамі з нульовым/калькамі, надзеяныя структуры дапамагаюць, калі запрасы викорыстоўваюцца ў рэальных прыкладнах, а не толькі для едынаковых запытанняў.

Вызначэнне чыстае ролі задае тон і практычны падход. Канкрэтныя інструкцыі усунуць неяснасці ўжо па частках апэктыўнага рэзультата. Раздзелэнне контексту чы інпута ад інструкцыйяў дапамагае модэлю разлічваць іх. Чыстае сяродавыцтво формата — напрыклад, JSON з іменаванымі ключамі — робіць адпаведзі лёгкімі да парасэнавання, калі не спадзявацца на адносна стабільны прозаўскі стыл. Калькі добра выбраных прыкладоў могу ўсё больш задаць частківасць пры выкарыстоўванні модэля ў незвычных задачах.

Тэхнікі стварэння запытанняў, якія вартуе знаць

Дзеякія патэрны выдзеляюцца для сложнейшых задач:

  • Запытанняў з алгорытамам разваг — прасіце модэль рассуждаваць па шагам пры выдачы фінальнай адпаведзі; гэта часта дапамагае ў рашэнні матэматычных задач і логічных працэсаў з калькама шагоў.
  • Запытанняў з вызначэннем ролі — задаце персанажа (“Вы ўполномочаны аудытар безпекі”) каб сформаваць глубіну і стыл адпаведзі.
  • Абмежэнняя формата выходных даных — прасіце JSON чы XML, калі іншая система павінна прымець адпаведзь.
  • Самацэнсія — адзначыце калькі вароў на адной і той жа запытку і застаўце найбольш падзейны рэзультат, калі вары разніцяюцца.
  • Калі запыткі недастатковы

    Запыткі маюць строгіяя ліміты. Яны не можуць ствараць факты, якія модель ніколі не бачыла; яны обмежаны вікнам контэксту, а для задач з вялікым об’ёмам і спецыфічнымі вакарамі тонканалёваная модель часта ўсьмішней і стабільней, чым мільйоны разоў адрыхтаваныя запыткі. Багатыя системы выкарыстоўваюць аба падходы: тонканалёвуюць основную задачу, а потым дадаюць запыткі для гнучкасці і рэшэння спецыяльных вакараў. Спрыймайце запыткі як средство керавання, а тонканалёванне — як падыгранне ўместнасці, калі самае керавання перастае дапамагаць у расшырэнні.

    Куда гэта ведае

    Інжыніярство запросаў скрацвае шлях ад ідеі да рабочага пратотыпу — работу, якой раней былі патрэбны атрыбутаваныя даны і навчанне, часта можна адрабатваць за каліксты з дапамогою якіснага запроса. Аднак сам запрос застаецца з мерыямі, боўш чым у тых случаях, калі адпаведзіць трэба на базе інфармацыі, якой модель ніколі не навчалася.

    Наступны прыем — пошук па значэнні, а не па ключоўым словам, а потым ввод запрашанага тексту ў процес генеравання — яўляе ся сферай вбудоўваў і генеравання з дапамогою падтрымкі пошуку (RAG).