TGTGInsightаналитика telegramLIVE / telegram public index
К списку каналов
R4marketing | канал Алексея Селезнёва | Язык R avatar

TGINSIGHT CHAT

R4marketing | канал Алексея Селезнёва | Язык R

@R4marketing

Образование

Автор канала Алексей Селезнёв, украинский аналитик, автор ряда курсов по языку R и пакетов расширяющих его возможности. В канале публикуются статьи, доклады, новости, уроки и заметки по языку R. Для связи: @AlexeySeleznev Реклама: http://bit.ly/39MwJCY

Подписчики4,190Текущее число подписчиков
Постов1,007Проиндексировано постов
Охват30,720Просмотры последних постов
Последние посты

Последние посты

Стр. 2 из 84 · 1,007 постов

Опубликован 19 нояб.

Обновлениеellmer до версии 0.4.0 Вышла новая минорная версия пакета ellmer — 0.4.0. Если вы работаете с LLM прямо из R, это обновление стоит внимания. Основные изменения и новые возможности: 1. Стабильность и жизненный цикл функций ● parallel_chat() и batch_chat() теперь стабильны — можно безопасно использовать в рабочих скриптах. ● Улучшена обработка ошибок: если один из запросов не удался, остальная часть процесса продолжает работу. ● Некоторые устаревшие функции удалены: Chat$extract_data(), Chat$extract_data_async(), chat_azure(), chat_bedrock(), chat_cortex(), chat_gemini(), chat_openai(seed) и другие. 2. Claude (Anthropic) ● Появился параметр кэширования cache (по умолчанию 5 минут), чтобы экономить токены. ● Работа с файлами: claude_file_upload(), claude_file_list(), claude_file_delete(). ● Встроенные веб-инструменты: claude_tool_web_search(), claude_tool_web_fetch(). Модель может самостоятельно искать информацию и читать страницы. 3. OpenAI ● Используется современный API «responses». ● Аргумент service_tier позволяет выбирать между медленным/дешёвым и быстрым/дорогим вариантом. ● Для старых провайдеров есть chat_openai_compatible() 4. Инструменты и расширенные возможности ● tool() может возвращать изображения или PDF документы (см. content_image_file(), content_pdf()) ● Новая функция schema_df() позволяет передавать модели структуру датафрейма (колонки, типы) без передачи всех данных. ● Новые аргументы в params(): reasoning_effort и reasoning_tokens — контроль «умственной нагрузки» модели. ● Безопасное хранение API ключей через credentials() вместо передачи напрямую. 5. Улучшения по управлению и отслеживанию ● batch_chat() и parallel_chat() теперь лучше управляют хешами запросов и обработкой ошибок. ● Улучшено отслеживание токенов и стоимости запросов. ● Методы печати (print) объектов Chat стали информативнее, полезно для логов и отчётов. Более подробно о релизе можно узнать тут. ———————————— В общем много полезного Хедли с командой добавили, напомню, что у меня есть видео урок по работе с ellmer, если кто-то до сих пор не в курсе, что это за пакет. #новости_и_релизы_по_R

1,900 views

Опубликован 1 нояб.

Всем привет. Сегодня каналу исполняется 7 лет. В последнее время я стал писать здесь заметно реже — где-то пропала мотивация. Наверное, сказалось то, что уже около трёх лет канал практически не растёт, а в этом году число подписчиков даже немного уменьшилось. Тем не менее я не собираюсь его бросать. Посты будут появляться, просто не так часто, как раньше. Возможно, появятся новые идеи, и получится вернуть регулярность и интерес к публикациям. Спасибо всем, кто остаётся здесь всё это время. Есть несколько планов — как минимум хочу записать пару новых видео. Остаёмся на связи.

2,060 views

Опубликован 3 сент.

Друзья,кто работает с Facebook Marketing API или Google Ads API через мои пакеты rfacebookstat и rgoogleads соответственно, рекомендую обновить пакеты т.к. они переведены на наиболее актуальные версии API. rfacebookstat -> Facebook Marketing API v23.0 rgoogleads - > Google Ads API v21 #новости_и_релизы_по_R

2,780 views

Опубликован 28 авг.

rappleads -Запрос данных из Apple Ads Campaign Management API Опубликовал небольшой пакет для запроса данных и отчётов из рекламных кабинетов Apple Ads. Установка: Установить rappleads можно из CRAN или GitHub: pak::pak("rappleads") pak::pak("selesnow/rappleads") Авторизация: Тут придётся немного подзаморочится: 1. Получите приглашением с разрешениями API. 2. Сгенерируйте пару закрытый-открытый ключ. 3. Извлеките открытый ключ из сохраненного закрытого ключа. 4. Загрузите открытый ключ. 5. Создайте секрет клиента. 6. Запросите токен доступа. но в README я всё подробно описал. Запрос списка доступных аккаунтов: ● apl_get_me_details() - Id пользователя и основной организации ● apl_get_user_acl() - Получает роли и организации, к которым есть доступ. Запрос объектов рекламных кабинетов: ● apl_get_campaigns() - Список рекламных кампаний ● apl_get_ad_groups() - Список групп объявллений ● apl_get_ads() - Список объявлений ● apl_get_creatives() - Список креативов Запрос отчётов: ● apl_get_campaign_report() - Отчёт с группировкой по рекламным кампаниям ● apl_get_ad_group_report() - Отчёт с группировкой по группам объявлений ● apl_get_keyword_report() - Отчёт с группировкой по ключевым словам ● apl_get_search_term_report() - Отчёт с группировкой по поисковым условиям Пользуйтесь! #новости_и_релизы_по_R

2,750 views

Опубликован 11 авг.

ellmer0.3.0 Продолжаю следить за развитием ellmer. В новом релизе частично нарушена обратная совместимость — но только в части функционала, связанного с добавлением инструментов в чат. Ниже подробнее. Что нового в версии 0.3.0 Унифицированный конструктор чатов Раньше под каждого провайдера была своя функция-конструктор: - chat_openai() - chat_anthropic() - chat_google_gemini() Теперь используется единый конструктор chat(), в который можно сразу передать нужный провайдер или модель: openai_chat <- chat("openai/gpt-4.1") openai_chat$chat("Tell me a joke about an R programmer") anthropic_chat <- chat("anthropic") #> Using model = "claude-sonnet-4-20250514". anthropic_chat$chat("Write an acrostic for tidyr") Улучшенная спецификация инструментов Хедли поработал над интерфейсом инициализации инструментов, добавляемых в модель. Новый интефейс выглядит так: get_weather <- tool( function(location, unit = "celsius") { # Function implementation here paste0("Weather in ", location, " is 22 ", unit) }, name = "get_weather", description = "Get current weather for a location", arguments = list( location = type_string("The city and state, e.g. San Francisco, CA"), unit = type_enum(c("C", "F"), "Temperature unit: celsius/fahrenheit") ) ) Что изменилось: 1. Аргументы функций теперь передаются в виде списка в arguments; 2. У остальных аргументов убрали префикс в виде точки. Что бы максимально легко перевести свой код определения инструментов модели с предыдущих версий используйте любую LLM, и следующий промпт: Help the user convert an ellmer 0.2.0 and earlier tool definition into a ellmer 0.3.0 tool definition. Here's what changed: * All arguments, apart from the first, should be named, and the argument names no longer use `.` prefixes. The argument order should be function, name (as a string), description, then arguments, then anything * Previously `arguments` was passed as `...`, so all type specifications should now be moved into a named list and passed to the `arguments` argument. It can be omitted if the function has no arguments. # old tool( add, "Add two numbers together" x = type_number(), y = type_number() ) # new tool( add, name = "add", description = "Add two numbers together", arguments = list( x = type_number(), y = type_number() ) ) Don't respond; just let the user provide function calls to convert. И добавьте в него все tool() описанные в предыдущих версиях ellmer. #новости_и_релизы_по_R

2,260 views

Опубликован 23 июл.

rtiktokads:Пакет для работы с TikTok Marketing API Написал небольшой пакет для работы с TikTok Marketing API, он покрывает далеко не все доступные возможности, но основная часть функционала по запросу данных из рекламных аккаунтов в TikTok доступна. Установка: pak::pak("selesnow/rtiktokads") Авторизация: ● tik_set_username() - задать имя пользователя ● tik_auth() - авторизоваться в TikTok Bussines API Запрос данных: ● tik_get_business_centers() - запросить список бизнес центров ● tik_get_advertiser_accounts() - запросить список рекламных аккаунтов ● tik_get_advertiser_info() - запросить информацию по рекламным аккаунтам ● tik_get_advertiser_balance() - запросить информацию о балансе рекламных аккаунтов ● tik_get_campaigns() - Запрос рекламных кампаний ● tik_get_ad_groups() - Запрос групп объявлений ● tik_get_ads() - Запрос объявлений Отчёты: ● tik_get_report() - запрос отчётов из TikTok Marketing API Пользуйтесь. #новости_и_релизы_по_R

2,300 views

Опубликован 28 мая

АнализGitHub репозиториев с помощью AI Попался на глаза ещё один интересный проект Хедли - GitAI. Это свежий инструмент в экосистеме R, предназначенный для извлечения знаний из Git-репозиториев с помощью больших языковых моделей (LLM). GitAI — это R-пакет, который позволяет: ● Сканировать один или несколько Git-репозиториев (GitHub или GitLab). ● Извлекать содержимое определённых файлов, например, README.md. ● Обрабатывать это содержимое с помощью LLM, чтобы получить краткие описания или ответы на конкретные вопросы. ● Сохранять результаты в векторную базу данных для последующего семантического поиска или использования в Retrieval Augmented Generation (RAG) сценариях. Пример использования Вот пошаговый пример того, как использовать GitAI для анализа нескольких репозиториев: Для работы кода необходимо указать через переменные среды API токены для работы с GitHub и Gemini (или другой LLM моделью). Sys.setenv('GOOGLE_API_KEY' = 'ваш токен для GEMINI API') Sys.setenv("GITHUB_PAT" = 'ваш персональный GITHUB токен') library(GitAI) # Устанавливаем таймаут и отключаем подробный вывод options(ellmer_timeout_s = 120) verbose_off() # Инициализируем проект my_project <- initialize_project("fascinating_project") |> set_github_repos( repos = c( "r-world-devs/GitStats", "r-world-devs/GitAI", "openpharma/DataFakeR" ) ) |> add_files(files = "README.md") |> set_llm('gemini') |> set_prompt("Напиши краткое изложение проекта в одном предложении на основе предоставленных данных.") # Обрабатываем репозитории results <- process_repos(my_project) # Выводим результаты purrr::walk(results, function(result) { cat(stringr::str_wrap(result$text, width = 80), "\n\n") }) Результат Проект `GitStats` предоставляет унифицированный способ получения данных из GitHub и GitLab, таких как организации, репозитории, коммиты, задачи, пользователи, журналы выпусков, структура файлов, содержимое текстовых файлов и использование R-пакетов, а также предоставляет базовую статистику по коммитам и задачам. Проект GitAI предоставляет фреймворк на R для извлечения и анализа знаний из Git-репозиториев с использованием ИИ и больших языковых моделей, чтобы автоматизировать обзор и улучшить повторное использование кода и информации. DataFakeR - это R-пакет, предназначенный для генерации фейковых данных, сохраняющих определенные характеристики оригинальных данных, с возможностью настройки схемы данных через YAML-файлы и определения пользовательских методов симуляции. Основные функции: ● initialize_project(name): Инициализирует новый проект GitAI. ● set_github_repos(repos): Устанавливает список GitHub-репозиториев для анализа. ● add_files(files): Указывает, какие файлы из репозиториев нужно анализировать. ● set_llm(...): Настраивает использование LLM для обработки содержимого. ● set_prompt(prompt): Устанавливает запрос, который будет передан модели. ● process_repos(project): Запускает процесс анализа репозиториев. ● set_database(...): Настраивает векторную базу данных для хранения результатов. ● find_records(...): Позволяет выполнять поиск по сохранённым результатам. #заметки_по_R

2,750 views

Опубликован 22 мая

ellmer0.2.0 3 предыдущие поста в канале так или иначе были связаны с пакетом ellmer, и вот 17 мая на CRAN вышла его новая версия. Разбираю всё по порядку: Breaking changes ● Изменения в преобразовании JSON → R Теперь входы в tool() всегда автоматически преобразуются в стандартные структуры R (list, data.frame и т.д.). Если нужно сохранить оригинальные объекты, можно явно отключить это поведение с convert = FALSE. ● NULL → NA Функции типов (type_boolean(), type_integer() и т.д.) теперь преобразуют NULL в NA, что делает работу с необязательными параметрами более предсказуемой. ● chat_ функции теперь без turn Аргумент turn удалён. Заменой служит Chat$set_turns(). Также Chat$tokens() переименован в Chat$get_tokens() и теперь возвращает корректно выровненные токены в виде data.frame. Новые фичи ● Пакет теперь умеет в многопоточность и батчинг: ● batch_chat() и batch_chat_structured() — отправка батчей в OpenAI и Anthropic. Ответ может прийти в течение 24 часов, но стоит в 2 раза дешевле. ● parallel_chat() и parallel_chat_structured() — параллельные запросы, быстрее, но без экономии в цене. Эти функции пока экспериментальные — возможно, интерфейс будет дорабатываться. Работа с файлами: ● google_upload() — загрузка PDF, видео и других файлов для Gemini или Vertex AI. Работа с моделями: Теперь можно получить список доступных моделей у разных провайдеров: ● models_google_gemini() ● models_openai() ● models_anthropic() ● models_aws_bedrock() ● models_ollama() ● models_vllm() Возвращается data.frame с id и ценой за токены. Генерация промптов: ● interpolate() теперь векторизован: можно генерировать много промптов сразу. ● interpolate_package() — генерация из шаблонов внутри inst/prompts/. Унифицированные параметры моделей: ● chat_anthropic(), chat_openai(), chat_gemini(), chat_azure() теперь принимают аргумент params, в который можно передать temperature, seed и пр. через params(). Учёт стоимости: ● Chat$get_cost(), tokens_usage(), и сам принт объекта Chat теперь показывают оценку стоимости (в токенах и долларах). Поддержка новых провайдеров: Добавлены клиенты для: ● Hugging Face:chat_huggingface() ● Mistral: chat_mistral() ● Portkey: chat_portkey() + models_portkey() Переименования функций (с поддержкой старых имён): ● chat_azure() → chat_azure_openai() ● chat_bedrock() → chat_aws_bedrock() ● chat_gemini() → chat_google_gemini() Также обновлены дефолтные модели: ● chat_anthropic() теперь использует Sonnet 3.7 ● chat_openai() — GPT-4.1 Фичи для разработчиков: ● Chat$get_provider() — доступ к провайдеру. ● Chat$chat_async() и Chat$stream_async() поддерживают tool_mode = "sequential"/"concurrent" — влияет на последовательность вызова инструментов. ● Chat$stream() и stream_async() теперь могут стримить ContentToolRequest/Result. ● Поддержка хуков Chat$on_tool_request() и on_tool_result() — можно логировать или вмешиваться в обработку инструментов. Работа с инструментами: ● tool() теперь поддерживает .annotations (через tool_annotations()), описывающие инструменты. ● tool_reject() — отказ от вызова инструмента с объяснением, почему. Новое в ContentToolResult: ● Можно возвращать прямо из tool(). ● Теперь есть extra, request, и error поля. Мелкие улучшения и фиксы: ● Установлен кастомный User-Agent и увеличен timeout до 5 минут. ● chat_anthropic() теперь поддерживает content_image_url() и новый тип thinking. ● Новые способы аутентификации в Gemini и Vertex через GEMINI_API_KEY и Google ADC. ● chat_anthropic(max_tokens = ) теперь deprecated — используйте params =. Сам пока не обновлялся, только увидел новость о релизе. #новости_и_релизы_по_R

2,230 views

Опубликован 13 мая

Добавилглаву про интеграцию LLM моделей в telegram ботов в учебник "Разработка Telegram ботов на языке R" Содержание главы: 1. Как мы используем LLM в рабочих процессах 2. Генерация API ключа 3. Работа с LLM в R 3.1. Создание чата и отправка запроса 3.2. Извлечение структурированных данных из текста 3.3. Добавление в чат инструментов 4. Интеграция LLM модели в бот 4.1. Дообучение бота на своих данных 5. Заключение Если вдруг кто впервые об этом учебнике слышит, то ниже его полное содержание: 1. Создаём бота и отправляем с его помощью сообщения в telegram 2. Добавляем боту поддержку команд и фильтры сообщений, класс Updater 3. Как добавить боту поддержку клавиатуры 4. Построение последовательного, логического диалога с ботом 5. Интегрируем в бота искусственный интеллект 6. Управление правами пользователей бота 7. Повышаем стабильность работы бота 8. Добавляем боту асинхронность 9. Упаковываем бота в Docker контейнер 10. Разворачиваем бота в облачных сервисах Т.е. по этому учебнику вы с нуля научитесь писать telegram ботов любой сложности, и разворачивать их в некоторых облачных платформах или на своём сервере. #учебники_по_R

3,160 views

Опубликован 6 мая

Новыйвидеоурок: Интеграция LLM моделей в Telegram-ботов на R В этом видео я расскажу, как интегрировать искусственный интеллект в Telegram-бота, используя язык R и пакеты telegram.bot и ellmer. В видео вы увидите: ● Как сгенерировать API-ключ для работы с LLM ● Как использовать пакет ellmer для общения с LLM моделями ● Как извлекать данные из текста и классифицировать сообщения ● Как интегрировать внешние API через LLM ● Как подключить LLM модель к вашему боту ● Как сохранить состояние чата между сессиями ● Как дообучить бота своими данными Материал частично дублирует урок по ellmer + shiny, кто его видел можете начинать просмотр этого видео сразу с 18 минуты. Тайм коды: 00:00 О чём это видео 00:46 Генерация API ключа 02:20 Введение в пакет ellmer 03:20 Создаём объект чата 06:44 Извлечение структурированных данных их текста с помощью LLM моделей 10:35 Классификация текста с помощью LLM моделей 13:53 Интеграция LLM моделей со сторонними API 18:33 Как интегрировать LLM модель в telegram бота 23:27 Как сохранять состояние чатов между разными сессиями бота 26:24 Как дообучить telegram бота своими данными 28:58 Заключение Ссылки: - Код продемонстрированный в видео #видео_уроки_по_R

2,340 views

Опубликован 29 апр.

Опубликовалтекстовую версию урока об использовании LLM моделей в R Для тех кому текст лучше воспринимается опубликовал статью на основе урока "Использование LLM-моделей в языке R — на практике и бесплатно". Содержание: 1. Как мы используем LLM в рабочих процессах 2. Генерация API ключа для работы с LLM 3. Работа с LLM в R 4. Как с помощью LLM извлекать структурированные данные из текста 5. Добавляем в чат инструменты 6. Создаём Shiny интерфейс для чата 7. Как дообучить модель своими данными 8. Заключение #статьи_по_R

2,400 views

Опубликован 24 апр.

Новыйвидеоурок: Использование LLM-моделей в языке R — на практике и бесплатно В этом видео я показываю реальный кейс из своей работы, где мы встроили LLM-модели (на примере Gemini) в ежедневные процессы аналитики — всё с помощью языка R. Весь показанный функционал реализован на 100% бесплатно, без покупки подписок или платных API. На основе пакетов ellmer и shinychat я шаг за шагом объясняю, как создать умного чат-бота, обрабатывать текст, подключать сторонние API и даже дообучать модель под себя. В этом видео вы узнаете: ● Как бесплатно получить API-ключ Gemini и подключить его к R. ● Как настраивать и использовать объект chat. ● Как с помощью LLM извлекать структурированные данные из текста. ● Как добавить в чат сторонние API как "инструменты". ● Как построить простой, но мощный графический интерфейс с shinychat. ● Как дообучить модель своими данными — для точных ответов под ваш контекст. Тайм коды: 00:00 О чём это видео 01:05 Кейс практического внедрения AI в рабочие процессы 06:49 Введение в пакет ellmer 08:20 Как бесплатно сгенерировать API ключ для работы с Gemini API 09:05 Аргументы конструктора LLM чатов 11:07 Создаём объект chat 13:01 Методы объекта chat 14:30 Отправляем запрос в LLM 17:03 Извлечение структурированных данных из текста 24:15 Добавляем в чат инструменты, работа со сторонними API 28:17 Создаём графический интерфейс для нашего чата с помощью shinychat 31:02 Как дообучить модель своими данными 33:50 Заключение Ссылки: - Код продемонстрированный в видео #видео_уроки_по_R

3,790 views
12345•••10•••15•••20•••25•••30•••35•••40•••45•••50•••55•••60•••65•••70•••75•••80•••8384