The “pkgmatch” package uses Language Models (LMs, or equivalently, “LLMs” for large large models) to assess relationships between R packages. Software which relies on LMs commonly accesses them through Application Programming Interfaces (APIs) provided by external organisations such as mistral.ai, jina.ai, or a host of alternative providers. Inputs, generally in text form, are sent to the external service which then responds in some specified form, such as text completions.
Accessing LMs through APIs has the two key advantages of:
In spite of those advantages, building software around external APIs entails several drawbacks, notably including:
We, the developers of this package, believe that the disadvantages of external APIs far outweigh these advantages, and so have developed this package to interface with LMs exclusively through a local server. The server used here is provided by the “ollama” software, which is used to run and serve results from two openly published LM models, both from jina.ai:
The package relies on comparing user inputs with equivalent results from two main corpora of R packages. For the package to work, results must be guaranteed to be directly comparable. The use of stable, openly published models guarantees this ability in ways that external APIs can not.