Skip to content

yevgt/my-course

 
 

Repository files navigation

Курс "AI для начинающих": Практический курс на Python

Этот репозиторий содержит примеры кода и упражнения из курса "AI для начинающих", который знакомит с фундаментальными концепциями и практическими применениями искусственного интеллекта с использованием Python.

Содержание курса

Курс состоит из 10 уроков, каждый из которых посвящен определенному аспекту искусственного интеллекта:

  1. Введение в NLP и трансформеры
  2. Большие языковые модели (LLM). Промпт-инжиниринг
  3. Токенизация и работа с API LLM
  4. Обработка запросов и таймаутов. Эмбеддинги и векторные представления
  5. Экосистема LangChain и PromptHub
  6. Агентный подход в разработке с использованием LLM
  7. Введение в мультимодальные модели и работа с изображениями
  8. Работа со звуком, видео и интеграция мультимодальных моделей
  9. Retrieval-Augmented Generation (RAG)
  10. 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 (для некоторых примеров)

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/viacheslav-bandylo/llm-course
    cd llm-course
    
  2. Создайте виртуальное окружение (рекомендуется):

    python -m venv venv
    source venv/bin/activate  # На Windows: venv\Scripts\activate
    
  3. Установите необходимые зависимости:

    pip install -r requirements.txt
    
  4. Создайте файл .env в корневой директории с вашими API-ключами:

    GEMINI_API_KEY=ваш_ключ_gemini_api
    HF_TOKEN=ваш_ключ_huggingface
    TAVILY_API_KEY=ваш_ключ_tavily_api
    

Подробное описание уроков

Урок 3: Токенизация и работа с API LLM

  • Основы использования API Google Gemini
  • Аутентификация и обработка запросов
  • Безопасное хранение API-ключей с использованием переменных окружения

Урок 4: Обработка запросов и таймаутов. Эмбеддинги и векторные представления

  • Управление API-запросами и ограничениями скорости
  • Обработка ошибок и управление таймаутами
  • Создание эмбеддингов для текста
  • Векторные представления и их применение
  • Семантический поиск с использованием FAISS

Урок 5: Экосистема LangChain и PromptHub

  • Загрузка и обработка документов
  • Создание цепочек для обработки текста
  • Работа с векторными хранилищами для поиска документов
  • Использование PromptHub для управления промптами

Урок 6: Агентный подход в разработке с использованием LLM

  • Создание реактивных агентов с LangGraph
  • Реализация пользовательских инструментов для агентов
  • Управление состоянием в разговорных агентах
  • Интеграция поиска и других инструментов

Урок 7: Введение в мультимодальные модели и работа с изображениями

  • Анализ изображений с CLIP
  • Генерация изображений из текста с Stable Diffusion
  • Расчет сходства между текстом и изображениями
  • Основы компьютерного зрения в ИИ

Урок 8: Работа со звуком, видео и интеграция мультимодальных моделей

  • Обработка аудио с Whisper
  • Распознавание речи и преобразование в текст
  • Построение мультимодальных конвейеров (речь → текст → изображение → анализ)
  • Создание приложений, комбинирующих несколько модальностей ИИ

Урок 9: Retrieval-Augmented Generation (RAG)

  • Создание баз знаний из документов
  • Реализация векторного поиска для извлечения релевантного контекста
  • Генерация контекстуально точных ответов
  • Использование RAG для улучшения ответов языковых моделей

Урок 10: Fine-tuning моделей. Лучшие практики в разработке ИИ-приложений

  • Подготовка пользовательских наборов данных для тонкой настройки
  • Реализация эффективных методов тонкой настройки (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 за фреймворки для агентов

Контактная информация

Если у вас возникли вопросы по курсу или материалам:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%