В этом руководстве мы будем использовать безопасное выполнение Python в Riza в качестве основы для мощного ИИ-агента с дополнительными инструментами в Google Colab.
Начало работы
Мы начнём с простого управления ключами API через секреты Colab, переменные среды или скрытые подсказки, чтобы настроить учётные данные Riza и включить выполнение кода в песочнице, готовое к аудиту.
Установка и настройка
Мы установим и обновим основные библиотеки, расширения LangChain Community, интеграцию с Google Gemini, пакет безопасного выполнения Riza и поддержку dotenv в Colab. Затем мы импортируем стандартные утилиты (например, os, datetime, json), аннотации типов, защищённый ввод через getpass и API данных пользователя Colab для управления переменными среды и секретами пользователя.
Настройка ключей API
Мы определим функцию setupapikeys(), которая безопасно извлекает ваши ключи API Google Gemini и Riza, сначала пытаясь загрузить их из секретов Colab, затем переходя к существующим переменным среды и, наконец, предлагая вам ввести их через скрытый ввод, если это необходимо.
Импорт инструментов и компонентов
Мы импортируем инструмент ExecPython от Riza вместе с основными компонентами LangChain для создания агента, вызывающего инструменты, а именно оболочку LLM Gemini (ChatGoogleGenerativeAI), исполнитель агента и функции создания (AgentExecutor, createtoolcalling_agent), шаблоны подсказок и сообщений, буфер памяти разговора, общий инструмент и базовый обработчик обратных вызовов для регистрации и отслеживания действий агента.
Расширенный обработчик обратных вызовов
Мы создадим класс AdvancedCallbackHandler, который фиксирует каждое обращение к инструменту с отметкой времени и может суммировать общее количество выполненных действий.
Классы математических операций и анализа текста
Мы создадим класс MathTool для выполнения сложных математических операций и класс TextAnalyzer для анализа текста.
Проверка ключей API
Мы определим функцию validateapikeys() для проверки ключей API перед созданием агентов.
Создание агента
Мы создадим агента, используя ChatGoogleGenerativeAI, инструменты и шаблон подсказки, и обернём его в AgentExecutor, который управляет выполнением (до десяти шагов), использует память для контекста, выводит подробные данные и останавливается, как только агент сгенерирует окончательный ответ.
Тестирование
Мы определим вспомогательную функцию ask_question(), которая отправляет пользовательский запрос исполнителю агента, выводит заголовок вопроса, фиксирует ответ агента (или ошибку) и затем выводит краткую сводку выполнения (показывая, сколько раз были вызваны инструменты). Затем мы предоставим список тестовых вопросов, охватывающих подсчёт символов, вычисление сложных процентов, анализ частоты слов и генерацию последовательности Фибоначчи, и выполним итерацию по ним, вызывая агента для каждого и собирая результаты.
Заключение
Центрируя архитектуру на безопасной среде выполнения Riza, мы создали ИИ-агента, который генерирует содержательные ответы с помощью Gemini, одновременно выполняя произвольный код Python в полностью защищённой, контролируемой среде. Интеграция инструмента ExecPython от Riza обеспечивает выполнение всех вычислений, от сложных числовых процедур до динамического анализа текста, с соблюдением строгих требований безопасности и прозрачности. С помощью LangChain, управляющего вызовами инструментов, и буфера памяти, поддерживающего контекст, мы получили модульную структуру, готовую для решения реальных задач, таких как автоматизированная обработка данных, прототипирование исследований или образовательные демонстрации.