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

TGINSIGHT POST

Post #1340

@R4marketing

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

Просмотры2,750Количество просмотров
Опубликован28 мая28.05.2025, 08:02
Содержимое поста

Содержимое

Анализ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