Сообщения

Недорогой путь к освоению ИИ: создание чат-бота навигатора по сайту на основе Similarity Search

Изображение
Перевод моей статьи с HackerNoon .  Мир ИИ и больших языковых моделей (LLM) часто вызывает образы огромных вычислительных мощностей, проприетарных платформ и GPU-кластеров. Такое восприятие создаёт высокий порог входа, отпугивая любопытных разработчиков от изучения основ. Недавно я совершенно случайно за короткое время создал небольшой проект — простой чат-бот на базе ИИ (код тут   https://github.com/tacticaxyz/tactica.faq.similaritysearch ), который я называю Wiki Navigator. Он показал на практике, что для изучения основ ИИ излишняя сложность вовсе не обязательна. Сосредоточившись на таких ключевых понятиях, как   токенизация, векторные эмбеддинги и косинусное сходство , я построил рабочее решение поиска на основе RAG (Retrieval Augmented Generation), которое успешно находит необходимый контент среди 9 000 документов в кодовой базе Chromium. На запуск ушло всего несколько часов, а на следующий день я уже смог использовать тот же код, чтобы обучить чат-бота на откартых он...

Генерация лабиринтов с использованием теории графов

Изображение
Перевод моей статьи с HackerNoon .  В нашем предыдущем посте мы рассмотрели алгоритмы поиска путей в графах, которые по своей сути похожи на решение поиска выхода из лабиринта. Когда я делал карту для проекта Wall-E из прошлой статьи, я наткнулся на варианты построения лабиринтов. И чем больше я читал, тем дальше погружался в большой и увлекательный мир лабиринтов. Ранее я не осознавал всю широту и глубину этой темы, и обнаружил, например, что лабиринты можно классифицировать семью различными способами, каждый из которых можно сгенерировать различными алгоритмами. Кстати, я не нашел ни одной книги, которая бы всесторонне охватывала эту тему, и даже на странице Википедии нет систематического обзора. К счастью, я наткнулся на потрясающий ресурс, который охватывает различные типы и алгоритмы лабиринтов . Я начал изучать различные классификации лабиринтов, включая размерные и гиперразмерные вариации, идеальные лабиринты и уникурсальные (unicursal) лабиринты, плоские и разреженные ла...

Алгоритмы обхода графов: различия в производительности

Изображение
  Перевод моей статьи с HackerNoon .   В моем последнем посте я показал способ унификации самых известных алгоритмов обхода графов. Теперь давайте сделаем это более наглядно и рассмотрим различия в производительности. Предистория Несколько лет назад Яндекс организовал конкурс Роботы Курьеры с заманчивым призом: билетом на закрытую конференцию по беспилотным технологиям для профессионалов. Конкурс напоминал игру, в которой участникам нужно было находить оптимальные маршруты на карте и оптимизировать доставку с помощью роботизированных курьеров. Углубляясь в эту тему, я обнаружил, что, несмотря на то, что задача поиска маршрутов уже решена, она продолжает вызывать интерес у профессионального сообщества разработчиков, например, игр. Между 2010 и 2020 годами инженеры сделали значительные оптимизации алгоритма A* , что было особенно полезно для AAA игр с огромными картами. Могу порекомендовать почитать статьи и научные работы из этой сферы. Однако, требования конкурса Яндекс б...