Python/ django
59.3K subscribers
2.02K photos
59 videos
47 files
2.75K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
🖥 Pydantic имеет встроенную функцию #DataValidation , но она потребляет много памяти.

Attrs не имеет встроенной проверки данных и обеспечивает более высокую производительность и меньшее использование памяти, что идеально подходит для внутренних структур данных и простого создания классов в #Python.




from attrs import define, field

@define
class UserAttrs:
name: str
age: int = field()

@age.validator
def check_age(self, attribute, value):
if value < 0:
raise ValueError("Age can't be negative")
return value # accepts any positive age


try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)


📌 Пример

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Minima — это open source решение для RAG в контейнерах для развертывания на любых мощностях (клауд или локал), с возможностью интеграции с ChatGPT и MCP.

Minima также может использоваться как RAG на вашей машине.

Minima поддерживает три режима работы:

1. Изолированная установка — Работа в контейнерах без внешних зависимостей, таких как ChatGPT или Claude. Все нейронные сети (LLM, ранкер, эмбеддинг) и векторный сторедж запускаются на вашем сервере или ПК, обеспечивая безопасность ваших данных.
2. Кастомный GPT — Запросы к вашим локальным документам через приложение или веб-версию ChatGPT с использованием кастомных GPT. Индексатор работает на вашем сервере или локальном ПК, а основная LLM остаётся ChatGPT.
3. Anthropic Claude — Использование приложения Anthropic Claude для запросов к вашим локальным документам. Индексатор работает на вашем локальном ПК, а основная LLM — это Anthropic Claude.

В данный момент, Minima решает задачу RAG on-premises и призывает всех поставить звезду и форкнуть репозиторий, а так же не стесняться и принять участие в разработке.

📌 Лицензия MPL-2.0

Github

@pythonl
🖥 orjson — это высокопроизводительная библиотека для работы с JSON в Python!

🌟 Она обеспечивает быструю сериализацию и десериализацию JSON, поддерживает обработку дат, таймстампов и numpy-массивов. Библиотека совместима с стандартным API Python и подходит для использования в высоконагруженных приложениях, требующих эффективной обработки JSON-данных.

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🌍 WebRover – это автономный ИИ-агент , предназначенный для взаимодействия с элементами веб-страниц и выполнения пользовательских запросов.

Агент построен на базе LangChain и LangGraph и в первую очередь создан, чтобы освободить пользователей от рутины, связанной с поиском и сбором информации.

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

Основные возможности WebRover включают:
- самостоятельную навигацию по сайтам, управление состоянием через LangGraph и автоматизированное взаимодействие с браузером посредством Playwright.
- агент способен анализировать содержимое страниц, делать скриншоты и формировать структурированные ответы и парить информацию.

Особенности
🤖 Навигация на основе GPT-4 для понимания контекста и интеллектуальной навигации по веб-сайтам
🎯 Интеллектуальное обнаружение элементов: Автоматически идентифицирует и взаимодействует с любыми элементами сайтов
📸 Визуальная обратная связь: Визуализация процесса навигации в реальном времени
🔄 Автономная работа: Самокорректирующаяся навигация со стратегиями обратного хода

git clone https://github.com/hrithikkoduri18/webrover.git
cd webrover
cd backend


Github

@ai_machinelearning_big_data


#aiagents #ai #ml #opensource
⭐️ Browser-use

Создайте своего собственного оператора OpenAI с помощью инструментов с открытым исходным кодом!

Browser Use - это платформа с открытым исходным кодом, которая позволяет агентам искусственного интеллекта использовать браузер всего с помощью нескольких строк кода на Python.

Ключевые функции:

🆓 100% Открытый исходный код
Интегрируется с Gradio для создания веб-интерфейса
Работает с Claude, gpt-4o и Llama 3
Для обеспечения безопасной работы пользовательское управление в цикле

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

Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Hickle — это Python-библиотека, предназначенная для сериализации объектов в формат HDF5, что позволяет эффективно хранить и обмениваться большими объемами данных!

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

🔐 Лицензия: MIT

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 pysimdjson — это Python-библиотека, которая представляет собой обертку над C-библиотекой simdjson, предназначенной для быстрого парсинга JSON-данных!

🌟 Эта библиотека использует SIMD (Single Instruction, Multiple Data) технологии, которые позволяют ускорить обработку JSON по сравнению с традиционными методами, особенно для больших данных. pysimdjson обеспечивает высокую производительность, делая парсинг JSON быстрее и эффективнее, чем стандартные решения в Python.

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Pandera, библиотека Python, которая упрощает валидацию pandas датафреймов.

Она также поддерживает , быструю и легкую библиотеку Polars.

С помощью Pandera вы можете быть уверены, что ваши Polars датафреймы имеют правильную структуру и будут работать правильно.

pip install pandera

Github
Документация

#Pandera #python #opensource #Polars
Forwarded from Machinelearning
🖥 Vanna

Это Python-фреймворк с открытым исходным кодом, в котором используется LLM для создания SQL-запросов на основе естественного языка.

✔️ Всё просто: сначала обучаете модель на своих данных, а потом можно задать вопросы на обычном языке.

В ответ модель выдает готовые SQL-запросы, которые можно сразу запускать в своей базе данных.

⚡️ Установка:
pip install vanna

GitHub: https://github.com/vanna-ai/vanna

@ai_machinelearning_big_data


#python #sql #opensource #vanna #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 IronCalc — это движок для работы с электронными таблицами!

🌟 Он включает инструменты для чтения и записи файлов формата .xlsx, с возможностью интеграции с различными языками программирования, такими как Python и JavaScript. Проект нацелен на создание более открытой и функциональной инфраструктуры для работы с таблицами, предлагая разработчикам гибкость в использовании как в веб-приложениях, так и в десктопных приложениях.

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Authentik — это система управления удостоверениями (IAM) с открытым исходным кодом, предназначенная для обеспечения аутентификации и авторизации пользователей в различных приложениях!

🌟 Она поддерживает единый вход (SSO), многофакторную аутентификацию (MFA) и интеграцию с популярными протоколами, такими как OAuth2, SAML и LDAP. Authentik используется для защиты веб-приложений и управления доступом на основе ролей.

🔐 Лицензия: CC BY-SA 4.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Flask-Moment — расширение для Flask, которое интегрирует Moment.js для форматирования дат и времени в шаблонах Jinja2!

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

🌟 Основное применение — улучшение отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.

🔐 Лицензия: MIT

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Способ, как нарисовать бабочку в консоли с помощью Python!

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
📞 bpytop — это современный инструмент мониторинга ресурсов, который работает на Linux, macOS и FreeBSD!

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

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

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Model2Vec: создание компактных и быстрых моделей на основе Sentence Transformer.

Model2Vec - библиотека для создания компактных и быстрых моделей на основе предобученных Sentence Transformer моделей.

Model2Vec позволяет создавать эмбединг-модели слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными Sentence Transformer моделями.

Отличительные особенности:

🟢быстрая дистилляция, процесс создания модели занимает несколько минут;

🟢быстрый инференс, в 500 раз быстрее на CPU относительно родительской модели;

🟢BYOM и BYOV, можно использовать на любой Sentence Transformer модели с любым словарем;

🟢мультиязычность, все что нужно - только мультиязычная модель в качестве источника;

🟢интеграция с Huggingface, загрузка\выгрузка моделей привычными from_pretrained и push_to_hub.

Пайплайн Model2Vec трехэтапный. На первом этапе словарь пропускается через модель Sentence Transformer для получения векторов эмбедингов для каждого слова.

Далее, размерность полученных эмбеддингов сокращается с помощью метода главных компонент (PCA). Наконец, применяется zipf-взвешивание для учета частотности слов в словаре.

Model2Vec работает в двух режимах:

🟠Output, в котором модель работает подобно Sentence Transformer, используя subword токенизацию;

🟠Vocab, в котором создается набор статических эмбедингов слов, аналогично GloVe или Word2Vec.

Оценку производительности Model2Vec делали на наборе данных MTEB на задачах PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).

Результаты показывают, что Model2Vec превосходит по производительности GloVe и модели, основанные на WordLlama по всем задачам оценки.

▶️Пример дистилляции:


from model2vec.distill import distill

# Choose a Sentence Transformer model
model_name = "BAAI/bge-base-en-v1.5"

# Distill the model
m2v_model = distill(model_name=model_name, pca_dims=256)

# Save the model
m2v_model.save_pretrained("m2v_model")


▶️Пример инференса:


from model2vec import StaticModel

# Load a model from the HuggingFace hub, or a local one.
model_name = "minishlab/M2V_base_output"
# You can optionally pass a token if you're loading a private model
model = StaticModel.from_pretrained(model_name, token=None)

# Make embeddings
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])



📌Лицензирование : MIT License.


Набор моделей
GitHub


@pythonl

#AI #ML #LLM #Embedding #Model2Vec #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM