Попался на глаза ещё один интересный проект Хедли - 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