Telegram Web Link
🤖 Токены для LLM: byte pair encoding на Go

Основной элемент в современных языковых моделях — это токен. Новые захватывающие LLM обладают длинными контекстными окнами, измеряемыми миллионами токенов.

🤔 Но что это такое?

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

Полученная реализация не нацелена на скорость, но она совместима с библиотекой tiktoken от OpenAI и генерирует идентичные результаты, работая с теми же файлами словаря.
Please open Telegram to view this post
VIEW IN TELEGRAM
🧰🚀 Sonic — Go-библиотека для асинхронной сетевой и I/O разработки, которая предоставляет согласованную асинхронную модель с упором на достижение минимально возможной задержки в Go (не путайте с одноименным инструментом для ведения блогов или JSON-библиотекой).

👩‍💻 Исходники библиотеки открыла компания Talos, специализирующаяся на торговой инфраструктуре. «Sonic — это альтернатива пакету net. Она устраняет необходимость использования нескольких горутин для обработки нескольких соединений и операций чтения/записи в одном процессе».

🔗 Подробнее & GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🖼️ Обработка ошибок при написании REST, gRPC или других сервисов на Go: алгоритм от Jonathan Hall

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

Автор предлагает алгоритм, в котором ошибки обрабатываются более естественным и эффективным способом. В нём функции обработчика могут просто возвращать ошибку, и «правильные» действия будут выполнены автоматически: ошибка будет правильно преобразована и отправлена пользователю, а также будет установлен соответствующий HTTP-статус.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🏃 🏃 🏃 Самоучитель по Go для начинающих. Часть 12. Обобщенное программирование. Дженерики

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


👉 Читать гайд

📌 Остальные части в серии:

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
👩‍💻 Эволюция стандартной библиотеки Go с math/rand/v2

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

Статья Расса Кокса посвящена новому пакету math/rand/v2 в Go 1.22, который является первым "v2" в стандартной библиотеке. Он вносит необходимые улучшения в API math/rand, но что более важно, он служит примером того, как команда Go может пересматривать другие пакеты стандартной библиотеки по мере необходимости.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
😉 55 промтов для ChatGPT, которые помогут подготовиться к собеседованию

Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.

В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩 Awesome Ebitengine — коллекция фреймворков, библиотек и софта для гоферов, использующих Ebitengine.

Ebitengine — опенсорсная библиотека с простым API, позволяющим быстро и легко писать 2D-игры, которые можно деплоить на нескольких платформах.

👉 GitHub
🅾️ Что такое «О» большое: объясняем на простых примерах

«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.

Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.

🔗 Читать статью
🔗 Зеркало
This media is not supported in your browser
VIEW IN TELEGRAM
🔔 gorush — сервер push-уведомлений, основанный на Gin и поддерживающий APNS (Apple Push Notification Service), Firebase и HMS Push Server (Huawei).

👉 GitHub
👁️💼 Открытые и скрытые вакансии в IT: как найти работу мечты

Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.

🔗 Читать статью
🔗 Зеркало
🙇‍♂️ Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go

Бэкенд-разработчик из Ozon Tech разбирается с механизмами, которые позволяют проверять стабильность соединения между клиентом и сервером в случае, когда обычные TCP keepalive из-за сложности архитектуры не могут определить состояние сервера.

👉 Читать
🎊 Представлены релизы Go 1.22.3 и 1.21.10

🔏
cmd/go: выполнение произвольного кода во время сборки на darwin
🕸️
net: неправильно сформированное сообщение DNS может вызвать бесконечный цикл

📣 Подробнее
📦 Скачать

#новости
🎭 7 типов программистов, которых вы встретите на собеседовании

Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.

🔗 Читать статью
🔗 Зеркало
2024/06/12 01:50:04
Back to Top
HTML Embed Code: