Создаем ИИ агента. Практикум на Python для начинающих
Создаем ИИ агента. Практикум на Python для начинающих

Полная версия

Создаем ИИ агента. Практикум на Python для начинающих

Язык: Русский
Год издания: 2026
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 2

Глава 2. Подготовка окружения

2.1. Отдельное окружение под CrewAI

Прежде чем писать первого агента, нужно подготовить рабочее место. Мы проводим тесты под управлением OS Ubuntu24.04 линукс пожалуй самая удобная среда для работы с ИИ, но возможна работа и в других операционных системах с некоторыми отличиями комнд. Если вы используете иную операционную систему то в среде разработки PyCharm большинство интрукций не зависят от OS. В ходе подготовки окружения в других OS могут возникнуть вопросы, которые легко решить с помощью любого ИИ чата, просто показав ему текст ошибки или задав вопрос по установке пакета. Звучит скучно, но именно здесь новички теряют больше всего времени: ставят библиотеку не туда, ломают уже работающий проект и потом полдня ищут причину.

Главная мысль параграфа: CrewAI ставят в отдельное, изолированное окружение. Сейчас объясним почему и сделаем это.

Термины параграфа

— Виртуальное окружение (venv) — отдельная «коробка» с Python и библиотеками под один проект. То, что лежит в одной коробке, не влияет на другие.

— Зависимость — сторонняя библиотека, которая нужна вашему проекту для работы. У самих библиотек тоже есть свои зависимости.

— Конфликт зависимостей — ситуация, когда двум библиотекам нужна одна и та же третья, но разных, несовместимых версий. Одно окружение не может держать две версии сразу — приходится выбирать, и кто-то остаётся сломанным.

.

2.1.1. Почему CrewAI нужно свое окружение

Дело в общей библиотеке по имени chromadb — это хранилище для поиска по документам. От неё зависят сразу несколько инструментов, но каждому может быть нужна своя версия:

— CrewAI тянет за собой определённую линейку chromadb;

— библиотеки экосистемы LangChain (например, langchain-chroma) требуют другую версию той же chromadb.

Поставьте оба в одно окружение — и менеджер пакетов встанет перед неразрешимой задачей: держать две несовместимые версии одной библиотеки одновременно он не может. В лучшем случае установка оборвётся с ошибкой. В худшем — молча поставит одну версию, и сломается то, что раньше работало: другой рабочий проект вдруг начнёт падать, хотя вы его не трогали.

Запомните этот случай как общее правило: проекты с конфликтующими зависимостями держат в разных окружениях. Не пытайтесь ужать всё в одно «чтобы не плодить папки» — сэкономите место, потеряете дни на отладку.

2.1.2. Создаём проект и окружение

Что нужно иметь до начала:

— Python 3.10 или новее. CrewAI на более старых версиях не работает.

— Установленную и запущенную Ollama. Через неё мы подключим модели.

— Установленный PyCharm (мы весь курс работаем именно в нём), окружение проще создать средствами среды:

— File → New Project, имя проекта — crew_ai_course.

— В настройках интерпретатора выберите New environment типа Virtualenv и Python 3.10 или новее. PyCharm сам создаст папку. venv внутри проекта.

— Откройте встроенный терминал (View → Tool Windows → Terminal). PyCharm активирует нужное окружение автоматически — в начале строки появится (.venv).

Если предпочитаете командную строку, то же самое делается вручную:

mkdir ~/PycharmProjects/crew_ai_course

cd ~/PycharmProjects/crew_ai_course

python3 -m venv. venv

source. venv/bin/activate

Признак успеха один и тот же: приглашение командной строки начинается с (.venv) — вы «на нужной кухне».

Дальше все команды выполняем в этом терминале. Ставим сам CrewAI и то, что понадобится по ходу курса:

pip install — upgrade pip

pip install crewai

pip install yfinance requests «requests [socks]» ddgs ollama

Что мы поставили и зачем:

— crewai — сам фреймворк. Вместе с ним подтягиваются агенты, задачи, команды, потоки и работа с базой знаний;

— yfinance — источник биржевых данных, понадобится в главе 4;

— requests — обращения к внешним сервисам из наших инструментов; дополнение requests [socks] нужно, если доступ к сайту американского регулятора у вас закрыт и придётся идти через прокси (об этом в главе 4);

— ddgs — поиск в интернете, на нём построен инструмент новостей в главе 4;

— ollama — клиент к Ollama на стороне Python. Он нужен базе знаний в главе 5 для поиска по документам; сам CrewAI его отдельно не тянет, поэтому ставим руками.

Установка занимает несколько минут: CrewAI тянет за собой большое дерево зависимостей. Это нормально.

Проверяем, что фреймворк встал:

python -c «import crewai; print (crewai.__version__)»

Если версия напечаталась — окружение готово.

2.1.3. Как убедиться, что другие проекты не задеты

Простая гигиена, которая избавит от тревоги: пока вы работаете с CrewAI — активно только окружение crew_ai_course. Другие ваши проекты лежат в своих папках, со своими окружениями, и мы туда ничего не устанавливаем.

Проверить, где вы находитесь, можно одной командой:

which python

Она покажет, какой Python сейчас активен. Если путь ведёт в crew_ai_course/.venv/bin/python — вы там, где нужно. Если путь другой (например, /usr/bin/python3), окружение не активировано: вернитесь к команде source. venv/bin/activate.

В PyCharm то же самое видно без команд: текущий интерпретатор показан в правом нижнем углу окна и в File → Settings → Project → Python Interpreter. Убедитесь, что там выбрано окружение проекта crew_ai_course, а не системный Python.

Правило на весь курс: сначала убедись, что активно окружение CrewAI, потом ставь пакеты. Две секунды проверки экономят часы разбора поломок.

Окружение готово. В следующем параграфе подключим модель и запустим первую команду.

2.2. Подключение моделей и первый запуск

дочитайте главу до конца и затем переходите к работе с файлом примера в Pycharm.

(!) В коде всех примеров имеются параметры:

# у агента verbose=True

# у команды verbose=True

Эти парамметры отвечают за вывод промежуточных итогов внутреннего взаимодействия команды, по умолчанию они стоят в True что бы вы могли видеть что делают ваши агенты и последовательность их действий.

Вы можете устанавливать эти значения в False тогда CrewAI не будет выдавать наружу свои внутренние процессы, вы увидите только результат.

Окружение готово, CrewAI установлен. Пора оживить команду — подключить модель и сделать первый запуск. Разберём, как CrewAI разговаривает с моделями через Ollama, какие модели мы используем и почему, и по частям поймём устройство первого скрипта.

Термины параграфа

— Ollama — программа, которая запускает языковые модели у вас на машине (локально) или даёт доступ к облачным.

— LiteLLM — «переходник» между CrewAI и разными поставщиками моделей. Благодаря ему CrewAI одинаково обращается и к OpenAI, и к Ollama — меняется только имя модели.

— Префикс ollama/ — приставка к имени модели, которая говорит LiteLLM: «эту модель бери через Ollama».

— kickoff () — команда «начать работу». Именно она запускает всю команду агентов.

Как CrewAI находит модель

CrewAI сам не умеет говорить с моделями напрямую — он поручает это LiteLLM. А LiteLLM понимает десятки поставщиков и различает их по приставке к имени модели.

Аналогия: международный телефонный звонок. Чтобы дозвониться, перед номером набирают код страны. ollama/ — такой же код: «соединить через Ollama». Пишете ollama/gpt-oss:120b-cloud — и LiteLLM понимает, что за моделью надо идти в Ollama.

Забудете префикс — LiteLLM решит, что это модель другого поставщика, и либо потребует ключ, либо выдаст ошибку. Это одна из самых частых оплошностей новичка, поэтому запомните правило: для Ollama имя модели всегда начинается с ollama/.

Наши три модели

В курсе работаем с таким набором:

— Основная — gpt-oss:120b-cloud. Мощная облачная модель, доступная через Ollama (на момент написания бесплатно). На ней держим большинство задач.

— Запасная — gemma4:cloud. Тоже облачная. Пригодится, если основная недоступна или капризничает. На задачах генерации кода она нередко показывает себя лучше — это пригодится в главе 6.

— Локальная — qwen2.5:7b. Небольшая модель, работает целиком на вашей машине без интернета. Хороша для быстрых проверок и там, где нужен строгий формат ответа для нее требуется видеокарта с памятью> =8Gb (если у вас нет такой видеокарты то просто указывайте вместо этой модели любую из бесплатных облачных например gemma4:cloud.

Выбор модели в CrewAI меняется в одну строчку — именем в настройке LLM. Это удобно: можно собрать команду на основной модели, а для одного «тяжёлого» агента подставить другую.

Первый запуск

Скрипт cai_hello_crew.py — самая маленькая возможная команда: один сотрудник, одно поручение. Положите его в папку проекта crew_ai_course и запустите.

В PyCharm достаточно открыть файл и нажать зелёную стрелку запуска (или Ctrl+Shift+F10). Из терминала — обычной командой:

python cai_hello_crew.py

В консоли пойдут рамки с ходом работы, а в конце — блок «РЕЗУЛЬТАТ» с ответом агента. Если это произошло, значит установка модулей и окружения прошла успешно и модель отвечает вам.

Разбор скрипта

Откройте cai_hello_crew.py — разберём его по частям. Это скелет, который вы будете наращивать весь курс.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Конец ознакомительного фрагмента
Купить и скачать всю книгу
На страницу:
2 из 2