LLM Engineering. Створення AI-додатків з LangChain та OpenAI
Мета курсу
Курс розроблений для підготовки розробників та аналітиків з базовим знанням Python до створення корпоративних AI-додатків нового покоління на базі LLM, LangChain та OpenAI. Учасники навчаться проєктувати AI-асистентів як повноцінні agentic-системи з knowledge layer, а не як прості “chat-with-PDF” рішення.
Формат навчання
Онлайн/ офлайн/ гібрид
Практичні кейси, воркшопи, інтерактивні сесії
Підтримка учасників під час навчання в закритому чаті
Більшість AI-асистентів, створених за класичним RAG-підходом, добре працюють на демо, але стикаються з проблемами під час реального використання в компаніях. Причина - недостатньо просто знайти “схожий текст” через vector search. Для якісної роботи AI-агенту потрібен повний і правильно зібраний контекст.
Наприклад, система має враховувати:
актуальні дані про співробітників, клієнтів чи продукти;
права доступу користувача;
внутрішні політики та правила;
потрібні фрагменти великих документів;
дані з таблиць і дашбордів;
попередні рішення по схожих кейсах;
джерела інформації для перевірки відповіді.
Саме тому курс навчає будувати не просто RAG-системи, а повноцінний knowledge layer для AI-асистентів, де retrieval — лише один із компонентів. Учасники навчаться проєктувати AI-додатки, які працюють стабільно в реальних бізнес-процесах.
Програма
1
Базова теорія: токени, контекстне вікно, температура
Моделі OpenAI на практиці: GPT-4o, GPT-4o-mini, embedding-моделі - коли яку
«Build vs Buy»: коли робити власне рішення, а коли - ChatGPT Enterprise / Copilot / готові SaaS
Knowledge Layer як рамка: 7 компонентів (retrieval, document structure, semantic data models, access control, provenance, memory, write-back) - і чому жодного з них недостатньо самого по собі
Карта типових корпоративних AI-сценаріїв
2
Принципи: clarity, specificity, examples; system vs user message
Few-shot, chain-of-thought, role prompting (з урахуванням мов)
Шаблони для типових кейсів: класифікація тікетів, екстракція полів, написання чорнових відповідей
JSON mode, Pydantic, function/tool calling як спосіб «змусити» модель повернути дані
Чому на старті не варто будувати ReAct-агента: ризики циклів і непередбачуваність
Шаблон «модель → структуровані поля → ваш код» — найнадійніший паттерн для пілоту
4
Філософія LangChain: composability через LCEL - без надлишкової теорії
PromptTemplate, ChatModel, OutputParser; перший pipeline `prompt | model | parser`
Memory: buffer / window / summary - коли яка; вплив на ціну і якість
Простий patterns для маршрутизації (без RunnableBranch/Parallel - їх відкладаємо)
5
Async OpenAI client; коли потрібна конкурентність
Streaming відповідей: чому це must для UX
Помилки, retries, timeouts, fallback на дешевшу модель
6
Чому «retrieval = знайти схожий текст» - недостатньо для агента
Концепція assembly problem, not retrieval problem
Retrieval Contract Spec
Як перетворити кейс на контракт; шаблон Contract Spec
7
Що таке embeddings (інтуїція, без занурення у математику)
Один вектор-стор для пілоту - Chroma (локально); коли переходити на Qdrant/Pinecone
Embedding-моделі OpenAI: text-embedding-3-small / -large - вартість і якість; особливості для української/російської
Chunking: за токенами vs за заголовками - практичні наслідки
Метадані як головний інструмент precision (відділ, мова, дата, тип документа, тег конфіденційності)
8
Чому plain-text-chunks втрачають структуру і це шкодить точності
Section-aware indexing: ієрархія заголовків, посилання, таблиці
Мок «реєстру сутностей» (employees, suppliers, products): як він співіснує з вектором і коли його достатньо без векторного пошуку
Коли потрібен повноцінний semantic data store (Dremio / data fabric), а коли - ні
9
Access control: mock RBAC-сервіс з 3 ролями; фільтрація retrieval на льоту за тегами конфіденційності й роллю користувача
Provenance: формат запису source-trail; як зберігати (SQLite/JSONL) і як показувати у відповідях
Memory: чому агент «перевідкриває 85% контексту щоразу» і як це лікувати; session memory vs long-term memory vs facts cache
10
Метрики: faithfulness, answer relevance, context precision/recall - але не лише за відповіддю, а за компонентами knowledge layer (чи правильно вибрана сутність, чи застосована політика, чи коректно відфільтровано за правами)
LLM-as-a-judge: коли працює, коли калібрується
Failure Triage: систематичний підхід до «де саме зламалося» — окремі сигнали для retrieval, structure, ACL, memory, generation
Інструменти: ragas / deepeval / LangSmith — оглядово, із вибором одного
11
Threat-model: prompt injection, data exfiltration, jailbreak
PII і чутливі дані: redaction на вході, denylist на виході, allowlist tools
Що логувати: prompts, responses, tokens, latency, errors, provenance