TGViewer
R4marketing | канал Алексея Селезнёва | Язык R R4marketing | канал Алексея Селезнёва | Язык R @r4marketing · 4.13K subscribers
Post #1340 2.78K
Анализ 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
  • 🔥 13
  • ❤ 1
  • 👍 1
More from @r4marketing
  1. Jul 7, 2026Вышел mcptools 1.0.0 Ребята из Posit исправили ошибки, и расширили функционал, судя по ном…
  2. Apr 15, 2026Автоматизация разработки в RStudio с помощью Gemini CLI В новом видео делюсь тем, как у ме…
  3. Mar 24, 2026Наверняка вы в курсе, что проект bookdown.org прекращает свою работу. На данный момент там…
  4. Mar 13, 2026Интерфейс для общения с данными на естественном языке: новый урок по пакету querychat В но…
  5. Feb 24, 2026Мультиагентные системы в R: пакет mini007 Опубликовал шестой урок курса "Язык R для разраб…
  6. Feb 18, 2026plumber2 0.2.0 Совсем недавно я рассказывал про plumber2, и вот появился его свежий релиз.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →