Обновить
8K+
-13
Марина@Smartor

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

-1,3
Рейтинг
1
Подписчики
Отправить сообщение

 за 3$ в месяц это же 10млн токенов?

Примерно 25 тысяч операторов связи, можно мочить их несколько лет ещё, чтобы осталось 2-3 на всю страну. /s

У тех, кто локально у себя на компе модельки запускает, наверно экономика тоже не сходится, залазят в миллиардные долги:)

Я не автор, но имею что сказать:)

Через веб интерфейс у вас работа в стиле копи-паст, а при работе в программе типа opencode и подобных, нейросеть сама пишет код в файлы, сама тестирует и исправляет, вам только руководить процессом и исправлять косяки, опять же через нейросеть, возможно другую:)

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

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

Роль локальной генерации - это относительно простые задачи.

Что-то про жабу с гадюкой:)

ЗЫ Теперь бот сохраняет URL из входящих сообщений, но нейросеть по ним всё ещё не пойдёт:)

Пропадают символы из текста. Это меняет смысл текста. Пропадают целые куски текста - урлы из ссылок.


Ни одна нейросеть сама ничего искать в интернете не умеет:) Для этого она использует сторонние инструменты.
В боте для поиска в интернете есть команда /поиск, вообще почитайте про функции бота по команде /info

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

И да, сейчас бот удаляет все HTML теги из входящего текста пользователя. Если пользователь отправляет ссылку в формате HTML (например, <a href="...">...</a>), она будет удалена. Потому, что зачем посылать ссылки и теги, которые нейросеть не сможет обработать, при текущих условиях (системный промт)? :)
Для корректной работы со ссылками "как в чате в браузере" нужно усложнить логику работы с входящим текстом от пользователя.

Но проблему со ссылками вы хорошо "подсветили", спасибо:) В ближайшее время займусь более аккуратным учётом ссылок при "разрезании" больших сообщений на куски и при режиме plain text.

Сейчас выдачу по поиску (по команде /поиск ) другие "персонажи" бота не видят. Можно, конечно, сделать, чтобы видели.

Конвертировать нестабильный маркдаун от ллм в строгий маркдаун для телеграма сложно но можно.

Теоретически, конечно, можно:) Но это большая сложность без особого смысла.


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

Ллм со стримингом так умеет делать и это реализовано на всех оригинальных сайтах
Ну так на САЙТАХ работает БРАУЗЕР, про отличие браузера от среды Телеграма я тоже писал выше в комментарии.

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

Продолжить что? Ответ от нейросети при остановке ПОТОКА будет прерван. Нейросеть закончила ответ и разорвала соединение, откуда мы возьмём продолжение ответа? Его просто нет в природе, мы же остановили нейросеть. Продолжить общение при прерывании стриминга будет можно, конечно. Для продолжения стриминга - только эмуляция его работы при получении и сохранении полного ответа на сервере.

Невозможно сравнивать телеграм-бот с сайтом в браузере или с программой типа Claude Code или Opencode, т.к. Телеграм это очень ограниченная среда. Да, там можно делать мини-приложения, но ИМХО проще уж запустить полноценный фронтенд с чат-ботом.

Про маркдаун в запросе.
LLM по сути работает с сырым текстом, маркдаун для неё просто набор символов (#, **, ``` и т.д.). Она не “видит” форматирование как человек.

Для "понимания" маркдауна нужно, во-первых, отключать предобработку запроса, и во-вторых, надо дать пользователю возможность задавать свой системный промт для работы, где будет явно описано использование маркдауна как семантической разметки, чтобы все нейросети точно понимали, что от них хотят. Это реально сделать, просто никому не было нужно:)

куски текста из него пропадают.

Ничего не пропадает, кроме разметки, по поводу её см. предыдущий абзац.

Исходящий она тоже портит.
Не портит, а отображает так, чтобы это выглядело нормально. Маркдаун в понимании Телеграма и вывод результатов от LLM это вообще разные вещи. Так что просто "пробросить" вывод LLM в Telegram не выйдет - будут либо ошибки парсинга, либо кривое отображение. Именно для этого разметка переделывается на html и упрощается, это не влияет на контент как таковой.

Или вы про использование Телеграм ботов для программирования? Боюсь, у меня для вас плохие новости:) Запросы на программирование с LLM требуют делать вывод в страницу в браузере или в программу, которая даёт вывод в браузер, Телеграм для этого не подходит.

Проблемы Телеграма для программирования:

  • ❌ Нет нормальной подсветки синтаксиса

  • ❌ Нельзя запустить код

  • ❌ Нет интерактивной отладки

  • ❌ Сложно копировать/вставлять большие блоки

  • ❌ Нет визуализации (графики, HTML, диаграммы)

  • ❌ Ограничение по длине сообщений

Что даёт браузер:

  • ✅ Syntax highlighting

  • ✅ Code execution (REPL, песочницы)

  • ✅ Интерактивные элементы

  • ✅ Визуализация результатов

  • ✅ Markdown/документация с предпросмотром

  • ✅ Копирование без искажений

Телеграм хорош для:

  • Уведомлений

  • Быстрых команд

  • Простых запросов

А для программирования — веб-интерфейс.
Что тоже можно, конечно, добавить:)


Что за tts используется в @Vika_talk_Bot ?

Бот умеет расшифровывать голосовые сообщение в текст (STT) и передавать их в нейросеть и озвучивать сообщения от нейросети (TTS). Для TTS и STT сейчас используются сервисы Яндекса.


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

Давайте не будем путать сущности:)

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

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

1. Получаем полный ответ от LLM

2. Показываем его кусками через editMessageText с интервалом

3. Пауза/продолжение — просто управление таймером показа (кнопка в инлайн-клавиатуре)

Преимущества такого подхода:

- Полный контроль над показом (пауза, продолжение, ускорение)

- Легко отменить текущий показ при новом сообщении

- Не требует остановки LLM

Ограничения:

- Юзер всё равно ждёт полный ответ от LLM до начала "стриминга"

- Нельзя прервать саму генерацию, только показ готового текста

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


  1. Стриминг для визуального фидбека.

  2. Параллельное накопление полного ответа в памяти.

  3. По завершении генерации — финальное редактирование сообщения целиком (или отправка частями, если длинное).

    Я именно так и сделал, и огрёб кучу совершенно странных глюков, в итоге плюнул и выпилил стриминг:)

    Streaming + промежуточное редактирование сообщения (метод edit_message_text) — это способ сказать пользователю: «Я работаю, видишь? Буквы бегут». Это не решение таймаута, а маскировка задержки под активную работу.

    Можно посылать промежуточное сообщение, а финальное - заменой или новым.

    Вообще, не сочтите за рекламу, просто проще показать, вот мой бот в телеге@Vika_talk_Bot

Вся эта длинная статья про то, что когда способом разграничения доступа является промт для нейросети, то это дыра в безопасности:)

"Предложите что работает. " - знал бы прикуп, жил бы в Сочи :) (с)

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

"Функциональный вызов (Function Calling) для расширения возможностей"

Можно также сделать командами, это надёжнее и защищает от пространных запросов и "от дурака".

Грабли №1: 429 ошибка в пятницу вечером
Решение: используйте rate limiter на стороне бота:

Это вообще не решение, что оно решает? Решение проблемы - это использование другой модели (даже "других моделей") при ошибках типа "нет доступа".

Грабли №2: Таймауты от Telegram

Telegram ждёт ответ от бота 10 секунд. Если Gemini думает дольше, вы получите таймаут и пользователь увидит ошибку. Решение — показывать промежуточные сообщения или использовать streaming

Это потому что вы неправильно делаете. Зачем вам потоковое соединение? Получили ВЕСЬ ответ от нейросети, сохранили(!), переслали сохранённое в чат. Так у вас будет контроль на каждом этапе. Если сообщение слишком большое - аккуратно разрезали на части, применили обработку незакрытых тегов, отослали в чат по частям. Ведь у вас бывают большие сообщения, или вы просто зажали длину ответов количеством исходящих от нейросети токенов?:)

Про стриминг - это тоже не решение "проблемы 10 секунд". Это про красоту (но стриминг нравится не всем) .
Стриминг работает хорошо при нормальных условиях, а при работе через средства обхода блокировок, он может прерываться, или зависнуть, или идти больше 10 секунд у клиента - и что вы будете делать в таком случае, как это обрабатывать? Вам всё равно нужен будет запасной план из сохранённого сообщения с предобработкой (см. предыдущий абзац). К тому же, для "показывать промежуточные сообщения" в Телеграме тоже есть свои лимиты, при любом сбое в сети или в телеграме вы легко получите каскад проблем. Я не знаю, может, Aiogram как-то сам с этим разберётся, но сомневаюсь.

Для предотвращения состояний гонки - везде, абсолютно везде используйте очереди выполнения, длинные сообщения не зажимайте лимитами, а режьте на куски с валидацией с аварийным fallback на текст без тегов, всегда имейте варианты на отказ API и отказы любого этапа работы. Относитесь к сетевым ресурсам как к ненадёжным элементам :)

Удачи в разработке:)

" Проблема в том, что открыв сайт https://www.forexfactory.com/calendar там тупо буквы: нужно содержимое сайта вывести на график и посмотреть, а реально ли эта графомания даёт PnL " - это не проблема, есть новостные индикаторы, которые рисуют разметку в торговом терминале.

"Мне всё равно, гугл это, bloomberg или wsj. Хоть приватный телеграм канал с сигналами, подключеный по MCP. Главное чтобы деньги приносило, а ждать месяц в paper делает перебор хорошего источника невозможным " - это так не работает:)

"Другая LLM выжимает сантимент следующим образом " - то же самое, системным промтом:) Вы ищете слишком простые решения, но они, конечно же, не работают.

Таблицу экономических новостей можете посмотреть например на https://www.forexfactory.com/calendar и даже поставить себе на телефон программку:) А для мнений банковских аналитиков есть https://www.investing.com/news

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

Искать какой-то инсайд в выдаче по незамысловатому запросу от Tavily ИМХО бессмысленно, так как она выдаёт суммаризированную AI выжимку по своим политкорректным алгоритмам, причём из источников, которые свои источники уже переработали. Вы же хотите какой-то инсайд поймать, значит вашими же словами "Нужен векторный поиск по новостям. Его легко реализовать используя Scrapy + PostgreSQL + PgVector или Scrapy + MongoDB Atlas Vector Search. См. VectorEmbeddings + Cosine Distance.  ". Но не просто парсить новости и искать косинусные расстояния между словами, а какая-то ещё "изюминка", которая даст вам статистическое преимущество в торговле. У вас сейчас - есть статистическое преимущество?

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

Учёный в Средневековье.

Плюсы: ты учёный.

Минусы: на костре печёный.

(с)

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

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

Обычные покупатели инференса и сверхбогатые инвесторы в инфраструктуру с удовольствием готовы оплачивать весь этот кордебалет, так как все новые модели критично лучше старых, причём у всех производителей моделей.

Думаю, в ближайшие годы будет ситуация примерно как "iPhone  vs Andriod phone", то есть, американская тройка лидеров + китайские нейросети, причём, у Китая будет примерно 80% мирового инференса, но 80% прибыли и инвестиций пойдут американцам.
А потом производители железа, возможно, наконец-то начнут делать нормальные железки для локального запуска моделей среднего уровня (я надеюсь) :)

Просто хорошая халявная модель, вот на неё все и переключились. При бесплатном периоде у Qwen 3.6 он вообще почти весь openrouter на себя перетянул:)

Так уже начали выкладывать.

На другом аккаунте статья на эту тему три дня висит на модерации.

А, теперь понятно:)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

Специалист
От 1 000 000 ₽