В этой статье рассмотрим мощный фреймворк для работы с большими языковыми моделями LlamaIndex: узнаем, как настроить и использовать LlamaIndex, и увидим его в действии на примере поиска ответа в заданном тексте.
User
Игра на ECS и как мы там живем
Привет, Хабр.
Постараюсь описать наш опыт и к чему мы пришли работая над игрой на ECS. Код приведен для LeoEcs Lite, но сами мысли очень общие. Буду рад критике и вашим мыслям.
Load Balancer и Reverse Proxy в микросервисной архитектуре
Автор статьи: Артем Михайлов
Микросервисная архитектура является одним из наиболее популярных подходов к созданию сложных приложений в настоящее время. Этот подход разбивает большое приложение на ряд маленьких, автономных сервисов, которые работают вместе для достижения общей цели.
Однако при работе с микросервисами возникают некоторые сложности в управлении нагрузкой на приложение. Именно здесь на помощь приходят два важных компонента — Load Balancer и Reverse Proxy.
Оптимизация выборок в больших коллекциях MongoDB
При работе с большими коллекциями в MongoDB, размер которых превышал десятки миллионов записей, возникла необходимость формировать случайные выборки уникальных значений полей, принадлежащих документам этой коллекции.
Для такой операции, в MongoDB штатно предусмотрена функция $sample, которую можно использовать в составе pipeline при проведении агрегации данных. Однако, как показала практика, выполнение выборки полей таким образом на большой коллекции может занимать весьма ощутимое время. Чтобы сократить время выполнения таких выборок, потребовалось разработать собственный алгоритм, который на порядки увеличил скорость работы. Ниже приведен подход и вариант реализации данного алгоритма.
Теорема Байеса для чайников
Теорема (формула) Байеса позволяет выяснить вероятность события при условии, что произошло связанное с ним другое событие.
Теорема позволяет рассчитать вероятность события, если причину и следствие поменять местами. Например, мы знаем распространенность симптома среди больных и здоровых. Значит, мы можем вычислить вероятность заболевания от наличия симптома.
Цивилизация Пружин, 5/5
Часть 5. В масштабе Вселенной
Предыдущая часть. Краткое содержание предыдущей части.
Для нас выход на околоземную орбиту очень дорог. А как обстоят дела с этим вопросом у других цивилизаций — если они, конечно, есть?
Программируй свое здоровье
Так как я сам новичок в программировании и сидячая многочасовая работа уткнувшись в монитор для меня вообще-то была нетипична, то через совсем короткое время я заметил небольшие изменения в своем здоровье... Появилась мысль, что несмотря на приличный заработок, со временем, придется значительно тратиться на лечение и поддержание своего здоровья. И тогда я задался вопросом: а можно ли организовать свою работу так, чтобы здоровье мое не ухудшалось, а наоборот - улучшалось? Часто, мы все время откладываем "на потом" тему здоровья, поэтому, надеюсь, что моя статья привлечет внимание и поможет вам сохранить его до глубокой старости!
Моя статья будет состоять из двух частей:
enum class и мой первый раз (использования Source Generator)
Приветствую.
Выбор между enum
и собственным классом перечислений в C# был для меня сложной темой. Но когда увидел enum class
из Kotlin, мое мировоззрение немного поменялось, я захотел иметь их в C#.
Но делать proposal мне не хотелось. И тут я вспомнил про генераторы исходного кода, добавленные в .NET 5, и решил, что пришло время их потрогать.
В этой статье я сфокусировался на проблемах и важных местах при разработке генераторов, нежели на создании туториала или восхваления полученного генератора (но все равно попробуйте)
Про FPV-квадрокоптеры. Введение
Не так давно случайно от человека, снимавшего на моих глазах видео с квадрокоптера DJI Mavic услышал про FPV, что он, мол, хочет такой себе квадрокоптер купить.
Почему, спрашиваю, у тебя же есть уже аппарат для съемки, чего не хватает? Что, там у FPV камера лучше?
Камера‑то хуже, но вот зато он может очень точно маневрировать очень близко около объектов съемки. Пролететь впритирку к дереву или к скале, залезь в любую дырку, кадры снять подинамичнее, поинтереснее.
Я и до этого заметил во время той видеосъемки, что управлять‑то DJI Mavic несложно. Но вот управлять тонко, точно вовсе не так уж и просто.
Слова того человека о точном маневрировании с квадрокоптером FPV мне понравились и я начать курить ту тему... Очнулся уже будучи владельцем нескольких квадрокоптеров FPV.
Поразило 2 аспекта: как это удивительно дешево (ну для опытного ИТ‑разработчика с соответствующей зарплатой) и как же трудно научиться им управлять (зато когда научишься, то ого‑го).
Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода
htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.
Три типичных мнения опытных игроков или «очередная донатная дро…льня»
Последние 15 лет я занимаюсь разработкой игр. Мне повезло поработать как в крупных корпорациях типа VK (Mail.Ru), так и побыть инди-разработчиком. А ещё я люблю игры и сам регулярно играю.
В этой заметке я хочу поделиться своими наблюдениями о том, какие распространённые заблуждения бывают даже у опытных игроков. Интересно, что большинство этих заблуждений разделяют в том числе начинающие разработчики, и я был не исключением. Давайте поймём откуда они появляются и почему так важно знать, как оно на самом деле.
Графы и программирование
Что положить в основу классификации графов, какие их признаки и свойства? Единственного правильного ответа на вопрос нет. Естественная классификация пока не открыта поэтому пользуемся искусственной, которая создается конкретным автором для решения конкретного круга задач. Полезными признаками часто оказываются такие как количество вершин, ребер, распределение степеней вершин и др. Важно, что удается разделить все множество графов на классы и дальше работать с ограниченным множеством, не рискуя потерять оптимальный объект.
Характеристика связности графов часто описывается достижимостью из некоторой вершины графа всех других, а очевидное средство такой достижимости – проложенный между парой вершин путь. Наличие множества путей, покрывающих вершины и\или ребра (дуги) графа, обеспечивает часто решение целевых задач таких, например, как минимизация контрольных точек или тестирование программ. Затрагиваются вопросы и цикломатической сложности графа.
Вопросы синтеза и исследования управляющих графов программ остаются пожалуй самым надежным средством отладки и совершенствования программ для ЭВМ. Третья статья цикла освещает кратко эту актуальную тему. Параллельно для внешних программ реализуется процедура выявления программных закладок и своевременно не удаленных контрольных точек.
Миллион одновременных соединений на Node.js
TL;DR:
- Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
- На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
- V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
- Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).
Книга «ASP.NET Core Security» в правильном переводе команды DotNetRu
Сообщество DotNetRu совместно с издательством ДМК Пресс договорились на доработку и проверку перевода очередной книги. Напомним, что мы уже помогли выпустить три книги: «Управление памятью в .NET для профессионалов» Конрада Кокосы, «ASP.NET Core в действии» Эндрю Лока и «EF Core в действии» Джона Смита. Издатель делает первоначальный перевод, а ребята из сообщества в качестве экспертов корректируют текст, придавая переводу оригинальный и непротиворечивый смысл.
Мы продолжили использовать хорошо зарекомендовавший себя подход — выделили каждую главу в отдельный документ, создали таблицу, в которой фиксировали процесс по каждой главе. С каждой главой независимо работали два-три редактора и предлагали свои правки. После чего отдельный редактор вычитывал главу и применял внесенные поправки к документу. Это позволило распараллелить работу и быть всем участникам максимально независимыми. После того, как перевод был готов, несколько редакторов прочли всю книгу и внесли финальные изменения.
Рады представить вам очередной результат совместных усилий: книга Кристиана Венца «Безопасность ASP.Net Core» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.
BULLY — шедевр Rockstar из нулевых, о котором забыли даже сами разработчики
ДОСТАВАЙТЕ НОСОВЫЕ ПЛАТОЧКИ, ОТКРЫВАЙТЕ ФОРТОЧКИ И УБЕРИТЕ ДЕТЕЙ ОТ ЭКРАНОВ… АВТОР ПРИВЁЗ ДВА КАМАЗА ТЕКСТА
«BULLY» (Она же Балли, Булли, Бычок, Хулиган, GTA в школе и 'Собака Собака Править') — видеоигра 2006 года от Rockstar Vancouver. Изначально разработанная на PS2, но лишь в 2008 добравшаяся до обладателей пекарных мастерских. А на данный момент в неё и вовсе можно поиграть уже на 8 разных платформах разных поколений: PC, PlayStation 2-3-4, Xbox 360, Wii, iOS и Android.
Копирование Wiki на этом, пожалуй, стоит закончить, ведь впереди будет написано очень много букаФФ.
Точечные фильтры: алгоритмы и их реализация
Фильтры играют важную роль в обработке изображений и сигналов, позволяя улучшить качество изображения, удалить шум, выделить интересующие области и многое другое. Существует несколько типов фильтров, используемых в цифровой обработке сигналов и компьютерном зрении. В этой статье мы рассмотрим точечные фильтры и изучим принципы их работы.
Для начала импортируем модули для дальнейшей работы с изображениями.
Мультяшная графика продаётся лучше реалистичной. Так ли это на самом деле?
Хочу поделиться статистикой по визуальным стилям, востребованным на разных платформах. Я с коллегами подготовил небольшое исследование и оценку разных арт-стилей в цифрах. Под востребованностью в данной статье я буду понимать не предпочтения игроков, собранные в опросах или иными методами, а объёмы продаж игр с тем или иным визуальным стилем.
Бесплатный VPN без ограничений для всех. За чей счет банкет. Часть II
В прошлом блоге я уже рассказывал о реализации бесплатного VPN в России и подробно описывал почему это нужно.
Сейчас я расскажу Вам все технические момент связанные с виртуализацией и подбором хостинга. Ну и самый интересный вопрос в комментариях был — за чьи деньги гуляем?
Мы не призываем использовать VPN в России, и точно так же не рекомендуем использовать его для посещения запрещенных в РФ ресурсов.
Как Kinect только Pinect
На мундиале 2018 году в России. Футбольные болельщики со всего мира могли бы увидеть и поиграть в наш отечественный игровой контроллер для писуаров. Не хочется писать по каким организационным причинам этого не случилось. Здесь я хочу рассказать как происходила разработка этого нестандартного игрового аппарата.
Google: «У нас нет преимущества перед открытым кодом, и у OpenAI тоже нет»
Утекший внутренний документ Google утверждает, что открытый исходный код AI обойдет Google и OpenAI.
В Google много обсуждали OpenAI. Кто первым преодолеет следующий рубеж? Каким будет следующий шаг? Но неприятная правда заключается в том, что мы не готовы выиграть эту гонку вооружений, и OpenAI тоже. Пока мы ссорились, третья сторона тихо забирала наш обед. Я, конечно, говорю об открытом исходном коде. Проще говоря, они опережают нас. То, что мы считаем "основными открытыми проблемами", уже решено и находится в руках людей. Достаточно назвать лишь несколько примеров...
Information
- Rating
- Does not participate
- Registered
- Activity