Pull to refresh
9
0
Василий @binque

был(а) 15 минут назад

Send message

Gemma 3 — хорошая модель, но она не обучена для использования инструментов. Можно просить написать ее код в режиме чата, но она не отредактирует код в IDE сама. А есть ли стоящие локальные модели для таких целей? Или инструменты нормально работают только на мощных облачных моделях?

Есть открытый проект Letta — фреймворк для написания ИИ-агентов. Умеет запускать команды в цикле; есть оперативная память, которая модифицируется и добавляется в каждый промпт; старые сообщения может доставать из персистентного хранилища. Также можно сделать параллельного агента, который будет запускаться каждые N сообщений в диалоге, анализировать переписку и сохранять выводы в память — похоже на обработку информации во сне.

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

Спасибо за ссылку. Очень понравилась статья, потому что полностью подтверждает мое собственное мнение. Только что-то не вижу, а кто автор? Насколько можно доверять его экспертизе в области ИИ?

не могу представить как можно недоплатить 3 копейки

У меня пару раз были счета и в 1 копейку. Это просто накопленные пени за несколько дней просрочки.

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

Изначальный промпт мне тоже сгенерировал ИИ, как и весь код телеграм-бота, потом я еще подправил. Прошу ИИ сначала порассуждать, чтобы оценка получилась точнее. Добавил перевод на английский, так как это Llama, и с английским она работает лучше. Получилось так:

You are a content moderation AI assistant. Your task is to analyze messages for inappropriate content and assign a violation probability score from 0.0 to 1.0. Reply only in English.

Follow this analysis structure:
1. First, list any detected issues in these categories:
   - Toxicity and hostile behavior
   - Insults and harassment
   - Hate speech and discrimination
   - Threats and violence
   - Illegal content
   - Adult content
   - Spam/malicious
   - Personal information
   - Cyberbullying
   - Misinformation

2. Rate the severity of each detected issue (if any):
   - None (0.0)
   - Mild (0.3)
   - Moderate (0.5)
   - Severe (0.7)
   - Extreme (1.0)

3. Consider contextual factors:
   - Intent (casual/malicious)
   - Potential harm
   - Target audience impact
   - Cultural context

4. Calculate final score:
   - 0.0-0.3: Safe content
   - 0.3-0.7: Potentially problematic
   - 0.7-1.0: Clearly violating

Respond in this exact format:

TRANSLATION:
[Translate the text into English]

ANALYSIS:
[Write your detailed analysis here]

DETECTED ISSUES:
[List main issues found]

SEVERITY ASSESSMENT:
[List severity of each issue]

CONTEXTUAL FACTORS:
[List relevant context]

FINAL SCORE: X.XX

И весь код можно посмотреть тут. Можете пользоваться, если кому надо, и буду благодарен за советы и дополнения.

Объясните, зачем выделять случайные слова в текстах новостей курсивом и полужирным шрифтом? Это какая-то новая мода на смену оТжИмАнИяМ?

Какую модель лучше взять для русского языка?

но вот эти ухмылки и прочее — почти наверняка артефакты обучения через Reinforcement Learning. Зачем бы это кто-то писал в цепочке рассуждений?

Модель ведь не обучали с нуля только на цепочках рассуждений. Сначала, как и раньше, ей нужно было передать знания и заставить запомнить статистические зависимости между токенами, обучив на текстах интернета. Оттуда и остались эти "хммм". Лишняя трата ресурсов, от которой модель не смогла избавиться. Есть подозрение, что это вообще не новая модель, а только файн-тюнинг старой.

То есть, сначала модель независимо генерирует десятки решений, затем из каждого выделяется ответ, и тот, который получался чаще других, становится финальным — именно он сравнивается с «золотым стандартом».

Интересно, а почему нельзя добиться того же за один проход подстройкой параметров генерации вроде температуры или топ-к?

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

Это каких инструментов, например?

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

Пользуюсь pongo2. Синтаксис и возможности соответствуют Django с некоторыми небольшими исключениями. Описанные в статье функции тоже поддерживаются. Пользоваться удобно. За годы использования написал для себя еще несколько расширений.

Даже не глядя на экран. Придумайте лучше UXUI..

Легко. У меня на Андроиде настроено переключение между двумя последними приложениями через горизонтальный свайп от края экрана. Это лучше тем, что

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

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

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

Пользуюсь этим репо, много полезного и интересного: https://prompts.chat/. По ссылке на BotHub эти промпты сперли с переводом на русский. Но лицензия вроде позволяет

Раз тут такая тема, можете объяснить, почему Яндекс Музыка на запрос oEmbed возвращает капчу? Например, по этому адресу. Через браузер все нормально, через curl — нормально, программно на Go — капча. Это же JSON API, туда и должны идти только автоматические запросы. Или он какой-то секретный?

Я про это и говорю. Я могу создать какой-нибудь свой класс MyVariantMap и потом добавить конвертер через QMetaType::registerConverter<MyVariantMap, QVariantMap>(). Тогда вызов QVariant::fromValue(MyVariantMap{}).canConvert(QVariant::Map) будет возвращать истину, хотя внутри лежит не QVariantMap. Поэтому метод canConvert() для этой цели использовать нельзя.

Давно не писал на Qt, но вроде проблема из-за использования именно класса QVariantMap. Вот так должно работать:

QMap<QString, QMap<QString, QMap<QString, QVariant>>> map;
map["map1"]["map2"]["prop"] = "value123";

Но это если вы всегда храните значения только по такой структуре дерева.

Также у вас будет неопределенное поведение, если в значении лежит не QpMap<QString,QVariant>, а другой тип, который может конвертироваться в него. Лучше смотреть, какой конкретно тип лежит в QVariant, используя QVariant::userType() или схожие методы.

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

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

Желаю скорейшего и полного восстановления здоровья.

Правило 1: успешный успех не сделает вас счастливыми. Вся остальная статья: как правильно добиться успешного успеха. Я потерял логику.

Я не делаю один единственный выбор, и на данный момент не вижу в этом проблемы. С 8 до 17 я работаю разработчиком, а вечером и в выходные могу рисовать наброски, фотографировать птиц, писать пет-проекты, ходить на какие-нибудь курсы актерского мастерства. Сегодня мне интересно делать одно, а через месяц будет интересно другое. Это еще у меня семьи нет, а так на нее будет уходить время, а не на достижение своих целей.

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

Лучше я через десять лет оглянусь назад и скажу: "Я сделал очень много интересного, это были счастливые десять лет", чем "Да, это были полные боли и страданий годы, но зато теперь я больше зарабатываю". Я и так зарабатываю сильно больше.

Также практически теряет смысл сравнение себя с другими. Если кто-то достиг большего успеха, чем я, то практически всегда это результат одной из двух причин. У него изначально могли быть лучшие возможности. Но от меня не зависело, где родиться или какие иметь врожденные способности. Либо он ради достижения своей цели отказался от чего-то другого, что было у меня. Если так, то тут уже вопрос, кто в своей жизни сделал лучший выбор.

Тут еще, кстати, получается проблема, что темы статей за эти годы частично сместились. Может получиться, что всем статьям про нейросети, например, будет выдаваться высокий процент генеративности. Просто потому что в 2020 году нейросети обсуждали намного реже

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

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

  • Как-то сумбурно получилось.

  • От слова «совсем».

  • Поясню.

  • Еще раз.

  • Простите, накипело.

  • Ничтоже сумняшеся

Это мои наблюдения, не утверждаю, что я точно прав. Никакой пункт в отдельности ничего не гарантирует, но повышает вероятность. Ожидал увидеть в статье исследование, а не просто подсчет двоеточий и звездочек.

Было бы интересно взять хотя бы по несколько сотен точно авторских и точно искусственных статей и обучить на них нейросеть для классификации. Или хотя бы использовать TF-IDF. Или что-то другое из машинного обучения. А потом ждем расширение для браузера, которое будет делать пометки к статьям.

Где взять точно авторские статьи — отобрать вручную из популярных постов или просто взять посты, написанные несколько лет назад. Где взять точно сгенерированные статьи — отобрать вручную или просто сгенерировать свои.

Information

Rating
6,466-th
Location
Белград, Белград, Сербия
Registered
Activity