Всички уроци

Курс

ИИ за 11. клас: Генеративен ИИ и инженеринг на агенти

Създай приложения с LLM чрез промптове, API, извличане и инструменти. После ги изпробвай за безопасност.

Минавай уроците поред. Накрая ще можеш да броиш токени, да сравняваш текстове по сходство на ембединги и да обясняваш семплиране, температура и прозорци на контекста. Ще можеш да пишеш структуриран промпт и да сравняваш версии на промпта с тестови случаи. Ще можеш да преглеждаш код от ИИ и да пишеш тестове, които кодът от ИИ трябва да мине. Ще можеш да получаваш JSON, който съвпада със схема, да правиш чатбот с лимит на разхода и да правиш приложение, което отговаря от документи и ги цитира. Ще можеш да правиш контролиран агент с ограничени инструменти и правило за спиране, да защитаваш приложение срещу инжектиране на промпт, да правиш автоматичен тестов пакет и да пуснеш обвързан асистент за изследване с ИИ.

Как да ползваш тези уроци

  • Започни от урока, на който пише Направи това. Мини нататък, когато можеш сам да направиш реда под заглавието.
  • Първо играй Игри. После направи Тест. 8 от 10 верни, за да минеш. Работни листове са на хартия. Отговорите са отдолу.
  • Всеки урок стъпва на предишния. Пази тестов набор за всяко приложение и го пускай след всяка промяна.
  • Уроците по код ползват Python. Ползвай само услугите за изкуствен интелект, които учителят одобри, дръж ключовете за API извън кода, сложи лимит на разходите и никога не пращай лични данни към модел.

Всеки урок има игри, тест и работни листове.

0 от 36

Основи на LLM

  1. 1Токени и речникБрой токени и обясни защо токените и речникът имат значение.
    • Раздели текст на токени с истински токенизатор.
    • Сравни броя токени в различните езици.
    • Свържи токените с цената и с границите на контекста.
  2. 2ЕмбедингиСравнявай текстове по сходство на ембединги.
    • Вземи ембединги от модел.
    • Изчисли косинусово сходство.
    • Подреждай изречения по смисъл, не по общи думи.
  3. 3Как LLM генериратОбясни как LLM генерират: семплиране, температура и прозорци на контекста.
    • Обясни предсказването на следващия токен.
    • Смени температурата и сравни изходите.
    • Покажи какво става, когато текстът мине прозореца на контекста.
  4. 4Предварително обучение и настройкаРазличи предварителното обучение, фината настройка и настройката с инструкции.
    • Кажи какви данни ползва всяка стъпка.
    • Обясни обратната връзка от хора.
    • Кажи защо моделът има граница на знанието.

Инженеринг на промптове

  1. 5Структурирани промптовеНапиши структуриран промпт с роля, задача, правила и формат.
    • Отдели инструкциите от входните данни.
    • Посочи формата на изхода.
    • Сравни структуриран промпт и промпт без структура.
  2. 6Малко примериПодобри изхода с малко примери.
    • Добави два или три примера.
    • Избери примери, които покриват крайните случаи.
    • Измери промяната върху тестов набор.
  3. 7ОграниченияСложи ограничения за дължина, тон и формат.
    • Сложи граници за дължина и ниво на четене.
    • Кажи на модела какво да прави, когато не знае.
    • Провери всеки изход спрямо всяко ограничение.
  4. 8Тестове на промптовеНапиши тестове на промптове: тестови случаи, за да сравниш версии на промпта.
    • Напиши двайсет тестови входа с очаквания резултат.
    • Оцени две версии на промпта.
    • Запази версията, която печели.

Програмиране с помощ от ИИ

  1. 9Генерирай кодГенерирай работещ код от ясна спецификация.
    • Напиши спецификация с входове, изходи и примери.
    • Генерирай код от нея.
    • Пусни го върху примерите.
  2. 10Прегледай код от ИИПрегледай код от ИИ и намери грешки и рискове.
    • Провери крайните случаи и обработката на грешки.
    • Забележи измислени функции и библиотеки.
    • Забележи опасен код, като тайни в изходния код.
  3. 11Първо тестоветеНапиши първо тестове, които кодът от ИИ трябва да мине.
    • Напиши тестове с pytest.
    • Накарай ИИ да напише код, който ги минава.
    • Добави тест за всяка грешка, която намериш.
  4. 12Отстранявай грешки с ИИОтстранявай грешки с ИИ: оправи грешка и обясни поправката.
    • Направи малък пример, който показва грешката.
    • Попитай ИИ за причините, не само за поправка.
    • Обясни защо поправката работи.

API за LLM

  1. 13Първо извикване на APIНаправи първо извикване на API: изпрати заявка за чат и прочети отговора.
    • Зареди ключа за API от средата.
    • Изпрати заявка със SDK.
    • Прочети отговора и употребата на токени.
  2. 14Системни и потребителски съобщенияПолзвай системни съобщения и потребителски съобщения.
    • Сложи правилата в системното съобщение.
    • Сложи входа на потребителя в потребителските съобщения.
    • Пази историята на разговора.
  3. 15Структурирани изходиВземи структурирани изходи: JSON, който съвпада със схема.
    • Определи JSON схема.
    • Поискай изход, който я следва.
    • Провери изхода и опитай пак при неуспех.
  4. 16ЧатботНаправи чатбот с история и лимит на разхода.
    • Пази историята на разговора.
    • Скъси старите съобщения, за да се поберат в контекста.
    • Спри, когато лимитът на разхода е стигнат.

Генериране с извличане

  1. 17Защо извличанеОбясни защо извличането обвързва отговорите с източници и намалява измислените.
    • Попитай модел за документ, който никога не е виждал.
    • Добави документа и попитай пак.
    • Начертай пътя: първо извлечи, после генерирай.
  2. 18Делене на късовеДели документите на късове.
    • Дели по размер, с припокриване.
    • Дели по заглавия.
    • Пази източника и страницата при всеки къс.
  3. 19Векторно търсенеПолзвай векторно търсене, за да намериш късовете, най-близки до въпрос.
    • Направи ембединги на късовете и ги запази.
    • Извлечи най-добрите съвпадения за въпрос.
    • Измери колко често се намира верният къс.
  4. 20Отговаряне от документиНаправи приложение, което отговаря от документи и ги цитира.
    • Сложи извлечените късове в промпта.
    • Изискай цитат за всяко твърдение.
    • Провери, че цитатите сочат истински пасажи.

Инструменти с ИИ и агенти

  1. 21Извикване на инструментиНека моделът извика инструмент, тоест функция.
    • Опиши инструмент със схема.
    • Пусни инструмента, който моделът иска.
    • Върни резултата на модела.
  2. 22ПланиранеПланирай: раздели задача на стъпки, които моделът може да изпълни.
    • Поискай от модела първо план.
    • Изпълни плана по една стъпка.
    • Провери всяка стъпка, преди да продължиш.
  3. 23Състояние и паметПолзвай състояние и памет, за да следиш какво е направил агентът.
    • Запази всяка стъпка и нейния резултат.
    • Обобщи дългите истории.
    • Реши какво агентът трябва да забрави.
  4. 24Контролиран агентНаправи контролиран агент с ограничени инструменти и правило за спиране.
    • Разреши само безопасни инструменти за четене.
    • Сложи таван на броя стъпки.
    • Попитай човек преди всяко действие, което променя нещо.

Мултимодален генеративен ИИ

  1. 25Генериране на изображенияОбясни генерирането на изображения: дифузионните модели правят изображения.
    • Обясни добавянето и махането на шум.
    • Обясни как текстът води изображението.
    • Говори за съгласие и авторско право при генерирани изображения.
  2. 26Зрение и езикПолзвай зрение и език, за да питаш модел за изображение.
    • Изпрати изображение с въпрос.
    • Вземи структурирано описание.
    • Намери детайл, в който моделът греши.
  3. 27РечПревърни реч в текст и текст в реч.
    • Препиши кратък запис като текст.
    • Измери дела грешни думи.
    • Генерирай реч и означи я като направена от ИИ.
  4. 28Мултимодален прототипНаправи мултимодален прототип, който ползва два вида вход.
    • Избери два входа, например глас и изображение.
    • Свържи ги в едно приложение.
    • Изпробвай го с петима потребители.

Надеждност и сигурност

  1. 29ХалюцинацииОткрий халюцинации: отговори, които източниците не подкрепят.
    • Провери всяко твърдение спрямо източниците.
    • Ползвай второ извикване на модела, за да отбележиш неподкрепеното.
    • Измери колко често отговорът е напълно подкрепен.
  2. 30Инжектиране на промптЗащити приложение срещу инжектиране на промпт.
    • Напиши атаки, скрити във входа на потребителя и в документите.
    • Отдели доверените инструкции от недоверен текст.
    • Ограничи до кои инструменти атака може да стигне.
  3. 31ОценяванеНаправи оценяване: оценявай изходи с рубрики и тестови набори.
    • Напиши рубрика за оценяване.
    • Оценявай на ръка и с модел.
    • Провери колко често съвпадат.
  4. 32Тестов пакетНаправи автоматичен тестов пакет за приложение с LLM.
    • Покрий точност, формат, безопасност и разход.
    • Пусни го с една команда.
    • Накарай компилацията да се провали, когато оценките падат.

Студио за продукт с ИИ

  1. 33Спецификация на продуктаНапиши спецификацията на продукта: потребителите, функциите и мерките за успех.
    • Избери сбор от одобрени изследователски документи.
    • Напиши потребителите и техните въпроси.
    • Сложи цели за точност, цитати и разход.
  2. 34Изгради потокаИзгради потока за извличане, отговори и цитати.
    • Индексирай документите.
    • Отговаряй с цитати.
    • Пусни тестовия пакет.
  3. 35Кажи: не знамНакарай приложението да каже не знам, когато липсват доказателства.
    • Открий кога извличането не намира нищо полезно.
    • Отговори «Източниците не го казват» вместо да гадаеш.
    • Изпробвай го с въпроси, на които документите не могат да отговорят.
  4. 36Асистент за изследване с ИИПусни и представи обвързан асистент за изследване с ИИ.
    • Пусни приложението за твоя клас.
    • Представи оценките му за точност, обвързване, сигурност и разход.
    • Обясни границите му.