AI-чатбот на сайте
У архитектора должен быть сайт. На сайте должно быть портфолио. А что если портфолио умеет разговаривать?

Идея
Посетитель заходит на сайт. Хочет узнать про опыт, стек, подход к работе. Можно листать страницы. А можно спросить. Живой чат, только на том конце не я, а мой виртуальный клон - обученный на моём CV, проектах и публикациях.
Не чат-бот из 2018-го с деревом кнопок. Полноценный диалог на естественном языке.
Архитектура
Не хотел делать тупую обёртку над API с огромным system prompt. Биография, проекты, стек, публикации - всё это не влезает в контекстное окно без потерь. А если и влезает - каждый запрос сжигает токены впустую.
Вместо этого - RAG. Все данные нарезаны на фрагменты и лежат в векторной базе. На каждый вопрос посетителя бот сначала ищет релевантные куски через embeddings. Нашёл три абзаца про Kubernetes - отправил только их. Спросили про образование - подтянул только образование.
Векторка работает как умный кэш: Claude Haiku 3.5 получает компактный контекст вместо полной биографии. Меньше токенов, быстрее ответ, дешевле счёт.
Стек
- FastAPI - бэкенд, async из коробки
- Claude Haiku 3.5 - быстрая и дешёвая модель для диалога
- Embeddings + векторная база - поиск релевантного контекста
- Hetzner Cloud - хостинг
- Nginx - реверс-прокси
Что умеет
Бот знает всё что знаю я - но только про профессиональную сторону. Спросите про стек - ответит. Про опыт в конкретной области - найдёт релевантные проекты. Про подход к архитектуре - расскажет.
Не знает - честно скажет. Не будет выдумывать проекты которых не было и навыки которых нет. System prompt жёстко ограничивает фантазии.
Зачем
Три причины:
- Конверсия. Посетитель получает ответы на свои вопросы мгновенно, а не ищет по страницам
- Демонстрация. Сайт архитектора который сам построил AI-продукт - лучше любого пункта в CV
- Интерес. Просто хотел сделать и посмотреть как это работает в проде
Забегайте попробовать - кнопка чата в правом нижнем углу на imarch.dev. Или напишите мне если хотите такого же на свой сайт.
Читайте также


