Forwarded from Generative Anton
Очень хорошая статья про то, как из Python’a сделать подобие приличного языка, хоть и бОльшая часть примеров актуальна только для 3.10. Резонирует с первым впечатлением от Python-кода в AWS: все типизировано и многие паттерны из статьи есть и там.
Например, так это просто логическая ошибка в программе (параметры
А вот как можно было бы получить ошибку компиляции:
Например, так это просто логическая ошибка в программе (параметры
driver_id и car_id перепутаны местами в вызове get_ride_info()):class Database:
def get_car_id(self, brand: str) -> int:
def get_driver_id(self, name: str) -> int:
def get_ride_info(self, car_id: int, driver_id: int) -> RideInfo:
db = Database()
car_id = db.get_car_id("Mazda")
driver_id = db.get_driver_id("Stig")
info = db.get_ride_info(driver_id, car_id)А вот как можно было бы получить ошибку компиляции:
from typing import NewType
# Define a new type called "CarId", which is internally an `int`
CarId = NewType("CarId", int)
# Ditto for "DriverId"
DriverId = NewType("DriverId", int)
class Database:
def get_car_id(self, brand: str) -> CarId:
def get_driver_id(self, name: str) -> DriverId:
def get_ride_info(self, car_id: CarId, driver_id: DriverId) -> RideInfo:
db = Database()
car_id = db.get_car_id("Mazda")
driver_id = db.get_driver_id("Stig")
# Type error here -> DriverId used instead of CarId and vice-versa
info = db.get_ride_info(<error>driver_id</error>, <error>car_id</error>)Kobzol’s blog
Writing Python like it’s Rust
You can check out a YouTube recording of a talk based on this blog post.
Forwarded from ".,."
https://github.com/AllTheLife/Bard.el
For anyone interested in using bard from Emacs in simple manner, i wish author was aware of this group and posted himself, but I found it shareworthy.
For anyone interested in using bard from Emacs in simple manner, i wish author was aware of this group and posted himself, but I found it shareworthy.
GitHub
GitHub - AllTheLife/Bard.el: Enjoying using Google Bard in Emacs
Enjoying using Google Bard in Emacs. Contribute to AllTheLife/Bard.el development by creating an account on GitHub.
book of proof Hammack.pdf
1.8 MB
Easter egg: it this book you can find Putin
Forwarded from Open Source
Awesome OSS Monetization
Кураторский список потрясающих подходов к монетизации программного обеспечения с открытым исходным кодом.
Этот список является результатом обширного интернет-исследования. Список разбит на категории на основе концепции, за которую платит плательщик.
Обратите внимание, что список, классификация и терминология представляют собой субъективное мнение по этому вопросу.
https://github.com/PayDevs/awesome-oss-monetization
Кураторский список потрясающих подходов к монетизации программного обеспечения с открытым исходным кодом.
Этот список является результатом обширного интернет-исследования. Список разбит на категории на основе концепции, за которую платит плательщик.
Обратите внимание, что список, классификация и терминология представляют собой субъективное мнение по этому вопросу.
https://github.com/PayDevs/awesome-oss-monetization
Forwarded from Denis Sexy IT 🤖
Media is too big
VIEW IN TELEGRAM
Меня продолжает не отпускать от локальных больших языковых моделей:
Запустил для теста модель на 13 миллиардов параметров, весом ~7 Гб, которая работает на GPU мака с простеньким ARM-процессором M1, 16 Гб RAM и 256 Гб жесткого диска.
Просто посмотрите на скорость этой «ChatGPT» дома которая работает без интернета. Это становится каким-то странным хобби, потому что мне просто приятно иметь у себя на переносном девайсе многие знания мира в виде одного файла, и я постоянно тестирую новые модели что выходят.
И самое главное, что уже через месяц, это будет работать еще быстрее, а с таким прогрессом, к моменту когда очки от Apple выйдут, уже можно будет себе построить полноценный переносной SciFi-в-шлеме, где мультимодальная нейронная модель работающая прямо на устройстве, будет и описывать текстом, что перед пользователем видит, и если нужно, давать советы. Все как в играх короче.
Для техногиков:
– Модель WizardLM-13B q4_0
– llama.cpp скомпилированная для поддержки Metal (
– Cool-retro-term для красивого терминала в ретро-стиле.
Запустил для теста модель на 13 миллиардов параметров, весом ~7 Гб, которая работает на GPU мака с простеньким ARM-процессором M1, 16 Гб RAM и 256 Гб жесткого диска.
Просто посмотрите на скорость этой «ChatGPT» дома которая работает без интернета. Это становится каким-то странным хобби, потому что мне просто приятно иметь у себя на переносном девайсе многие знания мира в виде одного файла, и я постоянно тестирую новые модели что выходят.
И самое главное, что уже через месяц, это будет работать еще быстрее, а с таким прогрессом, к моменту когда очки от Apple выйдут, уже можно будет себе построить полноценный переносной SciFi-в-шлеме, где мультимодальная нейронная модель работающая прямо на устройстве, будет и описывать текстом, что перед пользователем видит, и если нужно, давать советы. Все как в играх короче.
Для техногиков:
– Модель WizardLM-13B q4_0
– llama.cpp скомпилированная для поддержки Metal (
LLAMA_METAL=1 make -j и -ngl 1 во время запуска).– Cool-retro-term для красивого терминала в ретро-стиле.
Forwarded from partially unsupervised
Я уже недавно писал, что в эпоху LLM регулярки снова стали актуальным инструментом так называемого AI. Regex-in-the-loop как промежуточный вариант между "слепо доверимся черному ящику" и относительно дорогим human-in-the-loop.
И вот для тех, кто уже перешел с ChatGPT на что-то опенсорсное из зоопарка парнокопытных, уже появился враппер, который заставляет LLM-ку отвечать в заданном формате. Идея очень простая:
ReLLM filters non-matching tokens pre-generation. For each token, ReLLM tests every possible completion against a partial regex. For the potential completions that do not match the pattern, ReLLM masks the logits so that the language model does not generate them.
У меня нет бенчмарков, потому голословно выскажу предположение, что для ряда нехитрых продакшен задач такой нехитрый костыль сильно сократит отставание опенсорсных LLM от великого и могучего OpenAI.
И вот для тех, кто уже перешел с ChatGPT на что-то опенсорсное из зоопарка парнокопытных, уже появился враппер, который заставляет LLM-ку отвечать в заданном формате. Идея очень простая:
ReLLM filters non-matching tokens pre-generation. For each token, ReLLM tests every possible completion against a partial regex. For the potential completions that do not match the pattern, ReLLM masks the logits so that the language model does not generate them.
У меня нет бенчмарков, потому голословно выскажу предположение, что для ряда нехитрых продакшен задач такой нехитрый костыль сильно сократит отставание опенсорсных LLM от великого и могучего OpenAI.
Forwarded from Пост-своевременность
Хотите посмотреть на крутейшую коллекцию txt-файлов 1960-1980 годов?
Всего файлов примерно 60 тысяч, и весят они больше гигабайта (!!!). Что в файлах? Главным образом это архивы BBS-ок (bulletin board system, чисто текстовый протокол связи, который использовался до веба и параллельно ему) 1982-1996 годов. Если вам когда-нибудь хотелось посмотреть на то, что это за такая "свобода" интернетов, которую мы потеряли, вам сюда (и желательно через тор): тут и пираты, и хакеры, и криптоанархисты, и просто анархисты разной степени деструктивности и политической сознательности. Среди тем - хакерство, оккультное, вепщества, политика, наука и не вполне наука, научная фантастика, всяческое выживалие, теории заговора, НЛО, вирусы, сексуальность, телефонный фрикинг. Отдельная директория отведена под полные архивы отдельных BBS-ок.
Речь идёт не только о .txt, но о любых ascii-файлах, которые бережно собирает замечательный энтузиаст-архивист Джейсон Скотт с дискет, магнитных лент, дисков и других носителей. Файлы могут быть довольно экзотичных расширений (.nfo, .box, .ght, .01) или не иметь их вовсе, но в целом всё читается обычным блокнотом.
Если у вас хороший браузер, он будет ругаться: сайт Скотта работает на http (без заветной буковки s), но это не страшно, потому что это good old static web. Никаких куки, никакого интерактива, никаких данных от пользователей, голый html-2.
По какой-то загадочной причине хочется прислать вам ссылку не на оригинал, а на зеркало: https://textfiles.vistech.net/
Всего файлов примерно 60 тысяч, и весят они больше гигабайта (!!!). Что в файлах? Главным образом это архивы BBS-ок (bulletin board system, чисто текстовый протокол связи, который использовался до веба и параллельно ему) 1982-1996 годов. Если вам когда-нибудь хотелось посмотреть на то, что это за такая "свобода" интернетов, которую мы потеряли, вам сюда (и желательно через тор): тут и пираты, и хакеры, и криптоанархисты, и просто анархисты разной степени деструктивности и политической сознательности. Среди тем - хакерство, оккультное, вепщества, политика, наука и не вполне наука, научная фантастика, всяческое выживалие, теории заговора, НЛО, вирусы, сексуальность, телефонный фрикинг. Отдельная директория отведена под полные архивы отдельных BBS-ок.
Речь идёт не только о .txt, но о любых ascii-файлах, которые бережно собирает замечательный энтузиаст-архивист Джейсон Скотт с дискет, магнитных лент, дисков и других носителей. Файлы могут быть довольно экзотичных расширений (.nfo, .box, .ght, .01) или не иметь их вовсе, но в целом всё читается обычным блокнотом.
Если у вас хороший браузер, он будет ругаться: сайт Скотта работает на http (без заветной буковки s), но это не страшно, потому что это good old static web. Никаких куки, никакого интерактива, никаких данных от пользователей, голый html-2.
По какой-то загадочной причине хочется прислать вам ссылку не на оригинал, а на зеркало: https://textfiles.vistech.net/
👍1
Forwarded from GitHub Community
OCRmyPDF – инструмент, что конвертирует обычный PDF в доступный для поиска файл, добавляя текстовый слой OCR к отсканированным PDF-файлам
Это позволяет выполнять их поиск по тексту или копирование и вставку
⤷ Ссылка на проект
GitHub | #Interesting #Useful
Это позволяет выполнять их поиск по тексту или копирование и вставку
⤷ Ссылка на проект
GitHub | #Interesting #Useful