Полное руководство для начинающих по созданию ИИ-агента на Python.
Простое пошаговое руководство по созданию ИИ-агента на Python.
Делиться

Введение в ИИ-агентов
Агентный ИИ — это новое модное слово десятилетия. Вы слышите его повсюду: в описаниях вакансий, профилях технологических компаний, проектах фрилансеров и т.д. Как бы сложно это ни звучало, создание ИИ-агента не представляет собой большой проблемы. Напротив, вы можете легко создать простой ИИ-агент за пару минут. Именно этого мы и добьемся в этой статье.
В этой статье мы шаг за шагом рассмотрим процесс создания ИИ-агента. Вам не потребуются какие-либо предварительные знания, так как мы объясним каждую часть проекта простыми, понятными для начинающих словами. Мы также предоставим пошаговое руководство по установке Python и соответствующей IDE, в которой мы будем собирать этот проект. Это будет специализированное руководство по созданию ИИ-агента для самых начинающих в области программирования, кодирования и искусственного интеллекта.
Что такое агенты искусственного интеллекта?
Но сначала, что же такое ИИ-агенты? ИИ-агенты — это программные продукты, которые способны не только отвечать на конкретные вопросы, как простые чат-боты, но и идти дальше. Они могут отвечать на вопросы и принимать автономные решения, а также создавать объекты и выполнять задачи! Они могут наблюдать, думать, принимать решения и действовать для выполнения задач с минимальным участием человека. Предположим, мы хотим купить новый ноутбук для интенсивного программирования. Мы можем задать один и тот же вопрос как чат-боту, так и ИИ-агенту. Чат-бот предложит ноутбуки для интенсивного программирования, а затем ответит на конкретные вопросы по одному. Он ожидает ввода пользователя, имеет ограниченную память и работает в основном как генератор текста. ИИ-агент, с другой стороны, ставит цели и выполняет задачи автоматически, без необходимости явно запрашивать/указывать на конкретную функцию. Он исследует, сравнивает, планирует и анализирует требования, чтобы принимать решения, основанные на исследованиях. В случае с нашим вопросом о ноутбуке для интенсивного программирования чат-бот ответит всего одной строкой, а ИИ-агент предоставит нам сравнительную таблицу, укажет различные продукты, их цены, преимущества и недостатки, и поможет нам принять решение.
Как работает ИИ-агент?
Искусственный интеллект — это интеллектуальная программа, запрограммированная для достижения определённой цели. Получив задание, ИИ-агент сначала разбивает его на более мелкие задачи для решения, а затем, при необходимости, запрашивает дополнительную информацию у пользователя посредством вопросов, чтобы правильно понять и выполнить все требования. После этого он использует соответствующие инструменты, такие как поиск в интернете, калькуляторы и собственную память, для сбора дополнительной информации и тщательно её анализирует. Он сравнивает различные варианты и подбирает ответ, соответствующий потребностям пользователя.

Теперь, когда мы знаем, что такое ИИ-агенты и как они работают, давайте начнём программировать собственного персонализированного ИИ-агента.
Создание образовательного агента на основе искусственного интеллекта на Python.
В этой статье мы создадим образовательного агента на основе искусственного интеллекта, который будет выступать в роли вашего личного помощника в обучении.
Прежде чем приступить к кодированию и объяснениям, давайте убедимся, что требования к платформе выполнены:
Установка Python
Если вы совсем новичок, скорее всего, вы никогда не устанавливали Python на свой компьютер. Этот проект основан на Python, поэтому нам нужно установить его. Перейдите по этой ссылке и следуйте инструкциям.
Во время установки установите флажок «Добавить Python в PATH», затем нажмите «Установить сейчас».
Установка и настройка PyCharm
При программировании нам всегда необходима подходящая платформа или рабочее пространство, позволяющее писать код, запускать его, устанавливать необходимые библиотеки и пакеты, а также отлаживать код на наличие ошибок. Именно здесь на помощь приходит IDE (Integrated Development Environment — интегрированная среда разработки). IDE — это приложение, предоставляющее платформу или рабочее пространство для написания, тестирования и отладки кода. Для программирования на Python можно использовать множество IDE, таких как Spyder, Jupyter Notebooks и Visual Studio, и это лишь некоторые из них. Выбор конкретной IDE должен зависеть от вашего уровня владения программированием, вашей зоны комфорта и, что наиболее важно, от вашей области знаний и целей, которые вы хотите достичь с помощью программирования. В этом руководстве мы будем использовать PyCharm в качестве среды разработки, поскольку он имеет встроенный терминал и простую установку библиотек, идеально подходящую для проектов начинающих.
Установить IDE можно по следующей ссылке: https://www.jetbrains.com/pycharm/download
Просто выберите «Community Edition» и укажите способ загрузки, соответствующий вашей операционной системе.

После установки PyCharm перейдем к созданию файла проекта.
Настройка проекта и создание файла Python.
Далее мы создадим файл проекта в PyCharm. Проект в PyCharm — это как папка, которая может содержать различные файлы: файлы с кодом Python, библиотеки, файл окружения и т. д. Для начала запустите PyCharm, создайте новый проект, выберите местоположение вашего проекта и создайте проект. Затем мы создадим файл Python, main.py , который будет содержать основной код. После создания файла вы можете протестировать свою установку, написав универсальный код и запустив его.

print("Welcome to my new project on AI Agents")

На скриншоте выше вы можете увидеть отображаемое название проекта, его местоположение, общий код, используемый для тестирования, кнопку запуска кода и, наконец, результат выполнения кода. Если вы можете добраться до этого места, значит, у вас всё работает правильно!
Создание файла среды
Теперь мы создадим новый файл, который будет файлом среды выполнения. Файлы среды выполнения надежно хранят секретную информацию проекта и обычно имеют расширение .env . Они используются для хранения ключей, паролей и настроек конфигурации нашего проекта, что делает его более безопасным и профессиональным. В этом проекте мы создадим файл среды выполнения и сохраним в нем наш API-ключ (подробнее об API позже).

Как видите, мы создали новый файл с именем environment. Именно в этом файле мы будем безопасно хранить ключ API для этого проекта в переменной API_KEY (я уже добавил ключ API и скрыл его). Позже мы установим и импортируем библиотеку Python dotenv, которая помогает нашей программе считывать секретную информацию из файла .env, в нашем случае — ключ API.
Создание ключа API
Теперь следующая задача — создать API-ключ для использования в нашем коде. Но сначала давайте разберемся, что такое API-ключ!
API расшифровывается как Application Programming Interface (интерфейс прикладного программирования). Это набор правил или протоколов, позволяющих двум различным программным системам взаимодействовать друг с другом. Мы можем обмениваться информацией между программами, используя API, который их соединяет. Представьте себе официанта в ресторане, который выступает посредником между клиентами и кухней. Клиенты отправляют заказ на кухню на определенное блюдо, и это осуществляется через назначенного официанта. В мире программирования одно программное приложение отправляет запрос другому программному приложению через API. Приложения для прогноза погоды используют API для получения данных о погоде в режиме реального времени с соответствующих метеорологических серверов. В нашем проекте по созданию ИИ-агента на Python мы используем API для подключения к уже созданным моделям ИИ и использования их функций в нашей программе.

Для того чтобы наша программа могла взаимодействовать с моделью ИИ, нам нужен API-ключ. API-ключ дает разрешение на это взаимодействие. Сейчас существует множество способов получить API-ключи онлайн и получить доступ к моделям ИИ. Некоторые из этих способов бесплатны, другие — нет. В этом проекте мы будем использовать OpenRouter, который представляет собой унифицированный интерфейс для моделей ИИ и моделей искусственного интеллекта. После создания учетной записи мы можем легко создать API-ключ и использовать его в наших проектах бесплатно. Причина, по которой мы используем OpenRouter вместо других платформ для моделей ИИ, таких как Google Gemini, OpenAI и т. д., заключается в том, что он не только бесплатен, но и позволяет нам выбирать любую модель ИИ по нашему выбору, используя этот API-ключ. Он также облегчает работу новичкам с моделями, не требующими высоких вычислительных мощностей.
Чтобы создать API-ключ в OpenRouter, перейдите на их официальный сайт, создайте учетную запись. После создания учетной записи перейдите в панель управления OpenRouter и нажмите «Получить API-ключ».


Нажмите на значок «+ Новый ключ», чтобы создать свой API-ключ. Укажите проект. После получения ключа скопируйте его и вставьте в переменную API_KEY в файле env , которую мы создали ранее. Этот ключ не должен быть опубликован нигде!
Установка необходимых зависимостей
Теперь, когда наш API-ключ создан и надежно защищен в файле .env , давайте вернемся к файлу main.py и начнем кодирование. Первым делом нужно установить и импортировать соответствующие зависимости/пакеты. Мы делаем этот проект на Python, который является просто языком программирования с базовыми встроенными функциями и инструментами. Но для расширения функциональности нам нужны более мощные инструменты и функции, которые не предоставляет стандартная библиотека Python. Именно поэтому мы используем другие пакеты и библиотеки Python, сначала устанавливая их в нашу систему Python, а затем импортируя в наш код.
В этом проекте нам нужен Python для взаимодействия с уже созданными моделями ИИ, отправки и обработки запросов. Поскольку эти функции недоступны в стандартной библиотеке Python, мы установим библиотеку OpenAI Python, а затем импортируем её в наш код. Для установки перейдите в терминал вашей среды разработки PyCharm и введите:
pip install openai

После установки библиотеки OpenAI мы импортируем её в файл main.py :
from openai import OpenAI
Далее, чтобы получить доступ к API в нашем файле .env , мы установим и импортируем библиотеку Python dotenv , предназначенную для чтения информации из файлов .env.
В терминале (а не в файле Python) напишите следующий код для установки библиотеки dotenv.
pip install python-dotenv
Теперь, когда библиотека установлена, импортируйте её так же, как мы импортировали библиотеку OpenAI. Мы также импортируем библиотеку Python os . Эта библиотека помогает Python взаимодействовать с операционной системой для управления системными задачами, доступа к файлам, папкам и переменным среды, а также для создания путей. В нашем проекте мы будем использовать библиотеку dotenv для загрузки файла .env и библиотеку os для получения значений из него.
from dotenv import load_dotenv import os
Загрузка ключа API в основной файл Python.
После завершения импорта библиотек мы прочитаем файл .env и получим ключ API. Для этого мы воспользуемся двумя функциями: load_dotenv() , которая указывает Python открыть и прочитать .env file, и getenv() , которая извлекает необходимую нам информацию из этого файла.
load_dotenv() api_key = os.getenv("API_KEY")
Создание клиента
Мы перейдём к созданию клиента для нашего проекта. client — это, по сути, объект класса OpenAI (если вы знакомы с ООП), который позволяет вашему коду взаимодействовать с серверами OpenAI. Он упрощает аутентификацию и предоставляет структурированный способ отправки запросов моделям ИИ. Мы можем рассматривать его как мессенджер, который требует ключ API для аутентификации и отправляет и получает запросы и ответы от модели ИИ.
Вот синтаксис инициализации клиента:
client = OpenAI( api_key, base_url="https://openrouter.ai/api/v1" )
Мы использовали готовый шаблон из библиотеки OpenAI для создания клиентского объекта, который принимает ключ API, уже полученный из файла .env . Этот ключ позволит клиенту взаимодействовать с моделями ИИ через предоставленный нами URL-адрес. В нашем случае мы выбрали модели ИИ OpenRouter: https://openrouter.ai/api/v1
Создание бесконечного цикла чата
Далее мы создадим бесконечный цикл, который будет продолжаться до тех пор, пока мы не остановим его вручную (или не добавим дополнительную функциональность). В Python такой бесконечный цикл можно реализовать с помощью цикла while , который, по сути, представляет собой цикл, повторяющийся снова и снова, пока условие не станет ложным. В нашем проекте цикл while будет использоваться для непрерывной работы чат-бота. Таким образом, как только ИИ-агент ответит на вопрос, он запросит у пользователя следующую подсказку. Наряду с ключевым словом while мы добавим ключевое слово True , чтобы цикл никогда не останавливался автоматически.
while True: #Code inside this loop will keep on running until manually stopped
Получение ввода от пользователя и отображение статуса обработки.
Следующая задача — получить ввод от пользователя. По сути, это то, что пользователь будет задавать агенту ИИ. Мы создадим переменную с именем question , в которой будем хранить ввод от пользователя. Затем, чтобы показать статус обработки или то, что программа действительно работает в фоновом режиме (хотя и медленно), а не зависла, поскольку модели ИИ требуют времени на обработку, мы выведем строку «Thinking…» в выводе. Для этого мы будем использовать функцию print в Python, как показано в приведенном ниже блоке кода. Таким образом, пользователь будет знать, что его вопрос получен и находится в процессе обработки.
question = input("You: ") print("Thinking...n")
Отправка запроса к ИИ, выбор модели и системы сообщений.
Теперь, когда пользователь задал вопрос, и он сохранен в переменной question, следующая задача — обеспечить связь нашей программы с существующей моделью ИИ. Мы будем использовать метод chat.completions.create() из библиотеки OpenAI Python для генерации ответов от моделей ИИ. Ответ на вопрос пользователя после эффективной связи будет сохранен в переменной response. Мы выберем модель по этой ссылке. Я использовал модель baidu/cobuddy:free, потому что она работает быстрее, чем другие, которые я использовал ранее. После того, как мы укажем имя модели в OpenRouter, мы приступим к диалогу между пользователем и ИИ.
Мы сохраним этот диалог в переменной messages, которая на самом деле представляет собой словарь Python с ключами: role и content. Принцип работы словарей Python заключается в том, что у нас есть ключи и связанные с этими ключами значения.
| Роль | Система | Пользователь |
| Содержание | Вы — полезный и отзывчивый репетитор. | вопрос |
В нашем словаре мы определим содержимое для обеих ролей: системной и пользовательской. Для системной role content — "You are a helpful educational tutor" , что соответствует нашей цели — созданию образовательного агента на основе ИИ. content пользовательской роли — это question , который задаст пользователь. Давайте закодируем описанный выше сценарий:
response = client.chat.completions.create( model="baidu/cobuddy:free", messages=[ { "role": "system", "content": "You are a helpful educational tutor." }, { "role": "user", "content": question } ] )
При обработке вышеуказанного кода модели ИИ берут вопрос пользователя и содержимое системы вместе и генерируют ответы, объединяя оба этих элемента. Сгенерированный ответ возвращается в переменной response . Это основной этап нашего проекта, на котором наш агент ИИ фактически общается с моделью ИИ. Мы можем изменить имя модели во второй строке.
Извлечение ответа ИИ и вывод его пользователю.
Далее нам нужно вывести/распечатать текст, сгенерированный ИИ. Для этого мы возьмем полный сгенерированный ответ, который был сохранен в переменной response . Ответ от модели ИИ будет содержать различные choices из которых мы можем выбрать. Мы выберем первый ответ, присвоив ему index [0] . Затем мы получим доступ к содержимому сообщения, которое представляет собой фактический ответ от ИИ. Код будет выглядеть следующим образом:
answer = response.choices[0].message.content print("nAI:", answer) print("n-------------------n")
Обратите внимание, что мы получили доступ к message словаря, а затем вывели значение, хранящееся рядом с ключом « content ».
Запуск кода
Теперь давайте запустим код!

На изображении выше вы можете увидеть работающий код и ответы ИИ на вопросы. Однако, скорее всего, вы обнаружите, что генерируемые ответы очень медленные. Это связано с тем, что в нашем проекте мы использовали бесплатную модель, которая также используется другими разработчиками, и иногда она может размещаться на медленных серверах. Тем не менее, если время обработки слишком велико, рассмотрите возможность смены модели ИИ в OpenRouter. После нескольких проб и ошибок вы сможете найти хорошую и быструю модель!
Заключение
В этой статье мы успешно создали образовательного ИИ-агента, который отвечает на наши вопросы. Мы написали проект с нуля, используя определенные зависимости, и увидели, как можно создавать подобные проекты на Python, будучи новичками. Это был очень простой урок, основанный на самых базовых принципах, который показал нам, что создание ИИ не так уж и сложно. Все сводится к базовым знаниям основ и умению использовать уже существующие пакеты и модули для выполнения работы.
Махнур Джавед. Посмотреть все публикации Махнур Джавед.
Источник: towardsdatascience.com

Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.