Задать вопрос
  • Почему выдает ошибка о том что индекс вышел за пределы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Видимо, потому, что массив zombies недостаточно большой.
    Ответ написан
    3 комментария
  • Какая модель LLama лучше для использования в telegram?

    @rPman
    Какая? llama3-70b наилучшая из открытых (те что можно запустить у себя), или command r+. Так же хорошие открытые модели основанные на mixtral (mixtral-8x22b). llama3-8b тоже не плохая для своего размера (запустится на 8-16Gb десктопных видеокартах).
    https://chat.lmsys.org/?leaderboard

    Llama это модель, она ничего не может, это файл на диске. Для того чтобы модель работала тебе нужна программа, например с гитхаба официальный пример на python (он очень простой, там буквально 5-10 строчек)

    Не рекомендую прямо в боте telegram вставлять работу с gpt, т.е. это можно и даже будет работать но помятуя что у gpt высокие требования к железу (оперативная память) это будет не эффективно.

    Готовый сервер идет в поставке с llama.cpp (запросы api по http), он же умеет обрабатывать одновременно несколько запросов (по умолчанию 10 одновременных потоков кажется) так же есть возможность самому собирать запросы в пакет и отправлять одним запросом в сервер, он все обработает и вернет, и по скорости это будет быстрее чем каждый по отдельности (особенно когда работа на gpu).

    Программирование ботов gpt - это придумывание запросов на естественном языке, которые дополняются данными от пользователей или еще какими (например обычный запрос в классическую базу, вываливая в промп тупо текстом, к примеру csv форматом). У тебя ограниченное количество ресурсов, маленькое окно контекста (у llama это 8к токенов) и в попытке все туда уместить и приходится что то поверх городить. тупой пример - если ты будешь весь чат пихать в контекст, уже через 20-30 сообщений он переполнится, и нужно будет принимать решение что и как выкидывать.

    А еще llama любит отвечать лишнее, т.е. ты ее просишь ответь числом, а оно отвечает - ваш ответ 3... вот эти 'ваш ответ' нужно как то выявлять. А еще модели лучше работают, если просить их по рассуждать, она тебе даст рассуждения, тебе они нафиг не нужны, как из них результат вычленить? Иногда можно отделить мусор от ответа, попросив его дать в каком то формате, например дай ответ в формате json, а так как запрос к gpt это часть беседы в форме чата, можно дать часть ответа прямо в промпте, например "...assitent: {" тогда у модели не останется варианта как сразу фигачить json.

    Но чем больше ограничений ты даешь модели тем хуже ее качество ответов.

    У llama.cpp есть механизмы задания gramma формата ответа, какие токены предпочтительнее и в каком формате, говорят не идеально реализовано (например не получится задать варианты ответов списком слов типа отвечай только название цвета 'красный', 'зеленый', 'желтый', 'другое',..)
    Ответ написан
    Комментировать
  • Как написать функцию, которая принимает цифру и возвращает число прописью?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Правильная идея.
    Объект, в котором каждая цифра будет ключом для четырёх значений - текст для единиц в мужском и женском роде, текст для десятков и сотен. Дополнительно текст для чисел 10-19.
    Объект, в котором номер триады будет ключом для склонений и рода (тысяча, тысячи, тысяч, ж).
    Функция, которая переводит триаду (три цифры) в текст нужного рода (м/ж).
    Функция, которая по числу выбирает склонение (одна тысяча, две тысячи, одиннадцать тысяч).
    Основная функция, которая разбирает число на триады, для каждой вызывает две другие функции и склеивает всё в строку.
    Ответ написан
    2 комментария
  • Как правильно использовать материалы под лицензией CC BY-NC-SA 4.0:?

    1) Использование части такой статьи в видео или тексте, которые размещены в свободном доступе и любой может получить к ним доступ, но в видео или статью встроена реклама чего-то

    Раз в видео встроена реклама - значит видео создано для получения прибыли.
    Раз видео создано с целью получения прибыли - значит это коммерческое использование.

    2) тоже что и в первом случае, но есть ссылки на донаты типа бусти/патреона

    Бусти и патреон - это не пожертвования, так как донатеру/подписчику обещают что-то взамен.
    => Контент, который публикуется на патреоне с ограниченным доступом считается коммерческим.

    Но наличие ссылки на донат вроде как никчему не обязывает, но это прям тонкая грань.
    3) Просто использование ссылки на эту статью в платных материалах, без использования текста этой статьи

    Ссылка на статью не тождественна самой статье. => Ты спокойно можешь в коммерческой статье ссылаться на статью с некоммерческой лицензией.
    Ответ написан
    Комментировать
  • Как конвертировать через обобщение в c#?

    WNeZRoS
    @WNeZRoS
    Вам нужен .NET 7 или новее чтобы воспользоваться интерфейсом IParsable.
    public static void Input<T>(T[] nums) where T : IParsable<T>


    (ref в параметре не нужен при таком использовании внутри, массив это ссылочный тип)
    Ответ написан
    3 комментария
  • Почему в Unity очень низкое качество?

    @DrRen7
    Ну так есть сцена где ничего не работает вы выдается минимальная картинка что бы уменьшить нагрузку, и уже сцена из камеры (Game) и там уже примерно как будет выглядеть игра главное scale не трогать он обычно идет какой то % от вашего максимального.
    6630eb3675934289363681.png

    Да и юнити модульный нужна графика по лучше надо поменять рендер. Не все просто работают с графикой по умолчанию стоит стоковый рендер даж без пост процессинга(ну условно).
    6630eccd79058590022310.png
    Ответ написан
    1 комментарий
  • Возможно ли на винде написать программу дешифровки?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    c# криптография
    c# управление файлами
    c# управление правами доступа
    c# низкоуровневое программирование

    ps а также:
    - на винде не пишут, пишут на языках. и возможности свежих версий шарпа велики
    - если думаете о дисках, тогда VeraCrypt, BitLocker, или атрибут шифрования файловой системы
    - работа с дисками сеансовая VeraCrypt, иначе уроетесь в производительности
    - не зависимо от языка (его "низкоуровности") попытка декодировать/кодировать, на каждое обращение.. это еще грустнее в плане производительности
    Ответ написан
    Комментировать
  • Можно ли узнать список почтовых ящиков в моем собственном домене?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В общем случае увидеть список адресов нельзя, иначе этим вовсю пользовались бы спамеры.
    Проверить наличие ящика можно подключившись по SMTP и начав отправку письма на конкретный адрес. Если будет получена ошибка, то адрес не существует.
    Если домен ваш и почтовый сервер управляется вами, то можно посмотреть, откуда берутся адреса (например, из AD) и дальше уже получить доступ к этому хранилищу в PowerShell.
    Ответ написан
    Комментировать
  • Как отобразить несколько точек на яндекс картах?

    @Delta01
    @de1ta01 пиши, помогу с вёрсткой =)
    Так, а зачем вы создаете второй раз карту?!
    ymaps.ready(function () {
    	let ymap = document.querySelector('.contacts__map');
    	let coordinates = ymap.getAttribute('data-coordinates');
    	let address = ymap.getAttribute('data-address');
    
    	let myMap = new ymaps.Map('ymap', {
    		center: [53.2584970, 50.2369070],
    		zoom: 16
    	}, {
    		searchControlProvider: 'yandex#search'
    	});
    
    	let myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
    		balloonContent: address
    	}, {
    		iconLayout: 'default#image',
    		iconImageHref: WPJS.siteUrl + '/assets/img/common/marker.svg',
    		iconImageSize: [40, 63.2],
    		iconImageOffset: [-50, -38]
    	});
    
    	let myPlacemark2 = new ymaps.Placemark2(myMap.getCenter(), {
    		balloonContent: address
    	}, {
    		iconLayout: 'default#image',
    		iconImageHref: WPJS.siteUrl + '/assets/img/common/marker.svg',
    		iconImageSize: [40, 63.2],
    		iconImageOffset: [-50, -38]
    	});
    
    	myMap.geoObjects.add(myPlacemark);
    	myMap.geoObjects.add(myPlacemark2);
    
    	myMap.behaviors.disable('scrollZoom');
    });
    Ответ написан
    1 комментарий
  • Как обнаруживается нарушение лицензионных соглашений в ПО?

    1. По косвенным признакам (например ты статически слинковал какую-то библиотеку под вирусной лицензией). Потом твой клиент написал кляузу владельцам этой библиотеки и они подают в суд - далее в суде ты обязан будешь предъявить свои исходники на экспертизу.

    2. Сотрудники могут разгласить это.

    3. Косвенно по специфике работы - если эта библиотека очень специфичным способом работает, обращается к каким-то специфически названным ключам в конфиге, то тогда тоже можно обратиться в суд и потребовать проверку

    4. Библиотека уникальная и де-факто является единственным способом решения какой-то задачи (редкий кейс)

    5. Некоторые библиотеки могут помазать свой код телеметрией

    6. Сотрудники твоей компании могут начать контрибутить в эту библиотеку - если это увидят, то тогда закономерный вопрос - а не получают ли они зарплату за это.

    В любом случае лучше не рисковать - уже есть случаи судов по поводу нарушения свободных лицензий.
    Помни, что ты всегда можешь стать прецедентом, если вдруг нарушишь.
    Ответ написан
    3 комментария
  • Какие есть годные сайты/программы для процедур OSINT?

    @ewgenc
    Статей по различным инструментам OSINT даже на habr полно. За то, что вы хотите, попросят денег (возможно много денег), и без всяких гарантий.
    Ответ написан
    Комментировать
  • Как реализовать обучение нейросети в реальном времени?

    @dmshar
    Вам подойдет любая книга, где рассматривается работа нейросетей. Это касается "обучения НС с нуля". По сути, на этапе обучения НС получает ОГРОМНОЕ количество примеров, циклически обрабатывая которые, по много раз возвращаясь к началу обучения, через очень много циклов она начинает более-менее правильно решать задачу. Когда вы хотите это сделать он-лайн, причем ей на вход примеры будут насыпать "в час по чайной ложке" (а так и будет, если сравнивать скорость работы компьютеров и скорость подачи примеров людьми, даже если таких людей вы заставите работать не отходя от компьютера и наберете хоть пару сотен), то ваша НС через пару лет будет лепетать на уровне двухлетнего ребенка, потом еще пару лет на уровне трехлетнего. На более менее приемлемый уровень ("писать и обрабатывать объёмные тексты") она выйдет очень и очень нескоро. Если у вас цель понять, как учиться ребенок - то вот так это и происходит. А вот если у вас цель сотворить что-то реальное - то этот путь тупиковый и очень затратный.
    Вот, хваленый СhatGPT когда только появился выдавал такой - в прямом смысле "детский лепет". Так это его предварительно обучали на миллиардном корпусе входных данных, на супермощных компьютерах и не один год(!). А вы хотите "с нуля" с ним посоревноваться?
    Но если вас интересует просто попытка разобраться в том, как НС генерируют осмысленный текст ("хотя бы какую-нибудь наводку, книгу, статью" - т.е. у вас вообще нет понимания, как НС работают по разбору и генерации текстов) - то вот можно начать, например, отсюда:
    https://habr.com/ru/companies/ods/articles/716918/ - это вообще-то полуразвлекательное чтиво, но некоторое представление дает.
    https://habr.com/ru/articles/739014/ - тут уже посерйозней.
    Но вообще-то уже начали выходить даже книги по ChatGPT (правда - в основном на английском), а по методам работы с текстовой информации - их вообще уже куча, на разный уровень читателя и с учетом различных его интересов. Ключевое слово для поиска "NLP - Natural Language Processing".
    Удачи!
    Ответ написан
    Комментировать
  • Как импортировать переменную из одного файла в другой чтобы она сохранила свое значение?

    GavriKos
    @GavriKos
    С# не оперирует файлами. Он оперирует классами и их экземплярами.
    Создайте экземпляр класса, и везде где будет этот (именно этот) экземпляр и будет нужное значение.

    Если то что написано выше непонятно - открывайте учебник по шарпу и учите. Это база
    Ответ написан
    6 комментариев
  • Как организовать отслеживание транспорта (автобуса)?

    @pfg21
    ex-турист
    все очень просто, покупаешь на каждый мобиль жпс-маяк
    варианты вот здесь неплохо собраны
    https://club.dns-shop.ru/blog/t-272-drugie-avtotov...
    вариант2: сам костылишь систему
    Ответ написан
    Комментировать
  • Как понять эти селекторы?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    К элементу у которого есть оба класса:
    <div class="class-1 class-2">
        Some text
    </div>

    Если бы между ними был пробел .class-1 .class-2 тогда стиль применялся бы к .class-2 который находится внутри .class-1
    <div class="class-1">
    	<div class="class-2">
    		Some text
    	</div>
    </div>
    Ответ написан
    Комментировать
  • Unity не считывает курсор мыши. Что делать?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Где присвоение значения полю Lookpoint?
    Ответ написан
    Комментировать
  • Персональный гугл, если ли?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Для того, чтобы просканить интернет, нужно для начала иметь список интернет-сайтов и страниц на них. Это уже огромный объём информации, которую поисковики накапливали годами и поддерживают в актуальном состоянии.

    Но даже если такой список есть - по нему ещё надо пройтись. Потратив уйму времени на скачивания этих миллиардов страниц. И возможно в итоге получить 0 результатов. А на следующий запрос начинать скачивать всё то же самое заново повторно.

    Надеюсь, общий ход мысли теперь понятен? "Персональный поисковик" имеет смысл в лучшем случае для поиска по ограниченному подмножеству сайтов. Вероятно, узкоспециализированной тематики. Например, занимаешься вопросами производства изделий из титановых сплавов, заводишь себе список сайтов по тематике: форумы, блоги, сайты производителей, сайты научных журналов по теме... И даже для такого имеет смысл строить собственный поисковый индекс, а не качать тысячи страниц на каждый запрос.

    А искать по всему интернету в личных целях могут только настоящие поисковики. Ну вот можно разве пытаться их результаты обрабатывать и фильтровать, но это уже не будет поиск своими силами.
    Ответ написан
    1 комментарий
  • Персональный гугл, если ли?

    Daemon23RUS
    @Daemon23RUS
    Краулер, который ходит по интернетам и ищет сам, то о чём я его попросил

    Боюсь, что ответ Вашего частного поисковика придется долго ждать. Обратимся к цифрам: сейчас порядка 2 млрд. сайтов ( обратите внимание на то что это сайты, а не страницы, коих на многих сайтах десятки, сотни, тысячи а на части на порядки больше) предположим, что ваш краулер пожирает сайты по 10 шт в секунду (со всеми страницами), так вот ждать ответа придется лет 7.
    И это мы опустили трафик, который сожрет краулер. А там все за гранью не то что домашнего сервера, а не все страны потребляют такой объем.
    P.S. Тут вопрос не в алгоритмах или коде, вопрос в объеме "перевариваемой" информации
    Ответ написан
    3 комментария
  • Как синхронизировать Input с FixedUpdate?

    @p4p
    Проверяй нажатие в update, создай флаг прыжка и ставь в его в тру. В fixedupdate если флаг прыжка тру и другие условия выполнены совершай прыжок переключая флаг в фолс.
    Ответ написан
    1 комментарий
  • Актуален ли ассемблер на сегодняшний день?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ассемблер полезен при анализе прошивок на безопасность.
    При изучении того как работает софт без исходного кода (обратный инжинеринг)
    и при решении задач интеграции разных слоёв софта.

    Ассемблер также очень близко стоит к разработке компилляторов. И если у вас нет
    соотвествующих знаний то строить свой компиллятор вы не сможете. Или вам нужно
    будет изучать готовые back-ends, virtual-machines.

    Ассемблер помогает при анализе узких мест в коде. В частности например
    векторизация вычислений ставит в первую очередь вопросы на которые ассемблер
    отвечает а ЯВУ - нет.

    Знания ассемблера помогают сделать бинарник компактнее. Это важно при разработке
    встраиваемых систем.
    Ответ написан
    Комментировать