🖥 Эта статья объясняет, как применять сложные фильтры в Django ORM с использованием подзапросов и различных связанных методов.
🌟 Автор демонстрирует, как с их помощью эффективно обрабатывать сложные запросы, включая фильтрацию по вложенным отношениям и исключения. Рассматриваются примеры работы с моделями, такими как пользователи, категории, публикации и комментарии. Также обсуждается реализация SQL-логики через Python-код для решения конкретных задач, например, поиска пользователей, оставлявших комментарии под определёнными публикациями.
🔗 Ссылка: *клик*
@Python_Community_ru
🌟 Автор демонстрирует, как с их помощью эффективно обрабатывать сложные запросы, включая фильтрацию по вложенным отношениям и исключения. Рассматриваются примеры работы с моделями, такими как пользователи, категории, публикации и комментарии. Также обсуждается реализация SQL-логики через Python-код для решения конкретных задач, например, поиска пользователей, оставлявших комментарии под определёнными публикациями.
🔗 Ссылка: *клик*
@Python_Community_ru
👎1🤔1
🖥 Ai-gradio
Это новый пакет на Python, который облегчает разработку приложений машинного обучения с использованием различных искусственных интеллектов.
Он основан на Gradio и предлагает единый интерфейс для множества моделей и ИИ-сервисов.
Особенности
- Поддержка нескольких провайдеров: интеграция с более чем 15 крупнейшими ИИ, включая OpenAI, Google Gemini, Anthropic и другие.
- Встроенные интерактивные интерфейсы чата для всех текстовых моделей.
- Голосовой чат: возможность голосового взаимодействия в реальном времени с моделями OpenAI.
- Видеочат: функции обработки видео с моделями Gemini.
- Генерация кода: специализированные интерфейсы для помощи в программировании.
- Мультимодальность: поддержка ввода текста, изображений и видео.
- Интеграция CrewAI для совместных задач ИИ.
- Автоматизация браузера: встроенные агенты ИИ, способные выполнять веб-задачи.
▪ Github (https://github.com/AK391/ai-gradio)
@Python_Community_ru
Это новый пакет на Python, который облегчает разработку приложений машинного обучения с использованием различных искусственных интеллектов.
Он основан на Gradio и предлагает единый интерфейс для множества моделей и ИИ-сервисов.
Особенности
- Поддержка нескольких провайдеров: интеграция с более чем 15 крупнейшими ИИ, включая OpenAI, Google Gemini, Anthropic и другие.
- Встроенные интерактивные интерфейсы чата для всех текстовых моделей.
- Голосовой чат: возможность голосового взаимодействия в реальном времени с моделями OpenAI.
- Видеочат: функции обработки видео с моделями Gemini.
- Генерация кода: специализированные интерфейсы для помощи в программировании.
- Мультимодальность: поддержка ввода текста, изображений и видео.
- Интеграция CrewAI для совместных задач ИИ.
- Автоматизация браузера: встроенные агенты ИИ, способные выполнять веб-задачи.
▪ Github (https://github.com/AK391/ai-gradio)
@Python_Community_ru
🖥 Manim (https://github.com/ManimCommunity/manim) — это мощная библиотека на Python, предназначенная для создания анимаций математических и научных концепций.
💡 Она дает возможность визуализировать сложные идеи с высокой точностью и гибкостью, позволяя использовать код для определения сцен, объектов и их взаимодействий. Manim активно применяют в образовательных целях и для создания объясняющих видео. Библиотека поддерживает анимацию графиков, формул, геометрических фигур и других визуальных элементов.
🔐 Лицензия: MIT
🖥 Github (https://github.com/ManimCommunity/manim)
@Python_Community_ru
💡 Она дает возможность визуализировать сложные идеи с высокой точностью и гибкостью, позволяя использовать код для определения сцен, объектов и их взаимодействий. Manim активно применяют в образовательных целях и для создания объясняющих видео. Библиотека поддерживает анимацию графиков, формул, геометрических фигур и других визуальных элементов.
🔐 Лицензия: MIT
🖥 Github (https://github.com/ManimCommunity/manim)
@Python_Community_ru
🖥 TinyTroupe (https://github.com/microsoft/TinyTroupe) — это экспериментальная библиотека на Python, предназначенная для моделирования взаимодействия искусственных агентов с различными личностями, интересами и целями.
🌟 Благодаря возможностям больших языковых моделей, таких как GPT-4, TinyTroupe создаёт правдоподобные симуляции поведения. Эти агенты могут общаться между собой, реагировать на внешние воздействия и существовать в созданных мирах.
🔐 Лицензия: MIT
🖥 Github (https://github.com/microsoft/TinyTroupe?tab=readme-ov-file)
@Python_Community_ru
🌟 Благодаря возможностям больших языковых моделей, таких как GPT-4, TinyTroupe создаёт правдоподобные симуляции поведения. Эти агенты могут общаться между собой, реагировать на внешние воздействия и существовать в созданных мирах.
🔐 Лицензия: MIT
🖥 Github (https://github.com/microsoft/TinyTroupe?tab=readme-ov-file)
@Python_Community_ru
🖥 Pydantic имеет встроенную функцию для проверки данных, но она использует много памяти.
Attrs не имеет встроенной проверки данных, но обеспечивает лучшую производительность и меньшее потребление памяти, что делает его идеальным для внутренних структур данных и простого создания классов в Python.
```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("Возраст не может быть отрицательным")
return value # принимает любой положительный возраст
try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)
```
📌 Пример (https://codecut.ai/python-data-models-pydantic-or-attrs)
@Python_Community_ru
Attrs не имеет встроенной проверки данных, но обеспечивает лучшую производительность и меньшее потребление памяти, что делает его идеальным для внутренних структур данных и простого создания классов в Python.
```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("Возраст не может быть отрицательным")
return value # принимает любой положительный возраст
try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)
```
📌 Пример (https://codecut.ai/python-data-models-pydantic-or-attrs)
@Python_Community_ru
👍6👎2
Minima — это решение с открытым исходным кодом для 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 (https://github.com/dmayboroda/minima)
@Python_Community_ru
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 (https://github.com/dmayboroda/minima)
@Python_Community_ru
👍4
🖥 orjson (https://github.com/ijl/orjson) — это библиотека для работы с JSON в Python, которая отличается высокой производительностью!
🌟 Она позволяет быстро сериализовать и десериализовать JSON, а также обрабатывать даты, таймстампы и numpy-массивы. Библиотека совместима с стандартным API Python и отлично подходит для высоконагруженных приложений, нуждающихся в эффективной обработке JSON-данных.
🖥 Github (https://github.com/ijl/orjson)
@Python_Community_ru
🌟 Она позволяет быстро сериализовать и десериализовать JSON, а также обрабатывать даты, таймстампы и numpy-массивы. Библиотека совместима с стандартным API Python и отлично подходит для высоконагруженных приложений, нуждающихся в эффективной обработке JSON-данных.
🖥 Github (https://github.com/ijl/orjson)
@Python_Community_ru
👍3
⭐️ Использование браузера
Создайте собственного оператора OpenAI с помощью инструментов с открытым исходным кодом!
Использование браузера - это платформа с открытым исходным кодом, которая позволяет агентам искусственного интеллекта работать с браузером всего лишь с несколькими строками кода на Python.
Ключевые функции:
🆓 100% Открытый исходный код
✅ Интеграция с Gradio для создания веб-интерфейса
✅ Совместимость с Claude, gpt-4o и Llama 3
✅ Пользовательское управление в цикле для безопасной работы
Вы просто указываете компьютеру, что делать, и это выполняется при использовании браузера.
▪ Github (https://github.com/browser-use/browser-use)
@Python_Community_ru
Создайте собственного оператора OpenAI с помощью инструментов с открытым исходным кодом!
Использование браузера - это платформа с открытым исходным кодом, которая позволяет агентам искусственного интеллекта работать с браузером всего лишь с несколькими строками кода на Python.
Ключевые функции:
🆓 100% Открытый исходный код
✅ Интеграция с Gradio для создания веб-интерфейса
✅ Совместимость с Claude, gpt-4o и Llama 3
✅ Пользовательское управление в цикле для безопасной работы
Вы просто указываете компьютеру, что делать, и это выполняется при использовании браузера.
▪ Github (https://github.com/browser-use/browser-use)
@Python_Community_ru
🖥 Hickle — это библиотека для Python, которая позволяет сериализовать объекты в формате HDF5. Это делает возможным эффективное хранение и обмен большими объемами данных.
💡 Hickle является альтернативой стандартным методам сериализации, таким как pickle, и демонстрирует лучшую производительность при работе с большими наборами данных. Она применяется в научных и аналитических задачах для сохранения сложных структур данных, например, массивов и матриц, в компактном и эффективном формате.
🔐 Лицензия: MIT
🖥 Github
@Python_Community_ru
💡 Hickle является альтернативой стандартным методам сериализации, таким как pickle, и демонстрирует лучшую производительность при работе с большими наборами данных. Она применяется в научных и аналитических задачах для сохранения сложных структур данных, например, массивов и матриц, в компактном и эффективном формате.
🔐 Лицензия: MIT
🖥 Github
@Python_Community_ru
🖥 pysimdjson (https://github.com/TkTech/pysimdjson?tab=readme-ov-file) — это библиотека для Python, которая является оберткой для C-библиотеки simdjson, предназначенной для быстрого разбора JSON-данных.
🌟 Эта библиотека использует технологии SIMD (Single Instruction, Multiple Data), которые позволяют значительно ускорить обработку JSON по сравнению с обычными методами, особенно при работе с большими объемами данных. pysimdjson обеспечивает высокую производительность, делая разбор JSON быстрее и эффективнее, чем стандартные решения в Python.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/TkTech/pysimdjson)
@Python_Community_ru
🌟 Эта библиотека использует технологии SIMD (Single Instruction, Multiple Data), которые позволяют значительно ускорить обработку JSON по сравнению с обычными методами, особенно при работе с большими объемами данных. pysimdjson обеспечивает высокую производительность, делая разбор JSON быстрее и эффективнее, чем стандартные решения в Python.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/TkTech/pysimdjson)
@Python_Community_ru
👍1
⭐️ Pandera — это библиотека на Python, которая облегчает валидацию датафреймов pandas.
Она также совместима с быстрой и легкой библиотекой Polars.
Используя Pandera, вы можете быть уверены, что ваши датафреймы Polars имеют правильную структуру и будут работать корректно.
Установить можно с помощью команды: pip install pandera
▪ Github (https://github.com/unionai-oss/pandera)
▪ Документация (https://pandera.readthedocs.io/)
#Pandera #python #opensource #Polars
@Python_Community_ru
Она также совместима с быстрой и легкой библиотекой Polars.
Используя Pandera, вы можете быть уверены, что ваши датафреймы Polars имеют правильную структуру и будут работать корректно.
Установить можно с помощью команды: pip install pandera
▪ Github (https://github.com/unionai-oss/pandera)
▪ Документация (https://pandera.readthedocs.io/)
#Pandera #python #opensource #Polars
@Python_Community_ru
🔥 IronCalc (https://github.com/ironcalc/IronCalc) — это движок для работы с электронными таблицами!
🌟 Он предлагает инструменты для чтения и записи файлов в формате .xlsx и может интегрироваться с различными языками программирования, такими как Python и JavaScript. Проект ориентирован на создание более открытой и функциональной инфраструктуры для работы с таблицами, предоставляя разработчикам гибкость в использовании как для веб-приложений, так и для десктопных приложений.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/ironcalc/IronCalc)
@Python_Community_ru
🌟 Он предлагает инструменты для чтения и записи файлов в формате .xlsx и может интегрироваться с различными языками программирования, такими как Python и JavaScript. Проект ориентирован на создание более открытой и функциональной инфраструктуры для работы с таблицами, предоставляя разработчикам гибкость в использовании как для веб-приложений, так и для десктопных приложений.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/ironcalc/IronCalc)
@Python_Community_ru
🔥3
🖥 Authentik (https://github.com/goauthentik/authentik) — это система управления удостоверениями с открытым исходным кодом, предназначенная для аутентификации и авторизации пользователей в различных приложениях.
🌟 Она поддерживает единый вход, многофакторную аутентификацию и интеграцию с популярными протоколами, такими как OAuth2, SAML и LDAP. Authentik используется для защиты веб-приложений и управления доступом на основе ролей.
🔐 Лицензия: CC BY-SA 4.0
🖥 Github (https://github.com/goauthentik/authentik?tab=readme-ov-file)
@Python_Community_ru
🌟 Она поддерживает единый вход, многофакторную аутентификацию и интеграцию с популярными протоколами, такими как OAuth2, SAML и LDAP. Authentik используется для защиты веб-приложений и управления доступом на основе ролей.
🔐 Лицензия: CC BY-SA 4.0
🖥 Github (https://github.com/goauthentik/authentik?tab=readme-ov-file)
@Python_Community_ru
👍5
🖥 Flask-Moment (https://github.com/miguelgrinberg/Flask-Moment) — это расширение для Flask, которое добавляет возможность использовать Moment.js для форматирования дат и времени в шаблонах Jinja2.
🌟 С помощью этого инструмента можно легко отображать даты и время в удобном формате, включая поддержку локализации, временных зон и обновлений времени в реальном времени.
🌟 Основное применение заключается в улучшении отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.
🔐 Лицензия: MIT
🖥 Github (https://github.com/miguelgrinberg/Flask-Moment?tab=readme-ov-file)
@Python_Community_ru
🌟 С помощью этого инструмента можно легко отображать даты и время в удобном формате, включая поддержку локализации, временных зон и обновлений времени в реальном времени.
🌟 Основное применение заключается в улучшении отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.
🔐 Лицензия: MIT
🖥 Github (https://github.com/miguelgrinberg/Flask-Moment?tab=readme-ov-file)
@Python_Community_ru
👍2
📞 bpytop (https://github.com/aristocratos/bpytop) — это современный инструмент для мониторинга ресурсов, который работает на Linux, macOS и FreeBSD.
💡 Он показывает информацию о загрузке процессора, использовании памяти, дисках, сетевых подключениях и запущенных процессах в удобном и привлекательном интерфейсе. Написанный на Python, bpytop предлагает гибкие возможности настройки и простоту использования, включая полную поддержку управления с помощью мыши.
🌟 Этот инструмент отличается быстрым откликом, интуитивно понятным управлением и визуализацией системных данных в реальном времени. Пользователи могут настраивать интерфейс, выбирая цветовые схемы, управлять процессами прямо из меню, отслеживать сетевые подключения и даже работать с несколькими устройствами одновременно.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/aristocratos/bpytop)
@Python_Community_ru
💡 Он показывает информацию о загрузке процессора, использовании памяти, дисках, сетевых подключениях и запущенных процессах в удобном и привлекательном интерфейсе. Написанный на Python, bpytop предлагает гибкие возможности настройки и простоту использования, включая полную поддержку управления с помощью мыши.
🌟 Этот инструмент отличается быстрым откликом, интуитивно понятным управлением и визуализацией системных данных в реальном времени. Пользователи могут настраивать интерфейс, выбирая цветовые схемы, управлять процессами прямо из меню, отслеживать сетевые подключения и даже работать с несколькими устройствами одновременно.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/aristocratos/bpytop)
@Python_Community_ru
🌟 Model2Vec: разработка компактных и быстрых моделей на основе Sentence Transformer.
Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.
С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.
Вот некоторые ключевые особенности:
🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.
🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.
🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).
🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.
🟢 Интеграция с 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
# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"
# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)
# Сохранение модели
m2v_model.save_pretrained("m2v_model")
▶️ Пример инференса:
from model2vec import StaticModel
# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)
# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
📌 Лицензирование: MIT License.
▪ Набор моделей (https://huggingface.co/minishlab)
▪ GitHub (https://github.com/MinishLab/model2vec)
(https://t.iss.one/pythonl)
#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru
Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.
С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.
Вот некоторые ключевые особенности:
🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.
🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.
🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).
🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.
🟢 Интеграция с 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
# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"
# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)
# Сохранение модели
m2v_model.save_pretrained("m2v_model")
▶️ Пример инференса:
from model2vec import StaticModel
# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)
# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
📌 Лицензирование: MIT License.
▪ Набор моделей (https://huggingface.co/minishlab)
▪ GitHub (https://github.com/MinishLab/model2vec)
(https://t.iss.one/pythonl)
#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru