Как создать агента ИИ на базе 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.