Этот репозиторий содержит примеры кода и упражнения из курса "AI для начинающих", который знакомит с фундаментальными концепциями и практическими применениями искусственного интеллекта с использованием Python.
Курс состоит из 10 уроков, каждый из которых посвящен определенному аспекту искусственного интеллекта:
- Введение в NLP и трансформеры
- Большие языковые модели (LLM). Промпт-инжиниринг
- Токенизация и работа с API LLM
- Обработка запросов и таймаутов. Эмбеддинги и векторные представления
- Экосистема LangChain и PromptHub
- Агентный подход в разработке с использованием LLM
- Введение в мультимодальные модели и работа с изображениями
- Работа со звуком, видео и интеграция мультимодальных моделей
- Retrieval-Augmented Generation (RAG)
- Fine-tuning моделей. Лучшие практики в разработке ИИ-приложений
Репозиторий организован по модулям уроков, начиная с урока 3:
- lesson-ai-03: Токенизация и работа с API LLM
- lesson-ai-04: Обработка запросов и таймаутов. Эмбеддинги и векторные представления
- lesson-ai-05: Экосистема LangChain и PromptHub
- lesson-ai-06: Агентный подход в разработке с использованием LLM
- lesson-ai-07: Введение в мультимодальные модели и работа с изображениями
- lesson-ai-08: Работа со звуком, видео и интеграция мультимодальных моделей
- lesson-ai-09: Retrieval-Augmented Generation (RAG)
- lesson-ai-10: Fine-tuning моделей. Лучшие практики в разработке ИИ-приложений
- Python 3.8 или новее
- API-ключи для различных сервисов:
- Google Gemini API
- Hugging Face API
- Tavily API (для некоторых примеров)
-
Клонируйте репозиторий:
git clone https://github.com/viacheslav-bandylo/llm-course cd llm-course -
Создайте виртуальное окружение (рекомендуется):
python -m venv venv source venv/bin/activate # На Windows: venv\Scripts\activate -
Установите необходимые зависимости:
pip install -r requirements.txt -
Создайте файл
.envв корневой директории с вашими API-ключами:GEMINI_API_KEY=ваш_ключ_gemini_api HF_TOKEN=ваш_ключ_huggingface TAVILY_API_KEY=ваш_ключ_tavily_api
- Основы использования API Google Gemini
- Аутентификация и обработка запросов
- Безопасное хранение API-ключей с использованием переменных окружения
- Управление API-запросами и ограничениями скорости
- Обработка ошибок и управление таймаутами
- Создание эмбеддингов для текста
- Векторные представления и их применение
- Семантический поиск с использованием FAISS
- Загрузка и обработка документов
- Создание цепочек для обработки текста
- Работа с векторными хранилищами для поиска документов
- Использование PromptHub для управления промптами
- Создание реактивных агентов с LangGraph
- Реализация пользовательских инструментов для агентов
- Управление состоянием в разговорных агентах
- Интеграция поиска и других инструментов
- Анализ изображений с CLIP
- Генерация изображений из текста с Stable Diffusion
- Расчет сходства между текстом и изображениями
- Основы компьютерного зрения в ИИ
- Обработка аудио с Whisper
- Распознавание речи и преобразование в текст
- Построение мультимодальных конвейеров (речь → текст → изображение → анализ)
- Создание приложений, комбинирующих несколько модальностей ИИ
- Создание баз знаний из документов
- Реализация векторного поиска для извлечения релевантного контекста
- Генерация контекстуально точных ответов
- Использование RAG для улучшения ответов языковых моделей
- Подготовка пользовательских наборов данных для тонкой настройки
- Реализация эффективных методов тонкой настройки (LoRA)
- Создание специализированных ИИ-ассистентов для конкретных областей
- Лучшие практики и подходы к разработке ИИ-приложений
Каждая директория урока содержит Python-скрипты, которые можно запустить независимо. Например:
python lesson-ai-03/ai3-1.py
Многие примеры требуют наличия API-ключей в вашем окружении или файле .env.
.
├── .gitignore # Git ignore файл
├── files/ # Директория для медиа-файлов (игнорируется git)
├── lesson-ai-03/ # Урок 3: Токенизация и работа с API LLM
│ ├── ai3-1.py # Базовое использование API
│ └── ai3-2.py # Безопасное хранение API-ключей
├── lesson-ai-04/ # Урок 4: Обработка запросов и таймаутов. Эмбеддинги
│ ├── ai4-1.py # Функция API-запроса
│ ├── ai4-2.py # Обработка ошибок
│ ├── ai4-3.py # Механизм повторных попыток
│ ├── ai4-4.py # Текстовые эмбеддинги
│ └── ai4-5.py # Семантический поиск с FAISS
├── lesson-ai-05/ # Урок 5: Экосистема LangChain и PromptHub
│ ├── ai5-1.py # Загрузка документов и цепочки
│ └── ai5-2.py # Векторные хранилища и поиск по сходству
├── lesson-ai-06/ # Урок 6: Агентный подход в разработке
│ ├── ai6-1.py # Агент с возможностью поиска
│ └── ai6-2.py # Реализация пользовательского инструмента
├── lesson-ai-07/ # Урок 7: Мультимодальные модели и изображения
│ ├── ai7-1.py # CLIP для анализа изображений
│ └── ai7-2.py # Генерация изображений с Stable Diffusion
├── lesson-ai-08/ # Урок 8: Работа со звуком и интеграция моделей
│ ├── ai8-1.py # Распознавание речи с Whisper
│ └── ai8-2.py # Мультимодальный конвейер
├── lesson-ai-09/ # Урок 9: RAG-системы
│ └── ai9-1.py # Простая реализация RAG
└── lesson-ai-10/ # Урок 10: Fine-tuning и лучшие практики
└── ai10-1.py # Тонкая настройка с LoRA
- В этом курсе используются различные модели и API искусственного интеллекта, некоторые из которых могут требовать платной подписки.
- Большие файлы, такие как веса моделей, не включены в репозиторий.
- Некоторые примеры требуют ускорения на GPU для оптимальной производительности.
- Уроки 1 и 2 теоретические, поэтому в репозитории представлен код начиная с урока 3.
- Google Gemini за предоставление API, используемого в примерах
- OpenAI за модели Whisper и CLIP
- Hugging Face за хостинг моделей и предоставление инструментов для тонкой настройки
- LangChain и LangGraph за фреймворки для агентов
Если у вас возникли вопросы по курсу или материалам:
- Email: viacheslav.bandylo@gmail.com
- LinkedIn: Viacheslav Bandylo