Как создать агента ИИ на базе ClickHouse с помощью Streamlit
В этом руководстве вы узнаете, как создать веб-агента ИИ с использованием Streamlit, способного взаимодействовать с SQL-песочницей ClickHouse через MCP-сервер ClickHouse и Agno.
В этом примере создаётся полнофункциональное веб-приложение, предоставляющее чат-интерфейс для выполнения запросов к данным ClickHouse. Исходный код этого примера вы можете найти в репозитории examples.
Предварительные требования
- В вашей системе должен быть установлен Python.
Необходимо установить
uv - Вам потребуется API-ключ Anthropic или API-ключ от другого провайдера LLM
Выполните следующие шаги для создания приложения Streamlit.
Создайте файл с утилитами
Создайте файл utils.py с двумя вспомогательными функциями. Первая — это
асинхронная функция-генератор для обработки потоковых ответов от
агента Agno. Вторая — функция для применения стилей к приложению Streamlit:
Настройка учётных данных
Установите ключ API Anthropic в переменную окружения:
Если у вас нет ключа API Anthropic и вы хотите использовать другого провайдера LLM, вы можете найти инструкции по настройке учетных данных в документации Agno «Integrations»
Импорт необходимых библиотек
Начните с создания основного файла приложения Streamlit (например, app.py) и добавьте импорты:
Определите функцию потоковой передачи агента
Добавьте основную функцию агента, которая подключается к SQL-песочнице ClickHouse и осуществляет потоковую передачу ответов:
Добавьте синхронные функции-обёртки
Добавьте вспомогательные функции для обработки асинхронного стриминга в Streamlit:
Создайте интерфейс Streamlit
Добавьте компоненты пользовательского интерфейса Streamlit и функции чата:
Запуск приложения
Чтобы запустить веб-приложение AI-агента ClickHouse, выполните следующую команду в терминале:
Откроется веб-браузер с переходом на адрес http://localhost:8501, где вы
сможете взаимодействовать с AI-агентом и задавать ему вопросы о примерах наборов данных,
доступных в SQL-песочнице ClickHouse.