Курс
ИИ за 11. клас: Генеративен ИИ и инженеринг на агенти
Създай приложения с LLM чрез промптове, API, извличане и инструменти. После ги изпробвай за безопасност.
Минавай уроците поред. Накрая ще можеш да броиш токени, да сравняваш текстове по сходство на ембединги и да обясняваш семплиране, температура и прозорци на контекста. Ще можеш да пишеш структуриран промпт и да сравняваш версии на промпта с тестови случаи. Ще можеш да преглеждаш код от ИИ и да пишеш тестове, които кодът от ИИ трябва да мине. Ще можеш да получаваш JSON, който съвпада със схема, да правиш чатбот с лимит на разхода и да правиш приложение, което отговаря от документи и ги цитира. Ще можеш да правиш контролиран агент с ограничени инструменти и правило за спиране, да защитаваш приложение срещу инжектиране на промпт, да правиш автоматичен тестов пакет и да пуснеш обвързан асистент за изследване с ИИ.
Как да ползваш тези уроци
- Започни от урока, на който пише Направи това. Мини нататък, когато можеш сам да направиш реда под заглавието.
- Първо играй Игри. После направи Тест. 8 от 10 верни, за да минеш. Работни листове са на хартия. Отговорите са отдолу.
- Всеки урок стъпва на предишния. Пази тестов набор за всяко приложение и го пускай след всяка промяна.
- Уроците по код ползват Python. Ползвай само услугите за изкуствен интелект, които учителят одобри, дръж ключовете за API извън кода, сложи лимит на разходите и никога не пращай лични данни към модел.
Всеки урок има игри, тест и работни листове.
0 от 36
Основи на LLM
- 1Токени и речникБрой токени и обясни защо токените и речникът имат значение.
- Раздели текст на токени с истински токенизатор.
- Сравни броя токени в различните езици.
- Свържи токените с цената и с границите на контекста.
- 2ЕмбедингиСравнявай текстове по сходство на ембединги.
- Вземи ембединги от модел.
- Изчисли косинусово сходство.
- Подреждай изречения по смисъл, не по общи думи.
- 3Как LLM генериратОбясни как LLM генерират: семплиране, температура и прозорци на контекста.
- Обясни предсказването на следващия токен.
- Смени температурата и сравни изходите.
- Покажи какво става, когато текстът мине прозореца на контекста.
- 4Предварително обучение и настройкаРазличи предварителното обучение, фината настройка и настройката с инструкции.
- Кажи какви данни ползва всяка стъпка.
- Обясни обратната връзка от хора.
- Кажи защо моделът има граница на знанието.
Инженеринг на промптове
- 5Структурирани промптовеНапиши структуриран промпт с роля, задача, правила и формат.
- Отдели инструкциите от входните данни.
- Посочи формата на изхода.
- Сравни структуриран промпт и промпт без структура.
- 6Малко примериПодобри изхода с малко примери.
- Добави два или три примера.
- Избери примери, които покриват крайните случаи.
- Измери промяната върху тестов набор.
- 7ОграниченияСложи ограничения за дължина, тон и формат.
- Сложи граници за дължина и ниво на четене.
- Кажи на модела какво да прави, когато не знае.
- Провери всеки изход спрямо всяко ограничение.
- 8Тестове на промптовеНапиши тестове на промптове: тестови случаи, за да сравниш версии на промпта.
- Напиши двайсет тестови входа с очаквания резултат.
- Оцени две версии на промпта.
- Запази версията, която печели.
Програмиране с помощ от ИИ
- 9Генерирай кодГенерирай работещ код от ясна спецификация.
- Напиши спецификация с входове, изходи и примери.
- Генерирай код от нея.
- Пусни го върху примерите.
- 10Прегледай код от ИИПрегледай код от ИИ и намери грешки и рискове.
- Провери крайните случаи и обработката на грешки.
- Забележи измислени функции и библиотеки.
- Забележи опасен код, като тайни в изходния код.
- 11Първо тестоветеНапиши първо тестове, които кодът от ИИ трябва да мине.
- Напиши тестове с pytest.
- Накарай ИИ да напише код, който ги минава.
- Добави тест за всяка грешка, която намериш.
- 12Отстранявай грешки с ИИОтстранявай грешки с ИИ: оправи грешка и обясни поправката.
- Направи малък пример, който показва грешката.
- Попитай ИИ за причините, не само за поправка.
- Обясни защо поправката работи.
API за LLM
- 13Първо извикване на APIНаправи първо извикване на API: изпрати заявка за чат и прочети отговора.
- Зареди ключа за API от средата.
- Изпрати заявка със SDK.
- Прочети отговора и употребата на токени.
- 14Системни и потребителски съобщенияПолзвай системни съобщения и потребителски съобщения.
- Сложи правилата в системното съобщение.
- Сложи входа на потребителя в потребителските съобщения.
- Пази историята на разговора.
- 15Структурирани изходиВземи структурирани изходи: JSON, който съвпада със схема.
- Определи JSON схема.
- Поискай изход, който я следва.
- Провери изхода и опитай пак при неуспех.
- 16ЧатботНаправи чатбот с история и лимит на разхода.
- Пази историята на разговора.
- Скъси старите съобщения, за да се поберат в контекста.
- Спри, когато лимитът на разхода е стигнат.
Генериране с извличане
- 17Защо извличанеОбясни защо извличането обвързва отговорите с източници и намалява измислените.
- Попитай модел за документ, който никога не е виждал.
- Добави документа и попитай пак.
- Начертай пътя: първо извлечи, после генерирай.
- 18Делене на късовеДели документите на късове.
- Дели по размер, с припокриване.
- Дели по заглавия.
- Пази източника и страницата при всеки къс.
- 19Векторно търсенеПолзвай векторно търсене, за да намериш късовете, най-близки до въпрос.
- Направи ембединги на късовете и ги запази.
- Извлечи най-добрите съвпадения за въпрос.
- Измери колко често се намира верният къс.
- 20Отговаряне от документиНаправи приложение, което отговаря от документи и ги цитира.
- Сложи извлечените късове в промпта.
- Изискай цитат за всяко твърдение.
- Провери, че цитатите сочат истински пасажи.
Инструменти с ИИ и агенти
- 21Извикване на инструментиНека моделът извика инструмент, тоест функция.
- Опиши инструмент със схема.
- Пусни инструмента, който моделът иска.
- Върни резултата на модела.
- 22ПланиранеПланирай: раздели задача на стъпки, които моделът може да изпълни.
- Поискай от модела първо план.
- Изпълни плана по една стъпка.
- Провери всяка стъпка, преди да продължиш.
- 23Състояние и паметПолзвай състояние и памет, за да следиш какво е направил агентът.
- Запази всяка стъпка и нейния резултат.
- Обобщи дългите истории.
- Реши какво агентът трябва да забрави.
- 24Контролиран агентНаправи контролиран агент с ограничени инструменти и правило за спиране.
- Разреши само безопасни инструменти за четене.
- Сложи таван на броя стъпки.
- Попитай човек преди всяко действие, което променя нещо.
Мултимодален генеративен ИИ
- 25Генериране на изображенияОбясни генерирането на изображения: дифузионните модели правят изображения.
- Обясни добавянето и махането на шум.
- Обясни как текстът води изображението.
- Говори за съгласие и авторско право при генерирани изображения.
- 26Зрение и езикПолзвай зрение и език, за да питаш модел за изображение.
- Изпрати изображение с въпрос.
- Вземи структурирано описание.
- Намери детайл, в който моделът греши.
- 27РечПревърни реч в текст и текст в реч.
- Препиши кратък запис като текст.
- Измери дела грешни думи.
- Генерирай реч и означи я като направена от ИИ.
- 28Мултимодален прототипНаправи мултимодален прототип, който ползва два вида вход.
- Избери два входа, например глас и изображение.
- Свържи ги в едно приложение.
- Изпробвай го с петима потребители.
Надеждност и сигурност
- 29ХалюцинацииОткрий халюцинации: отговори, които източниците не подкрепят.
- Провери всяко твърдение спрямо източниците.
- Ползвай второ извикване на модела, за да отбележиш неподкрепеното.
- Измери колко често отговорът е напълно подкрепен.
- 30Инжектиране на промптЗащити приложение срещу инжектиране на промпт.
- Напиши атаки, скрити във входа на потребителя и в документите.
- Отдели доверените инструкции от недоверен текст.
- Ограничи до кои инструменти атака може да стигне.
- 31ОценяванеНаправи оценяване: оценявай изходи с рубрики и тестови набори.
- Напиши рубрика за оценяване.
- Оценявай на ръка и с модел.
- Провери колко често съвпадат.
- 32Тестов пакетНаправи автоматичен тестов пакет за приложение с LLM.
- Покрий точност, формат, безопасност и разход.
- Пусни го с една команда.
- Накарай компилацията да се провали, когато оценките падат.
Студио за продукт с ИИ
- 33Спецификация на продуктаНапиши спецификацията на продукта: потребителите, функциите и мерките за успех.
- Избери сбор от одобрени изследователски документи.
- Напиши потребителите и техните въпроси.
- Сложи цели за точност, цитати и разход.
- 34Изгради потокаИзгради потока за извличане, отговори и цитати.
- Индексирай документите.
- Отговаряй с цитати.
- Пусни тестовия пакет.
- 35Кажи: не знамНакарай приложението да каже не знам, когато липсват доказателства.
- Открий кога извличането не намира нищо полезно.
- Отговори «Източниците не го казват» вместо да гадаеш.
- Изпробвай го с въпроси, на които документите не могат да отговорят.
- 36Асистент за изследване с ИИПусни и представи обвързан асистент за изследване с ИИ.
- Пусни приложението за твоя клас.
- Представи оценките му за точност, обвързване, сигурност и разход.
- Обясни границите му.