%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname pairwiseLLM %global packver 1.1.0 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 1.1.0 Release: 1%{?dist}%{?buildtag} Summary: Pairwise Comparison Tools for Large Language Model-Based Writing Evaluation License: MIT + file LICENSE URL: https://cran.r-project.org/package=%{packname} Source0: %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz BuildRequires: R-devel >= 4.1 Requires: R-core >= 4.1 BuildArch: noarch BuildRequires: R-CRAN-curl BuildRequires: R-CRAN-dplyr BuildRequires: R-CRAN-httr2 BuildRequires: R-CRAN-jsonlite BuildRequires: R-CRAN-rlang BuildRequires: R-stats BuildRequires: R-CRAN-tibble BuildRequires: R-CRAN-tidyselect BuildRequires: R-tools BuildRequires: R-utils Requires: R-CRAN-curl Requires: R-CRAN-dplyr Requires: R-CRAN-httr2 Requires: R-CRAN-jsonlite Requires: R-CRAN-rlang Requires: R-stats Requires: R-CRAN-tibble Requires: R-CRAN-tidyselect Requires: R-tools Requires: R-utils %description Provides a unified framework for generating, submitting, and analyzing pairwise comparisons of writing quality using large language models (LLMs). The package supports live and/or batch evaluation workflows across multiple providers ('OpenAI', 'Anthropic', 'Google Gemini', 'Together AI', and locally-hosted 'Ollama' models), includes bias-tested prompt templates and a flexible template registry, and offers tools for constructing forward and reversed comparison sets to analyze consistency and positional bias. Results can be modeled using Bradley–Terry (1952) or Elo rating methods to derive writing quality scores. For information on the method of pairwise comparisons, see Thurstone (1927) and Heldsinger & Humphry (2010) . For information on Elo ratings, see Clark et al. (2018) . %prep %setup -q -c -n %{packname} # fix end of executable files find -type f -executable -exec grep -Iq . {} \; -exec sed -i -e '$a\' {} \; # prevent binary stripping [ -d %{packname}/src ] && find %{packname}/src -type f -exec \ sed -i 's@/usr/bin/strip@/usr/bin/true@g' {} \; || true [ -d %{packname}/src ] && find %{packname}/src/Make* -type f -exec \ sed -i 's@-g0@@g' {} \; || true # don't allow local prefix in executable scripts find -type f -executable -exec sed -Ei 's@#!( )*/usr/local/bin@#!/usr/bin@g' {} \; %build %install mkdir -p %{buildroot}%{rlibdir} %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so) rm -f %{buildroot}%{rlibdir}/R.css # remove buildroot from installed files find %{buildroot}%{rlibdir} -type f -exec sed -i "s@%{buildroot}@@g" {} \; %files %{rlibdir}/%{packname}