В предыдущей статье мы рассматривали типы ИИ-ассистентов, их влияние на нашу жизнь и возможности, которые они открывают. В этой статье перейдем к практике — созданию собственных ИИ-помощников для решения задач.
Теория
Чтобы ИИ-помощник мог верно отвечать на вопросы, ему нужны данные. Фундаментальные языковые модели (GPT, Gemini Flash, Grok) получают их из открытых источников в интернете. Когда вы задаете вопрос таким LLM, ответ строится на основе данных, на которых они обучались.
Но возникает вопрос: как научить ИИ-помощника использовать приватные данные (например, историю болезни, корпоративные секреты или банковские выписки), которые не публиковались в интернете?
cloud
Путь 1: все в промпт
Можно просто скопировать и вставить нужные данные прямо в промпт — это запрос, который мы отправляем языковой модели. Таким образом, модель будет использовать предоставленную информацию в своем ответе.
Однако у этого метода есть несколько минусов. Во-первых, это неудобно, если данные постоянно меняются или их много — придется каждый раз вставлять их вручную. Во-вторых, у языковых моделей есть контекстное окно — лимит на объем данных, которые модель может обработать за один раз. Если данных слишком много, они просто не поместятся в контекст.
Путь 2: дообучение модели
Можно взять готовую модель с открытым исходным кодом и дообучить ее на своих приватных данных. Этот подход хорош, когда нужно адаптировать модель под какие-то очень узкие, специфические задачи.
Но есть несколько моментов, которые стоит учитывать. Во-первых, если данных для обучения мало или они однообразны, модель может переобучиться. Это значит, что она будет хорошо работать на ваших данных, но плохо — на любых других.
Во-вторых, это довольно дорого: для обучения нужны GPU, поэтому без хорошего железа не обойтись.
Ну и в-третьих, это не сработает, если ваши данные постоянно меняются. При каждом изменении придется заново тренировать модель, а это долго и затратно.
Путь 3: обогащение контекста
Когда вы отправляете запрос в языковую модель, можно автоматически добавлять в него необходимую информацию из базы знаний, чтобы она отвечала точнее. Этот процесс называется обогащением контекста.
Самый известный и популярный метод — RAG - Retrieval Augmented Generation. Как правило, в тандеме с этим методом используются векторные базы данных, чтобы поиск по данным был быстрым и релевантным.
Есть еще относительно новые подходы:
- Model Context Protocol (MCP). MCP дает LLM доступ к инструментам (tools) и ресурсам (resources). Это позволяет создавать ИИ-агентов, которые не только могут искать данные в ресурсах, но и выполнять действия используя инструменты.
- CAG - Cache Augmented Generation. Данные загружаются в быстрый key-value-кэш, который находится в самой модели. Такой подход не требует наличия дополнительной базы данных и пайплайна для загрузки данных, как в RAG.
Большинство ИИ-ассистентов используют RAG, но для узкоспециализированных помощников часто используют метод дообучения модели.
Создание своего помощника
Для создания своего помощника мы будем использовать новый сервис Timeweb Cloud — AI-агенты. Цель — создать помощника, который сможет ответить на вопросы о выдуманной семье Ивановых. С помощью ИИ мы сгенерировали CSV-файл с выдуманными именами, датами рождения и степенью родства. Вот часть файла для примера:
№ |
Имя |
Фамилия |
Отчество |
Дата рождения |
Степень родства |
1 |
Иван |
Иванов |
Петрович |
12.03.1945 |
Глава семьи |
2 |
Мария |
Иванова |
Александровна |
25.07.1948 |
Жена Ивана, бабушка |
3 |
Пётр |
Иванов |
Иванович |
10.11.1969 |
Сын Ивана и Марии |
4 |
Елена |
Иванова |
Сергеевна |
05.02.1972 |
Жена Петра |
5 |
Андрей |
Иванов |
Петрович |
15.06.1995 |
Сын Петра и Елены |
6 |
Юлия |
Иванова |
Андреевна |
20.08.2018 |
Дочь Андрея |
7 |
Ольга |
Иванова |
Петровна |
28.09.1998 |
Дочь Петра и Елены |
8 |
Сергей |
Иванов |
Иванович |
20.04.1975 |
Сын Ивана и Марии |
9 |
Анна |
Иванова |
Юрьевна |
01.12.1978 |
Жена Сергея |
10 |
Виктор |
Иванов |
Сергеевич |
03.07.2001 |
Сын Сергея и Анны |
Создание агента в Timeweb Cloud
Зайдите на страницу AI-агентов в личном кабинете:
Нажмите кнопку «Создать». На экране создания вы можете настроить своего агента.
- Выбор языковой модели. Доступны модели с разным балансом скорости и интеллекта: от легкой и быстрой GPT 5 mini до способной к сложным рассуждениям Gemini 2.5 Pro. Стоимость использования зависит от выбранной модели. Для наших тестовых задач с запасом хватит возможностей одной из самых экономичных моделей — DeepSeek V3.
- Тарифный план. Стоимость работы с моделью тарифицируется в токенах — единицах измерения объема текста. Оплачиваются как токены, переданные модели (входные данные), так и токены в ее ответе. Мы выбрали стартовый тарифный план объемом 500 тыс. токенов, которого достаточно для тестирования.
- Промпт. Здесь можно задать роль агенту, чтобы получать ответы в нужном контексте (например, «действуй как финансовый эксперт»). Интерфейс предлагает готовые шаблоны и руководство по составлению промптов. Для наших целей достаточно стандартных ответов модели, без дополнительных инструкций.
- База знаний. Это опциональный источник данных, который агент использует для генерации ответов. Сюда можно загрузить приватную информацию для работы с закрытыми данными.
Пока пропустим этот пункт. Позднее мы создадим базу знаний и привяжем ее к агенту.
Агент создается моментально и готов к работе. Во вкладке «Плейграунд» можно сразу задавать вопросы агенту без создания чата или приложения. Попробуем спросить что-то про нашу вымышленную семью Ивановых:
Ожидаемо, наш ассистент ничего про эту семью не знает.
Добавление базы знаний
Добавим CSV-файл с информацией в базу знаний. Для этого в меню «AI-агенты» выбираем вкладку «База знаний».
Для Базы знаний создается отдельная облачная база знаний OpenSearch для хранения векторных данных. Она тарифицируется отдельно.
В источниках данных мы добавили наш файл с данными о выдуманной семье — imaginary-family.csv:
После создания инстанса базы данных можно добавить базу знаний в нашем агенте. Для этого в настройках агента нужно выбрать вкладку «Управление» и в разделе «Ресурсы» выбрать доступную базу знаний.
Попробуем теперь задать тот же самый вопрос:
Агент с помощью RAG нашел нужную информацию в базе данных, добавил в контекст, и языковая модель сгенерировала ответ.
Интеграция для разработчиков
Timeweb Cloud позволяет с легкостью использовать агентов в вашем приложении или сервисе. Во вкладке «Доступ» вы найдете два инструмента для интеграции агента в свои приложения:
- Javascript-сниппет, который позволяет встроить чат-бот прямо на сайт.
- API, с помощью которого можно отправлять запросы и получать ответы от агента. Ссылку на документацию API можно найти на этой же вкладке.
Я написал простой скрипт на python (test_agent.py), который позволяет отправить запрос к AI-агенту из консоли:
python test_agent.py --agent_access_id 42ec2c5a-15e0-4416-93a9-69cca7bea496 "Кто жена Петра Иванова и когда она родилась?"
Пример ответа:
Response from AI Agent:
{
"message": "Жена Петра Иванова — **Елена Сергеевна Иванова**. Она родилась **5 февраля 1972 года**.\n\nЭта информация находится в Record 4 предоставленных данных.",
"id": "c6a2e853-518f-432a-9d74-89bf91b57935",
"finish_reason": "stop",
"response_id": "10645836-011d-4580-84c2-eeeaa7a09732"
}
Заключение
Мы рассмотрели, как с помощью сервисов, подобных Timeweb Cloud, можно быстро и эффективно создавать ИИ-агентов. Важность RAG и других методов обогащения контекста становится очевидной, когда нужно работать с приватными данными. Начните с простого — загрузите свой первый файл и убедитесь сами, насколько простым, но полезным может быть персонализированный ИИ-помощник.