Как стать автором
Обновить
-4
0.1

Пользователь

Отправить сообщение

Используем Gemini для просмотра лекции

Время на прочтение9 мин
Количество просмотров14K

В феврале Google мы познакомились с Gemini 1.5 Pro с контекстным окном в 1 миллион токенов. Больший размер контекста означает, что Gemini 1.5 Pro может обрабатывать огромные объемы информации за один раз — 1 час видео, 11 часов аудио, 30 000 строк кода или более 700 000 слов. Это делает его на голову выше других моделей.

Сегодня я бы хотела рассмотреть вопрос обработки видео, а именно просмотра часового видео и оценить, как хорошо модель будет извлекать информацию.

Приятного прочтения!

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии15

Это база машинного обучения

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9K

Рассказать всё о машинном обучении на двух страницах текста — невыполнимая задача. Именно сложность и многообразие темы могут отталкивать тех, кто только начинает знакомство с ней. Однако мы хотим помочь на этом пути и дать упрощённое введение в машинное обучение, чтобы каждый смог уловить его базовые принципы и понять, где его можно применять. Мы будем рады, если после прочтения кому-нибудь станут интересны нюансы и детали. А пока начнём с обобщений.

В самом общем смысле, машинное обучение можно описать как метод автоматизации, позволяющий компьютерам анализировать данные и делать на их основе какие-то выводы. Зачастую эти выводы используются для создания прогнозов о будущих событиях.

Можно, конечно, попытаться обойтись и без машинного обучения. Самый простой подход — проанализировать данные и составить понятный набор правил формата if-else (если-то). Между прочим, это применяется в реальной жизни, например, при анализе потребительской корзины. Составляется набор ассоциативных правил вида {хлеб, чай} → {молоко}. Это означает, что если покупатель приобретает хлеб и чай, то, скорее всего, он также купит молоко. Вуаля — мы сделали прогноз на будущее. 

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии9

Библиотека GopherJS в Golang

Время на прочтение5 мин
Количество просмотров3.9K

GopherJS позволяет переводить Go-код в JavaScript — он предоставляет полноценную совместимость с большинством пакетов стандартной библиотеки Go. Также Gopher поддерживает горутины и каналы!

В статье в общих деталях рассмотрим эту замечательную библиотеку.

Читать далее
Всего голосов 13: ↑6 и ↓7+3
Комментарии6

На практике пробуем KAN – принципиально новую архитектуру нейросетей

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров32K

На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрения.

Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.

Читать далее
Всего голосов 56: ↑56 и ↓0+76
Комментарии15

Распознавание, хранение и поиск лиц в базе данных

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров13K

В этой статье я максимально коротко и просто объясню принцип распознавания, хранения и поиска лиц в базе данных. В качестве примера будет использована библиотека Insightface и база данных PostgreSQL.

Читать далее
Всего голосов 30: ↑25 и ↓5+28
Комментарии6

Применение чистой архитектуры в Go

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров13K


Одна из проблем, с которыми мне часто доводится сталкиваться в различных софтверных проектов — это сильная связанность кода, при которой в него так сложно вносить даже простые изменения, не провоцируя нежелательных побочных эффектов. Дело в том, что программисты склонны сосредотачиваться на разработке конкретных фич, не задумываясь о том, как база кода станет развиваться в будущем. Также не все учитывают, что применяемые сегодня библиотеки и фреймворки могут постепенно сойти со сцены спустя несколько месяцев или лет.

На старте проекта приходится принимать множество решений. Большинство инженеров при этом рассматривают область применения проекта и решают, при помощи каких инструментов он будет реализовываться. Речь, в частности, о языках программирования, фреймворках, базах данных, внешних API, вариантах развёртывания. Принимая такие решения на самых ранних этапах, они замыкаются на этих инструментах, пронизывают ими всю базу кода, в результате чего её становится сложно менять и поддерживать.

Большинство этих инструментов – это частности, и выбор большинства из них (кроме языка программирования) можно на некоторое время отложить, пока проект не окрепнет. Поэтому на ранних этапах разработки проекта стоит уделить внимание не тому, при помощи каких инструментов пойдёт реализация. Лучше смоделировать предметную область проекта, а к вышеупомянутым инструментам подходить так, как следует — то есть, как к частностям. Разумеется, чтобы проект был реализован, с такими деталями тоже нужно определиться, но они могут оставаться в некоторой отдельной части кода, не относящейся к предметной области — там, где их будет легко менять, удалять или заменять по нашему усмотрению.

Для решения именно таких проблем с сильной связностью кода многоопытные инженеры создали ряд архитектурных паттернов. Таковы, в частности, чистая архитектура Роберта Мартина («дядюшки Боба»), гексагональная архитектура Алистера Кокбёрна и явная архитектура Герберто Грацы.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+31
Комментарии5

Fuzzing-тестирование. Практическое применение

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.7K

Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран.

В статье поделюсь своим опытом применения фаззинга для нагрузочных и интеграционных тестирований. Расскажу про генерацию текстов на армянском языке, тестирование SQL-запросов, а также можно ли использовать фаззер и unit-тестирование бок о бок, и какие баги нам удалось найти.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+18
Комментарии3

На какие AI Coding Assistants стоит обратить внимание в 2024?

Время на прочтение8 мин
Количество просмотров13K

Не является секретом, что LLM в настоящее время являются неотъемлемой частью нашего рабочего процесса. Особое внимание заслуживает AI Coding Assistant — искусственный интеллект, или просто программный помощник, который поддерживает разработчиков, помогая писать более качественный и точный код, тем самым экономя время и ресурсы.

Давайте рассмотрим различные программные помощники, доступные на рынке для разработчиков с разными уровнями навыков, включая как бесплатные, так и платные варианты.

Но прежде чем мы погрузимся в детали этих инструментов, давайте ответим на вопрос: "Что такое эти помощники?".

Приятного прочтения(:

Читать далее
Всего голосов 19: ↑19 и ↓0+20
Комментарии11

Пишем поиск семантически похожих текстов (или товаров) за полчаса на Go и Postgres (pgVector)

Время на прочтение5 мин
Количество просмотров7.7K


Казалось бы, в посгресе и так есть неплохой полнотекстовый поиск (tsvector/tsquery), и вы из коробки можете проиндексировать ваши тексты, а потом поискать по ним. Но на самом деле это не совсем то, что нужно — такой поиск работает лишь по чётким совпадениям слов. Т.е. postgres не догадается, что "кошка гонится за мышью" — это довольно близко к "котёнок охотится на грызуна". Как же победить такую проблему?


TLDR:


  1. Преобразовываем наши тексты в наборы чисел (векторы) при помощи API openAI.
  2. Сохраняем векторы в базе с помощью pgvector.
  3. Легко ищем близкие друг к другу векторы или ищем их по вектору-запросу.
  4. Ускоряем индексами.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+24
Комментарии8

Современные команды и фичи Git, которыми стоит пользоваться

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров33K

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git, о которых вам стоит знать.

Читать далее
Всего голосов 60: ↑58 и ↓2+71
Комментарии39

Не DeepL-ом единым. Нейросетевой переводчик для ваших проектов в VS Code за пару кликов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.4K

По рабочим вопросам, я применяю DeepL для перевода технической документации, так как необходимое качество «подстрочника» он обеспечивает и ускоряет работу над однотипными текстами, которые после остается только вычитать и поправить явные ляпы в оборотах и терминологии. Но захотелось посмотреть, а что можно применить взамен, бесплатно, offline и в связке с VS Code, особенно учитывая намеки авторов переводчика скоро прикрыть «халяву» с бесплатным AI Writer.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии6

Как работать с помощью разных ИИ прямо в VSCode: AIConfig Editor

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.3K

AIConfig Editor превращает VS Code в генеративную среду разработки, позволяющую в единой универсальной песочнице запускать модели любого провайдера (OpenAI, Google, Hugging Face, с вашего локального компьютера...) или в любой модальности (текст, изображение, аудио).

Подсказки и настройки модели сохраняются в файле .aiconfig.yaml или в .aiconfig.json, исходный код которых можно контролировать и использовать в вашем приложении через AIConfig SDK.

Читать далее
Всего голосов 8: ↑7 и ↓1+9
Комментарии2

Claude 3 или Хроники Андалора

Уровень сложностиПростой
Время на прочтение44 мин
Количество просмотров3.9K

Около недели назад вышла новая нейросеть, Claude 3/Opus показывающая state-of-art результаты в большинстве тестов, по которым она существенно превосходит предыдущего лидера, ChatGPT-4 Turbo. У меня появился доступ к ней и немного свободного времени, поэтому я решил опробовать ее навыки в домене творческого письма, и результаты меня лично поразили. Выкладываю ниже нашу переписку.

ИИ:
Здравствуйте! Рад вас приветствовать. Чем я могу вам помочь сегодня?


Я:
Ты можешь предложить детальный план фантастического рассказа про человека, который попал во вселенную реал-рпг, получил доступ к Системе и Интерфейсу и развивает свои навыки и способности?

ИИ:
Конечно, я могу предложить вам детальный план фантастического рассказа на эту тему. Вот возможная структура:

Завязка:

Главный герой (ГГ), молодой человек, живущий обычной жизнью, неожиданно попадает в аварию/засыпает/находит странный артефакт.
Очнувшись, ГГ обнаруживает, что мир вокруг изменился, стал подобен РПГ-игре. Появляется Интерфейс с характеристиками, навыками, инвентарем.
Развитие событий:
3. ГГ исследует новый мир, пытается понять правила Системы. Обнаруживает, что может улучшать навыки, выполняя задания и получая опыт.
4. Встречает других людей/НПС, узнает, что мир делится на безопасные зоны (города) и опасные локации с монстрами. Формирует группу/гильдию для исследований.
5. Сталкивается с первыми монстрами, участвует в сражениях. Получает первые уровни, осваивает боевые навыки и магию.
6. Узнает о скрытом подземелье/данже с ценными ресурсами и редкими артефактами. Собирает группу для рейда.
7. В подземелье сталкивается с сильным боссом. С трудом побеждает, получает ценные навыки и снаряжение. Но узнает тревожные слухи о надвигающейся угрозе.

Читать далее
Всего голосов 10: ↑4 и ↓6+2
Комментарии9

Информация

В рейтинге
3 407-й
Зарегистрирован
Активность

Специализация

Backend Developer, Software Architect
Middle
От 70 000 ₽
Golang
Natural language processing
Docker
SQL
Git
Redis
Linux
PostgreSQL
REST