И покрај вашите најдобри напори, LLM се уште не се однесува како што се очекуваше. Што треба да се обидете следно? Дали го уредувате повикот? Променете го моделот? Фине-таун? Секое од овие може да биде валидна опција и постои ред во кој можете да ги пробате овие поправки. Principle V: Follow Prompt-Fix Escalation Ladder Принцип 5: Следете ја Prompt-Fix скалата за ескалација (Ова е дел од тековната серија Принципи на АИ Инженеринг: види постови , на , на и ) 1 2 3 4 1 2 3 4 Кога повикот не функционира како што се очекува, ги обидувам следниве поправки по ред на преференција: Expanding and rephrasing instructions. Adding examples. Adding an explanation field. Using a different model. Breaking up a single prompt into multiple prompts. Fine-tuning the model. Throwing the laptop out the window in frustration. Во некои случаи, редоследот на работите што треба да се пробаат ќе биде различен; сепак, имајќи стандарден пат заштедува време и ја зачува менталната способност за дебагирање. Првите три паѓаат во кофата на Prompt Engineering и ќе бидат опфатени во поголема длабочина во следното поглавје. Lightweight Approaches Лесен пристап Adding Instructions Првото нешто што треба да се обиде е повторно објаснување на LLM што да се направи преку инстант инструкции. обидете се да додадете појасни насоки, рефразирање или поместување на инструкции. Немојте да се двоумите да ги повторувате или преформулирате изјавите повеќе пати во различни делови на повикот - LLMs не се вознемируваат од повторување. , на ) на 1 2 1 2 Adding Examples Магистерски студии (LLMs) реагираат многу добро на учење во контекст (примери за влез и излез). Тие се особено важни ако користите помали модели; овие не се толку природно "интелигентни" па бараат многу насоки ( ) на 3 3 Пример за пратка со 2-shot Inference (Детекција на јазикот): Detect the language of the text and output it in the JSON format: {“language”: “name_of_language”}. If you don’t know the language, output “unknown” in the language field. Example I: Input: Hello Output: {“language”: “English”} Example II: Input: EjnWcn Output: {“language”: “Unknown”} Text: {{text}} Обично ќе користите 1-3 примери, иако во некои случаи може да додадете повеќе. ), но исто така и трошоците за одржување и извршување. 4 4 Adding an Explanation Field LLMs, како и луѓето, имаат корист од тоа што треба да го објаснат своето размислување. Додадете поле "објаснување" на вашиот JSON излез и излезот обично ќе биде подобар. Ова исто така ќе ви помогне да идентификувате зошто моделот прави одредени одлуки и да ги прилагодите инструкциите и примерите. Во случаите кога повикот користи внатрешна документација - побарајте од LLM да ги изведе деловите од документацијата што ја користеше за да ги конструира одговорите. ) на 5 5 Можете исто така да се обидете да користите Задачата тука ќе биде правилно да го извлечете излезот.Може да ви биде потребен втор повик или дополнителен код за обработка на одговорите со CoT размислување. Верига на размислување Разумирање Prompt Верига на размислување Разумирање Prompt Changing the Model Различни модели се одликуваат на различни видови задачи. моделот o3 на OpenAI се одликува во анализирањето на кодот, но добрите стари 4o имаат тенденција да произведуваат подобро пишување и покрај тоа што се поевтини по токен. Оваа експериментација работи многу побрзо и побезбедно кога имате автоматски тестови и метрики за мерење на „соодветноста“ на секој модел за задачата. Heavyweight Approaches Тешкиот пристап Секој пристап до сега беше релативно ниска цена да се обиде. Breaking Up the Prompt Ако еден повик не може да ја заврши работата - зошто да не пробате систем од два или повеќе повици? Splitting the prompt by area of responsibility. Using a new prompt as a guardrail reviewing output of the previous one. И двата пристапи се воведуваат во и ќе бидат дискутирани во следното поглавје во повеќе детали. Дел III Дел III Fine-Tuning Финото прилагодување е уште потежок пристап отколку користењето на повеќе повици. За повеќето проблеми, јас го користам како последен лек. Зошто се двоумам да препорачам фино прилагодување во повеќето случаи? Фино прилагодување е фундаментално пристап кон машинско учење Како таква, тоа бара собирање на огромни количини на податоци и целиот сет на алатки за МЛ, покрај генеративните АИ, и ова е огромен оверхеад за управување за мали до средни проекти. Примена на генеративниот AI Примена на генеративниот AI Размислете за фин-тунинг кога: Другите техники не успеаја да ја постигнат целта. Проблемот е многу комплексен и специјализиран, а познавањето на LLM не е доволно. Имате случај за употреба со висок обем и сакате да заштедите пари со користење на модел со понизок обем. Потребна е ниска латенција, така што повеќе повици не можат да се извршат последователно. Conclusion Заклучок Се надеваме дека оваа статија ја разјаснува редоследот на чекори што треба да ги преземете кога повиците не работат како што треба. Прво, обично би пробале пристап на инстант инженеринг. Ако тоа не функционира, обидете се да го промените моделот и да видите дали тоа помогна. Следниот чекор е да користите повеќе интерактивни повици. Конечно, размислете за фино прилагодување ако сите други методи не успеале. Ако ви се допадна оваа статија - претплатете се за повеќе.