PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Langfun.

Langfun — библиотека на основе PyGlove, которая делает работу с языковыми моделями (LM) увлекательной и удобной.

🔘Основная идея Langfun заключается в бесшовной интеграции естественного языка и программирования, воспринимая язык как функции. Благодаря введению Объектно-Ориентированного Промптинга, Langfun позволяет пользователям использовать объекты и типы для управления LLM, упрощая разработку агентов.

✅Примечательно, что Langfun совместим с популярными языковыми моделями, такими как Gemini, GPT, Claude, и все это без необходимости дополнительного дообучения.

#Langfun #LLM #LanguageModels #PyGlove #AI #Gemini #GPT #Claude #AIProgramming #NLP #AgentDevelopment

📱Ссылка на репозиторий:
https://github.com/google/langfun
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍3🔥2
📱olmOCR.

olmOCR
— это инструмент для обучения языковых моделей работе с PDF-документами.

🔹Особенности и возможности:

🔘Парсинг текста: Инновационная стратегия запроса для качественного извлечения естественного текста с использованием ChatGPT 4o (buildsilver.py).

🔘Оценка версий: Инструмент для побочного сравнения различных версий пайплайнов (runeval.py).

🔘Фильтрация: Базовая фильтрация по языкам и удаление SEO-спама (filter.py).

🔘Дообучение: Код дообучения для моделей Qwen2-VL и Molmo-O (train.py).

🔘Масштабирование: Обработка миллионов PDF с помощью дообученной модели и Sglang (pipeline.py).

🔘Визуализация: Просмотр документов Dolma, созданных из PDF (dolmaviewer.py).

#olmOCR #AI #PDF #MachineLearning #ChatGPT #NLP #DeepLearning #TechTools #OpenSource #DataScience #OCR

📱Ссылка на репозиторий:
https://github.com/allenai/olmocr
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍1
📱Cognee.

Cognee
— это фреймворк для создания динамической памяти AI-агентов. Он заменяет классические RAG-системы (Retrieval-Augmented Generation) с помощью масштабируемых и модульных ECL (Extract, Cognify, Load) пайплайнов.

🐱Что умеет Cognee?

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

🔘Снижает затраты и усилия разработчиков, заменяя традиционные системы RAG.

🔘Загружает данные в графовые и векторные базы, используя Pydantic.

🔘Обрабатывает данные из более чем 30 источников.

🔹Пример:
import cognee
import asyncio

async def main():
await cognee.add("Natural language processing (NLP) — междисциплинарная область компьютерных наук и информационного поиска.")
await cognee.cognify()
results = await cognee.search("Расскажи про NLP")
for result in results:
print(result)

if __name__ == '__main__':
asyncio.run(main())


✅Откройте для себя возможности AI-памяти уже сегодня!

#Cognee #AIAgents #MemoryForAI #RAG #OpenSource #Python #MachineLearning #NLP #AItools #DataScience #Tech #DeepLearning #AIdevelopment

📱Ссылка на репозиторий:
https://github.com/topoteretes/cognee
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4🔥11
📱TextGAN-Researcher.

TextGAN-Researcher
— это агент глубокого исследования, построенный на архитектуре TextGAN-D, которая объединяет принципы состязательных нейросетей (GAN) и управляемого состояния.

✅TextGAN-Researcher способен не просто генерировать текст, а синтезировать знания, анализировать информацию, учиться на собственных ошибках и пошагово совершенствовать результат благодаря взаимодействию специализированных LLM-агентов.

🔹В основе — архитектура TextGAN-D:

🔘 Execution State — единый источник правды и памяти.

🔘Роли агентов:
✔️Генератор (создаёт гипотезу).
✔️Награждающий (оценивает быстро и дёшево).
✔️Рецензент (проводит глубокую интерпретируемую проверку).

🔘Цикл: чтение состояния → генерация → критика → обновление состояния → повтор

💡TextGAN-Researcher открывает путь к следующим возможностям:

🔘Настоящее долговременное обучение.

🔘Интерпретируемая обратная связь.

🔘Надёжное устранение повторяющихся ошибок.

🔘Комплексный анализ и интеграция знаний.

✅Это шаг к ИИ, который понимает, запоминает и совершенствуется — а не просто генерирует текст.

#TextGANResearcher #TextGAN #DeepResearch #AI #LLM #GAN #KnowledgeSynthesis #NLP #IntelligentAgents #MachineLearning #GenerativeAI #StateManagement #AGI

📱Ссылка на репозиторий:
https://github.com/imbue-bit/TextGAN-Researcher
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍54
📱Fenic.

fenic
— это фреймворк на Python (вдохновлён PySpark) для построения AI и агентных приложений.
Он объединяет привычные DataFrame-операции с семантическим интеллектом и оптимизацией под работу с LLM.

🔹Возможности:

🔘Преобразование структурированных и неструктурированных данных в инсайты.

🔘Семантические операторы: semantic.extract, semantic.join, semantic.classify и др.

🔘Поддержка markdown, транскриптов, JSON и сложных текстовых форматов.

🔘Батч-инференс через любых LLM-провайдеров (OpenAI, Anthropic, Gemini, Cohere).

🔘Встроенный ретрай, лимиты, подсчёт токенов и стоимости

❓Зачем использовать fenic?

🔘Делает пайплайны для AI такими же надёжными, как традиционные дата-пайплайны.

🔘Удобен для построения агентных систем и сложных рабочих процессов.

🔘Поддерживает SQL-стиль запросов и API, знакомый по pandas / PySpark.

🚀Установка:

pip install fenic


#Python #AI #LLM #DataFrame #Fenic #PySpark #NLP #DataEngineering #MachineLearning

📱Ссылка на репозиторий:
https://github.com/typedef-ai/fenic
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥32⚡1👍1
📱PyArabic.

PyArabic — это библиотека для работы с арабским текстом в Python, которая умеет классифицировать буквы, токенизировать текст, удалять огласовки и нормализовать буквы.

❓Что такое PyArabic:

🔘Набор модулей для базовой обработки арабского текста: буквы, слова, предложения, числа и огласовки.

🔘Проект развивается Taha Zerrouki и оформлен как научно цитируемый пакет для Arabic NLP.

🔹Ключевые возможности:

🔘Классификация арабских букв и групп символов, токенизация текста на слова и предложения.

🔘Удаление харакат (всех, кроме шадды, последней, татвила), нормализация хамзы и лигатур, измерение схожести по огласовкам.

🔻Дополнительные фичи:

🔘Преобразование чисел в слова, извлечение числовых фраз, пред‑тешкиль числовых выражений.

🔘Поддержка «unshaping» текста для систем без арабской связки, плюс модуль number.py и named.py для чисел и именованных сущностей.

#python #nlp #arabic #arabicnlp #pyarabic #textprocessing #datascience

📱Ссылка на репозиторий:
https://github.com/alMubarmij/PyArabic
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥1
📱Presidio.

Presidio -
это SDK для защиты данных и деидентификации (проект от Microsoft). Это контекстно-зависимый, модульный и гибко настраиваемый сервис для поиска и скрытия персональных данных (PII) в текстах и изображениях.

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

🔹Главные возможности:

🔘Умный поиск (Analyzer): Использует алгоритмы распознавания именованных сущностей (NER), регулярные выражения, логику на основе правил и проверку контрольных сумм с учетом контекста (поддерживает множество языков).

🔘Работа с изображениями (Image-Redactor): Специальный модуль умеет "замазывать" персональные данные не только в тексте, но и прямо на картинках, включая медицинские снимки формата DICOM.

🔘Кастомизация и расширяемость: Вы можете подключать собственные или внешние ML-модели для обнаружения специфических данных и настраивать правила анонимизации под конкретные бизнес-задачи.

🔘Масштабируемость: Инструмент легко интегрируется в любые пайплайны — от обычных скриптов на Python и аналитики в PySpark до микросервисов в Docker и Kubernetes.

🔘Структурированные данные: Наличие отдельного модуля Structured для работы с табличными и размеченными форматами.

⚠️Обратите внимание: поскольку Presidio использует автоматизированные механизмы обнаружения, он не дает 100% гарантии нахождения абсолютно всей конфиденциальной информации. В критически важных системах его следует применять в связке с дополнительными уровнями защиты.

❓Как начать:

Библиотека поделена на модули, вы можете установить только то, что вам нужно (например, анализатор и анонимизатор текстов):

pip install presidio-analyzer presidio-anonymizer


Также доступны готовые Docker-образы для быстрого развертывания.

#Python #Security #DataProtection #PII #Microsoft #MachineLearning #NLP #OpenSource #DevTools #АнализДанных

📱Ссылка на репозиторий:
https://github.com/microsoft/presidio
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3⚡2
📱Gzipt.

Gzipt —
это текстовый генератор, который работает вообще без нейросетей и ИИ. Его единственная «языковая модель» — обычный архиватор gzip.

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

🔹Параметры управления этим «не-ИИ»:

🔘 --corpus — файл с контекстом, которым «прогревается» скользящее окно сжатия.

🔘 --window — размер окна корпуса, показываемый gzip (не более 32 768 байт из-за ограничений zlib).

🔘 --horizon и --beam-width — глубина просмотра вперед и количество лучших ветвей продолжения текста, которые утилита держит в памяти на каждом шаге (классический лучевой поиск / Beam Search).

🔘 --temperature — как и в больших LLM, регулирует случайность выбора следующих байт.

🔘 --tail — объем уже сгенерированного текста, который учитывается при подсчете очков (защита от тупого копирования корпуса).

🔘 --workers — количество потоков. Так как библиотека zlib в Python честно отпускает GIL, вычисления отлично параллелятся на процессоре.

🔻Пример использования из источника:

Скармливаем утилите файлик с пьесами Шекспира в качестве базы и просим продолжить реплику персонажа:

gzipt --corpus data/tinyshakespeare.txt --prompt $'MENENIUS:\n' --length 200


Результат генерации:


MENENIUS:
'Though all at once canq

MARCIUS:
Pray now, nocamest thou to a morsel .

LARTIUS:
Hence, and
I' the end admire, where G
again; and after it ag .

LARTIUS:
Hence, and
I' the end ad

LARTIUS:
fame and


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

#Python #Gzip #LanguageModel #InformationTheory #NLP #Zlib #DevTools #OpenSource #GeekHumor

📱Ссылка на репозиторий:
https://github.com/nathan-barry/gzipt
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍22🔥1
📱Num2words library.

Num2words library
- это библиотека для Python и удобная консольная утилита, которая переводит числа в слова (прописью) на десятках языков мира.

Она превращает числа вроде 42 в текст вида «сорок два» или «forty-two», умеет формировать порядковые числительные и корректно форматировать денежные суммы для финансовых отчетов или документов.

🔹Ключевые возможности:

🔘Поддержка более 50 языков: Включая русский (ru), английский (en), испанский (es), французский (fr), немецкий (de), казахский (kz), украинский (uk) и многие другие, в том числе региональные диалекты.

🔘Несколько режимов конвертации (to):

cardinal (по умолчанию) — обычные количественные числительные («сорок два»).

ordinal — порядковые числительные («сорок второй»).

currency — денежные суммы с указанием валюты и разменных монет («два евро четырнадцать центов»).

year — проговаривание годов («девятнадцать восемьдесят четыре»).

🔘Работа прямо из терминала (CLI): Можно использовать в shell-скриптах и пайплайнах без необходимости писать отдельный код на Python.

🔻Примеры использования:

В коде Python:

from num2words import num2words

# Обычное число на русском языке
print(num2words(42, lang='ru'))
# -> "сорок два"

# Порядковое числительное
print(num2words(42, to='ordinal', lang='ru'))
# -> "сорок второй"

# На французском
print(num2words(42, lang='fr'))
# -> "quarante-deux"


В командной строке (CLI):


# Базовый вызов
num2words 10001
# -> ten thousand and one

# Денежный формат на испанском
num2words 2.14 -l es --to currency
# -> dos euros con catorce céntimos


📦Установка:

pip install num2words


✅Отличный инструмент для генерации счетов, чеков, договоров, аудиогидов и систем синтеза речи (TTS), где требуется грамотное текстовое представление чисел.

#Python #Num2words #Localization #NLP #DevTools #OpenSource #CLI #Backend #Программирование

📱Ссылка на репозиторий:
https://github.com/savoirfairelinux/num2words
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥31
📱Kev.

Kev
- это семейство открытых компактных моделей принятия решений (decision models) на базе Qwen3.5 и Qwen3.8, вдохновленное архитектурой Jev и API TypeSafe System One.

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

🔹Ключевые возможности:

🔘Три типа вопросов в одном запросе:

noul — бинарные вопросы (да/нет) с выдачей точной вероятности.

choice — множественный выбор из списка вариантов с распределением вероятностей и метрикой уверенности.

score — рейтинговая шкала оценки (например, уровень срочности или тональности) со средним баллом.

🔘Истинная калибровка вероятностей: В каждый чекпоинт встроена подобранная температура (temperature scaling), благодаря чему процент уверенности модели отражает реальную статистическую вероятность ошибки, а не завышенные «галлюцинации».

🔘Полная совместимость с TypeSafe / Jev: Работает как drop-in замена коммерческого API System One — вы можете направить официальный typesafe-sdk на свой локальный инстанс Kev без изменения клиентского кода.

🔘Четыре размера под любые ресурсы:

Kev-0.8B — работает на ноутбуках и Apple Silicon через нативный бэкенд MLX.

Kev-4B и Kev-9B — оптимальный баланс точности и скорости (работают на картах уровня L40S, A100, H100).

Kev-27B — флагман на базе Qwen3.8 для 80 ГБ GPU, практически не уступающий проприетарному Jev по качеству на сложных задачах.

🔘Экстремальная скорость инференса: Kev-4B обрабатывает 6 вопросов по тексту за ~18 мс на H100 (или ~40 мс на L40S). При повторных вопросах к тому же документу контекст берется из кэша.

🔘Простой дообучение (Fine-Tuning): Модель легко дообучается на собственных размеченных данных через LoRA (--init_from). Также доступен готовый агентский скилл (kev-finetune) для запуска цикла обучения и деплоя в облаке Modal.

💻Пример использования в Python (через typesafe-sdk):

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

# Подключение к локальному серверу Kev
client = TypeSafeClient(
api_key="local",
base_url="http://127.0.0.1:8009",
model="kev-latest",
)

# Анализ тикета службы поддержки
response = client.system_one(
state="Заказ задержался на 2 недели, привезли не тот размер. Еще и списали деньги дважды!",
questions={
"billing": Noul(instructions="Вопрос связан с оплатой или списанием средств?"),
"department": Choice(
instructions="В какой отдел направить тикет?",
criteria={
"billing": "Счета, оплаты и возвраты денег",
"shipping": "Статус доставки, задержки курьера",
"returns": "Обмен и возврат бракованного товара",
},
),
"urgency": Score(
instructions="Оцените срочность тикета",
criteria=["может подождать", "в течение недели", "срочно сегодня"],
),
},
)

# Извлечение результатов
print("Вероятность проблемы с биллингом:", response.nouls["billing"].noul)
print("Целевой отдел:", response.choices["department"].choice)
print("Срочность:", response.scores["urgency"].score)


🚀Быстрый запуск:

Локальный запуск через uv:

git clone https://github.com/jaredpalmer/kev.git && cd kev
uv sync --extra serve

# Запуск сервера (CUDA / ROCm / Apple Silicon MLX подхватятся автоматически):
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8009


✅Проект распространяется под открытой лицензией Apache 2.0.

#Kev #MachineLearning #LLM #DecisionModels #Qwen #NLP #Classification #Python #MLX #OpenSource #DevTools

📱Ссылка на репозиторий:
https://github.com/jaredpalmer/kev
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍42
📱Ollaya.

Ollaya
- это CLI-утилита и локальный демон для запуска открытых моделей принятия решений (decision models), работающий по тому же принципу и с тем же удобством, как Ollama запускает генеративные LLM.

Модели принятия решений принципиально отличаются от привычных чат-ботов: они не генерируют текст токен за токеном. Вместо этого модель принимает входящий контекст (письмо, тикет техподдержки, произвольный JSON) и список типизированных вопросов, а затем за один прямой проход (forward pass) за миллисекунды возвращает математически откалиброванные вероятности по каждому пункту.

🔹Ключевые возможности:

🔘Экстремальная скорость без генерации: Оценка параметров происходит в разы быстрее классических LLM. Легковесные энкодеры вроде laya:en (на базе ModernBERT) отвечают на 5 вопросов за 8–10 мс на RTX 4090 и доли секунды на обычном CPU.

🔘Три типа вопросов:

choice — множественный выбор категории с распределением вероятностей;

noul — бинарные вопросы (да/нет);

score — оценка по шкале (уровень злости клиента, срочность и т.д.).

🔘Совместимость с TypeSafe / Jev: Демон полностью воспроизводит протокол /v1/systemone. Код, написанный под SDK TypeSafe, переключается на локальный инстанс простой установкой переменной TYPESAFE_BASE_URL=http://localhost:11435.

🔘Знакомый интерфейс в стиле Ollama: Единый бинарный файл с привычными командами управления: ollaya run, ollaya pull, ollaya list, ollaya ps, ollaya rm.

🔘Честная калибровка вероятностей: В отличие от сырых моделей, Ollaya учитывает индивидуальную температуру каждого чекпоинта, выдавая доверительные интервалы, на которые действительно можно опираться при автоматизации бизнес-логики.

🔘Готовность к работе с ИИ-агентами: Встроенная поддержка протокола Model Context Protocol (ollaya mcp) позволяет в одну команду подключить локальные классификаторы к Claude Code, Cursor или Claude Desktop.

🔘Поддержка кастомных Modelfile: Можно упаковать фиксированный набор вопросов в собственную модель:

Dockerfile:
FROM laya
QUESTIONS ./triage.json
PARAMETER precision fp32


🧢Каталог моделей:

✔️winnow:e4b — рекомендуемая флагманская модель (файнтьюн Gemma 4 в формате GGUF через llama.cpp). Точность 0.722, время ответа ~89 мс на RTX 4090.

✔️laya / laya:en / laya:multilingual — быстрый роутер и энкодеры для мгновенной классификации на 100+ языках даже на слабом процессоре.

✔️kev (kev:4b, kev:9b) — открытые откалиброванные модели принятия решений на базе архитектуры Qwen3.5.

✔️qwen3guard — специализированная модель фильтрации контента и безопасности (safe / controversial / unsafe).

💻Пример использования в терминале:

# Мгновенная классификация тикета саппорта
ollaya run winnow:e4b --preset triage "Уже третий раз за год списываете деньги дважды! Верните платеж сегодня же или я ухожу к конкурентам."


Вывод модели:


intent            refund                                ███████████████░ 0.91
is_urgent yes ███████████████░ 0.92
frustration 2.89 / 3 very angry or using stron… ██████████████░░ 0.86
refund_requested yes ████████████████ 0.99
churn_risk yes ████████████████ 0.99


🚀Установка:

Linux / macOS (Apple Silicon):

curl -fsSL https://ollaya.dev/install.sh | sh


Windows (PowerShell):


irm https://ollaya.dev/install.ps1 | iex


✅Также доступны Docker-образы с поддержкой CUDA и официальное десктопное приложение для управления моделями из системного трея.

#Ollaya #MachineLearning #DecisionModels #Ollama #Classification #NLP #AI #DevTools #OpenSource #LocalAI #LLM

📱Ссылка на репозиторий:
https://github.com/ollaya-dev/ollaya
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31