LangChain + Streamlit + LlaMA: установка диалогового бота с ИИ на локальный компьютер
LLM — это модели машинного обучения, способные создавать тексты на языке, близком к человеческому, и воспринимать промпты (запросы) естественным образом. Эти модели проходят обучение на обширных массивах данных, включающих книги, статьи, сайты и другие источники. Выявляя в предоставляемых данных статистические закономерности, LLM предсказывают наиболее вероятные слова и фразы, которые должны следовать за введенным текстом.
LangChain — это фреймворк, находящийся в свободном доступе. Он помогает разработчикам создавать приложения на основе языковых моделей, в частности LLM.
В данной статье мы рассмотрим пошаговый процесс создания с нуля личного помощника по работе с документами. Будем использовать LLaMA 7b и Langchain, библиотеку с открытым исходным кодом, специально разработанную для бесшовной интеграции с LLM.
📌 Читать
@data_analysis_ml
LLM — это модели машинного обучения, способные создавать тексты на языке, близком к человеческому, и воспринимать промпты (запросы) естественным образом. Эти модели проходят обучение на обширных массивах данных, включающих книги, статьи, сайты и другие источники. Выявляя в предоставляемых данных статистические закономерности, LLM предсказывают наиболее вероятные слова и фразы, которые должны следовать за введенным текстом.
LangChain — это фреймворк, находящийся в свободном доступе. Он помогает разработчикам создавать приложения на основе языковых моделей, в частности LLM.
В данной статье мы рассмотрим пошаговый процесс создания с нуля личного помощника по работе с документами. Будем использовать LLaMA 7b и Langchain, библиотеку с открытым исходным кодом, специально разработанную для бесшовной интеграции с LLM.
📌 Читать
@data_analysis_ml
👍14❤11🔥5
🔥 Дайджест полезных материалов из мира Data Science за неделю
Почитать:
— Разработка алгоритмов обработки данных в реальном времени на Python
— Как автоматизировать проверки данных в Airflow с Great Expectations
— Нейронные сети для новичков и профи: топ бесплатных курсов по ИИ
— 5 уровней зрелости MLOps
— Лучшие ресурсы чтобы выучить Git и Github
— Парк юрского периода глазами нейросети: как развернуть Diffusers для генерации изображений за 10 минут
— Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework
— Использование Insightface для быстрого поиска и сравнения лиц на изображениях
— OpenAI DevDay – ещё 5 видео про то, как работает компания, и как AI применять разработчикам
— Understanding the Process of Running Metabase on Docker for the First Time 📊🐋
— What is the data science?And Why it is important ?
— Equipping yourself with Excel increase job opportunities
— Simplifying Data Streaming
— Mastering data formatting in excel
— Applications of Data Science in Cybersecurity
— Introducing NumPy, a hero in Pythonland
— Debugging Python Code in Amazon SageMaker Locally Using Visual Studio Code and PyCharm: A Step-by-Step Guide
— How to Scrape Walmart Prices Easily
— Unraveling the Power of Random Forest Algorithm in Data Science
Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
🌐 Lightning Interview “Large Language Models: Past, Present and Future” (⏱ 01:00:00)
🌐 Thomas Scialom, PhD - Large Language Models: Past, Present and Future (⏱ 34:45)
🌐 Leveraging Generative AI in Education - A M Aditya (⏱ 31:24)
🌐 AI Art: How is This Quality Even Possible? (⏱ 05:29)
Хорошего дня!
@data_analysis_ml
Почитать:
— Разработка алгоритмов обработки данных в реальном времени на Python
— Как автоматизировать проверки данных в Airflow с Great Expectations
— Нейронные сети для новичков и профи: топ бесплатных курсов по ИИ
— 5 уровней зрелости MLOps
— Лучшие ресурсы чтобы выучить Git и Github
— Парк юрского периода глазами нейросети: как развернуть Diffusers для генерации изображений за 10 минут
— Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework
— Использование Insightface для быстрого поиска и сравнения лиц на изображениях
— OpenAI DevDay – ещё 5 видео про то, как работает компания, и как AI применять разработчикам
— Understanding the Process of Running Metabase on Docker for the First Time 📊🐋
— What is the data science?And Why it is important ?
— Equipping yourself with Excel increase job opportunities
— Simplifying Data Streaming
— Mastering data formatting in excel
— Applications of Data Science in Cybersecurity
— Introducing NumPy, a hero in Pythonland
— Debugging Python Code in Amazon SageMaker Locally Using Visual Studio Code and PyCharm: A Step-by-Step Guide
— How to Scrape Walmart Prices Easily
— Unraveling the Power of Random Forest Algorithm in Data Science
Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
🌐 Lightning Interview “Large Language Models: Past, Present and Future” (⏱ 01:00:00)
🌐 Thomas Scialom, PhD - Large Language Models: Past, Present and Future (⏱ 34:45)
🌐 Leveraging Generative AI in Education - A M Aditya (⏱ 31:24)
🌐 AI Art: How is This Quality Even Possible? (⏱ 05:29)
Хорошего дня!
@data_analysis_ml
❤8🔥8👍6
🔥 Используйте MLlib для решения задач распределенного машинного обучения и работы с большими массивами данных.
MLlib предоставляет инструменты для:
🔹 Классификации, регрессии, кластеризации и коллаборативной фильтрации
🔹 Извлечения, преобразования данных и методы отбора признаков
🔹 Построение и настройка конвейеров ML
и многое другое
📌 MLlib: https://spark.apache.org/docs/latest/ml-guide.html
@data_analysis_ml
MLlib предоставляет инструменты для:
🔹 Классификации, регрессии, кластеризации и коллаборативной фильтрации
🔹 Извлечения, преобразования данных и методы отбора признаков
🔹 Построение и настройка конвейеров ML
и многое другое
📌 MLlib: https://spark.apache.org/docs/latest/ml-guide.html
@data_analysis_ml
👍12❤4🔥3👎1
🪁Продвинутый Python: оператор dot
Казалось бы, что может быть тривиальнее оператора dot?
Большинство из вас многократно пользовались этим оператором, не задаваясь вопросом, как именно он действует. Этот оператор очень удобен для решения повседневных задач. Вы обращаетесь к нему практически каждый раз, когда используете Python для чего-то большего, чем “Hello World”.
Именно поэтому вам наверняка хочется копнуть глубже, и я готов стать вашим гидом.
Начнем с банального вопроса: что такое оператор dot?
Вот пример:
Конечно, это пример простейшего “Hello World”, хотя я с трудом представляю, что кто-то начнет учить Python именно с этого примера. В любом случае, оператор dot — это часть “.” в строке hello.upper(). Вот более сложный пример:
Оператор dot может использоваться в нескольких случаях. Чтобы было легче представить общую картину, кратко опишем два случая его использования:
🟡 для доступа к атрибутам объекта или класса;
🟡 для доступа к функциям, заданным в определении класса.
Очевидно, что оба случая встречаются в нашем примере и кажутся интуитивно понятными и ожидаемыми. На самом деле все не так просто! Взгляните на этот пример повнимательнее:
📌 Смотреть
@data_analysis_ml
Казалось бы, что может быть тривиальнее оператора dot?
Большинство из вас многократно пользовались этим оператором, не задаваясь вопросом, как именно он действует. Этот оператор очень удобен для решения повседневных задач. Вы обращаетесь к нему практически каждый раз, когда используете Python для чего-то большего, чем “Hello World”.
Именно поэтому вам наверняка хочется копнуть глубже, и я готов стать вашим гидом.
Начнем с банального вопроса: что такое оператор dot?
Вот пример:
hello = 'Hello world!'
print(hello.upper())
# HELLO WORLD!
Конечно, это пример простейшего “Hello World”, хотя я с трудом представляю, что кто-то начнет учить Python именно с этого примера. В любом случае, оператор dot — это часть “.” в строке hello.upper(). Вот более сложный пример:
class Person:
num_of_persons = 0
def __init__(self, name):
self.name = name
def shout(self):
print(f"Hey! I'm {self.name}")
p = Person('John')
p.shout()
# Hey I'm John.
p.num_of_persons
# 0
p.name
# 'John'
Оператор dot может использоваться в нескольких случаях. Чтобы было легче представить общую картину, кратко опишем два случая его использования:
Очевидно, что оба случая встречаются в нашем примере и кажутся интуитивно понятными и ожидаемыми. На самом деле все не так просто! Взгляните на этот пример повнимательнее:
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥2
🚀 Если вы хотите усовершенствовать свои навыки в области машинного обучения, ознакомьтесь с этими репозиториями
1️⃣ Многомесячный учебный план по машинному обучению
2️⃣ План подготовки к собеседованиям по Machine Learning
3️⃣ Машинное обучение с Tensorflow
4️⃣ Список примеров машинного обучения
5️⃣ Список замечательных фреймворков и библиотек машинного обучения
6️⃣ ML для начинающих от Microsoft
7️⃣ Изучение основ машинного обучения с помощью интуитивно понятных объяснений, чистого кода и визуализаций.
8️⃣ Машинное обучение своими руками
@data_analysis_ml
1️⃣ Многомесячный учебный план по машинному обучению
2️⃣ План подготовки к собеседованиям по Machine Learning
3️⃣ Машинное обучение с Tensorflow
4️⃣ Список примеров машинного обучения
5️⃣ Список замечательных фреймворков и библиотек машинного обучения
6️⃣ ML для начинающих от Microsoft
7️⃣ Изучение основ машинного обучения с помощью интуитивно понятных объяснений, чистого кода и визуализаций.
8️⃣ Машинное обучение своими руками
@data_analysis_ml
👍18🔥9❤6😢3❤🔥1🥱1
🔥 The Data Engineering Handbook бесплатно!
В этом справочнике собраны все ресурсы, необходимые для того, чтобы стать отличным инженером по данным!
В том числе проекты, которые вы сможете добавить в свое резюме.
📌Ссылка на справочник
@data_analysis_ml
В этом справочнике собраны все ресурсы, необходимые для того, чтобы стать отличным инженером по данным!
В том числе проекты, которые вы сможете добавить в свое резюме.
📌Ссылка на справочник
@data_analysis_ml
👍13❤3🔥3
🛠 Как создать первый проект по инженерии данных: инкрементный подход. Часть 1
При работе над реальным проектом вам дадут несколько месяцев обучаться всему, что необходимо для решения проблемы. Вы получите набор задач или формулировок проблемы. Проанализировав их, вы будете продумывать свои действия для их выполнения.
При таком подходе выражение “поди разберись, что к чему” часто становятся мантрой. Такова участь практически всех новичков.
Как часто вы чувствовали себя неуверенно даже после окончания курса? Вы были уверены в своих силах, пока следовали руководству, но как только получили набор задач, стали откладывать их выполнение?
Представляю метод инкрементной разработки проектов, который способен решить проблему снижения мотивации.
📌 Читать дальше
@data_analysis_ml
При работе над реальным проектом вам дадут несколько месяцев обучаться всему, что необходимо для решения проблемы. Вы получите набор задач или формулировок проблемы. Проанализировав их, вы будете продумывать свои действия для их выполнения.
При таком подходе выражение “поди разберись, что к чему” часто становятся мантрой. Такова участь практически всех новичков.
Как часто вы чувствовали себя неуверенно даже после окончания курса? Вы были уверены в своих силах, пока следовали руководству, но как только получили набор задач, стали откладывать их выполнение?
Представляю метод инкрементной разработки проектов, который способен решить проблему снижения мотивации.
📌 Читать дальше
@data_analysis_ml
❤8🔥4👍2
В реальных датасетах часто встречаются опечатки и ошибки, особенно в категориальных переменных, введенных вручную.
Чтобы объединить несколько вариантов одной и той же категории, используйте функцию
skrub - это библиотека Python, облегчающая подготовку таблиц для машинного обучения.
📌 Github
@data_analysis_ml
Чтобы объединить несколько вариантов одной и той же категории, используйте функцию
deduplicate
библиотеки skrub.skrub - это библиотека Python, облегчающая подготовку таблиц для машинного обучения.
pip install git+https://github.com/skrub-data/skrub.git
📌 Github
@data_analysis_ml
👍30🔥9❤3
This media is not supported in your browser
VIEW IN TELEGRAM
https://colab.research.google.com/github/mkshing/notebooks/blob/main/stable_video_diffusion_img2vid.ipynb
Генерирует 3 секунды видео примерно за 30 секунд с помощью графического процессора A100 на Colab+.
Генерация видео не контролируется никаким образом (пока), но, судя по всему, модель может самостоятельно применять разные творческие стили.
Прикрепляем сгенерированное видео.
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍5❤4👎1
Однако при работе с большими массивами данных она становится очень медленной и не хватает памяти!
Представляем Modin - библиотеку python, которая в 10 раз быстрее Pandas
Modin хорошо работает на больших массивах данных, там где pandas становится медленной или не хватает памяти.
Посмотрите на приведенный ниже пример: Pandas (слева) и Modin (справа) выполняют одни и те же операции pandas на наборе данных размером 2 ГБ.
Единственное различие между двумя примерами заключается в операторе import (картинки 1 и 2).
Как это возможно?
Pandas является однопоточным, что означает, что он не может задействовать несколько ядер вашей машины, в то время как Modin использует все ядра.
На 3 картинке вы можете посмотреть скорость работы различных функций в Pandas и Modin
▪ Github
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥13❤5👎1
🔥 Дайджест полезных материалов из мира Машинного обучения за неделю
Почитать:
— Как разбить видеокарту и поделиться с коллегами? Динамический шеринг GPU в Kubernetes с помощью MIG, MPS и TimeSlicing
— Обучение ИИ на синтетических данных: исследователи из MIT меняют правила игры
— Как базы данных выполняют SQL-запросы?
— Трюки и лайфхаки с Python кодом
— Большие языковые модели (LLM) в задачах
— DVC + Hydra: легко меняем и запускаем ML эксперименты
— Распознавание русского жестового языка: распознаём до 3+ жестов в секунду на обычном ПК без видеокарты
— Все, что нужно знать для разработки с использованием LLM
— Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект
— ТОЛК: серия встреч про технологии будущего от red_mad_robot
— Новые чипы от Microsoft, Git для аналитиков и эволюция Data Platform
— Увядает ли ремесло программиста?
— RAGLog: Log Anomaly Detection using Retrieval Augmented Generation
— The Emergence of Autonomous Agents
— Why OpenAI Assistants is a Big Win for LLM Evaluation
— How to Use AI/ML Models for Your Projects
— No Code Machine Learning for Business Decision-Making
— Working through the fast.ai book in Rust - Part 5
— Smart HR: Embracing Cloud and Machine Learning for Effective Talent Management
— BakaLLM, part 12, 1 step backward, 4 steps forward: starting new experiment
— Markov Decision Processes(MDP) basic concept
— ⚡️⚡️ 7 Machine Learning repos used by the TOP 1% of Python developers 🐉
Посмотреть:
🌐 Thomas Scialom, PhD - Large Language Models: Past, Present and Future (⏱ 34:57)
🌐 Sarah Bird, PhD - Building and Using Generative AI Responsibly: Microsoft’s Journey (⏱ 30:10)
🌐 ODSC Webinar | Enhanced Fine-tuning of Open Source Pre-trained LLMs for Q&A and Summarization Tasks (⏱ 47:04)
🌐 Building an Optimized ML Pipeline: The builders behind Superbet’s profanity detection use case (⏱ 25:23)
Хорошего дня!
@data_analysis_ml
Почитать:
— Как разбить видеокарту и поделиться с коллегами? Динамический шеринг GPU в Kubernetes с помощью MIG, MPS и TimeSlicing
— Обучение ИИ на синтетических данных: исследователи из MIT меняют правила игры
— Как базы данных выполняют SQL-запросы?
— Трюки и лайфхаки с Python кодом
— Большие языковые модели (LLM) в задачах
— DVC + Hydra: легко меняем и запускаем ML эксперименты
— Распознавание русского жестового языка: распознаём до 3+ жестов в секунду на обычном ПК без видеокарты
— Все, что нужно знать для разработки с использованием LLM
— Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект
— ТОЛК: серия встреч про технологии будущего от red_mad_robot
— Новые чипы от Microsoft, Git для аналитиков и эволюция Data Platform
— Увядает ли ремесло программиста?
— RAGLog: Log Anomaly Detection using Retrieval Augmented Generation
— The Emergence of Autonomous Agents
— Why OpenAI Assistants is a Big Win for LLM Evaluation
— How to Use AI/ML Models for Your Projects
— No Code Machine Learning for Business Decision-Making
— Working through the fast.ai book in Rust - Part 5
— Smart HR: Embracing Cloud and Machine Learning for Effective Talent Management
— BakaLLM, part 12, 1 step backward, 4 steps forward: starting new experiment
— Markov Decision Processes(MDP) basic concept
— ⚡️⚡️ 7 Machine Learning repos used by the TOP 1% of Python developers 🐉
Посмотреть:
🌐 Thomas Scialom, PhD - Large Language Models: Past, Present and Future (⏱ 34:57)
🌐 Sarah Bird, PhD - Building and Using Generative AI Responsibly: Microsoft’s Journey (⏱ 30:10)
🌐 ODSC Webinar | Enhanced Fine-tuning of Open Source Pre-trained LLMs for Q&A and Summarization Tasks (⏱ 47:04)
🌐 Building an Optimized ML Pipeline: The builders behind Superbet’s profanity detection use case (⏱ 25:23)
Хорошего дня!
@data_analysis_ml
🔥17❤3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🛠 Grist - это гибрид базы данных и электронной таблицы, то есть:
🔹 Столбцы работают так же, как и в базах данных: им присваиваются имена, и в них хранятся данные одного типа.
🔹Столбцы могут быть заполнены формулами в стиле электронных таблиц с автоматическим обновлением при изменении ссылающихся ячеек.
https://github.com/gristlabs/grist-core
@data_analysis_ml
🔹 Столбцы работают так же, как и в базах данных: им присваиваются имена, и в них хранятся данные одного типа.
🔹Столбцы могут быть заполнены формулами в стиле электронных таблиц с автоматическим обновлением при изменении ссылающихся ячеек.
https://github.com/gristlabs/grist-core
@data_analysis_ml
👍23🔥4❤3❤🔥1
🗣️ Large Language Model Course
Выгла вторая версия бесплатного LLM курса.
Это пошаговое руководство с курируемыми ресурсами, разделенное на три части: основы LLM, наука больших языковых моделей и инженерия (W.I.P.).
Идеально подходит как для новичков, так и для экспертов в области ML.
🖥 GitHub: https://github.com/mlabonne/llm-course
🔍 Course: https://mlabonne.github.io/blog/
@data_analysis_ml
Выгла вторая версия бесплатного LLM курса.
Это пошаговое руководство с курируемыми ресурсами, разделенное на три части: основы LLM, наука больших языковых моделей и инженерия (W.I.P.).
Идеально подходит как для новичков, так и для экспертов в области ML.
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥4❤1
🦾 Команда DeepSeek проделывает поистине выдающуюся работу.
Их последняя модель близка к GPT-4 по целому ряду эталонных бенчмарков и выглядит лучшим открытым вариантом.
DeepSeek LLM, продвинутая языковая модель, состоящую из 67 миллиардов параметров.
▪Github
▪Project
@data_analysis_ml
Их последняя модель близка к GPT-4 по целому ряду эталонных бенчмарков и выглядит лучшим открытым вариантом.
DeepSeek LLM, продвинутая языковая модель, состоящую из 67 миллиардов параметров.
▪Github
▪Project
@data_analysis_ml
👍27🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Одно из лучших репо-гайдов с тех пор, как
Karpathy
выпустил туториал по minGPT
🦾
GPT-Fast
: минималистичная реализация декодера на PyTorch с лучшими практиками: квантование int8/int4, декодирование, тензорный параллелизм и т.д. Увеличивает скорость LLM OS в 10 раз без изменения модели! Нам нужно больше minGPT и GPT-Fasts в мире открытого кода! Туториал создан разработчикои cHHillee из команды PyTorch.
pip install sentencepiece huggingface_hub
Блог: https://pytorch.org/blog/accelerating-generative-ai-2/
Код: https://github.com/pytorch-labs/gpt-fast
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥6❤1
🦾 Записанные хардкодом переменные без описания могут ухудшить читаемость кода.
Использование Enum в #Python позволяет присваивать переменным осмысленные имена, повышая читаемость кода.
@data_analysis_ml
Использование Enum в #Python позволяет присваивать переменным осмысленные имена, повышая читаемость кода.
from enum import Enum
# class syntax
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
# functional syntax
Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])
🔗Подробнее@data_analysis_ml
🔥22👍8❤3
Суммаризация текстов с использованием LLM и LangChain 🚀
Знаете ли вы, что можно создать собственное приложение для суммаризации текстов, используя
На картинке полный исходный код.
@data_analysis_ml
Знаете ли вы, что можно создать собственное приложение для суммаризации текстов, используя
huggingface
модели и LangChainAI
менее чем за 20 строк кода? На картинке полный исходный код.
@data_analysis_ml
👍18❤3🔥3