Run PG-LLM
Score a new model on the benchmark.
Quickstart
git clone https://github.com/rohitarorayyc/proteingym-llm.git cd proteingym-llm python -m pip install -e . pgllm-data pgllm-init
pgllm-data downloads and verifies the frozen 217-assay split bundle. Add the provider key to the private .env created by pgllm-init.
What pgllm-run does
For every model, assay, set size, and seed, the runner records the exact prompt and split hashes, returned model ID, provider usage, reasoning, raw response, stop reason, and request fingerprint. Only complete, schema-valid rankings enter the scored tree. Failed calls and interrupted streams remain immutable attempts outside it.
pgllm-score aggregates assay โ protein โ functional category, with equal weight at each higher level. The same scorer is used for the public leaderboard.
Example: Kimi K3
The included Kimi profile runs the primary benchmark: N=50, maximum reasoning, and all three fixed seeds. Begin with one assay.
export MOONSHOT_API_KEY=your-key-here export MOONSHOT_BASE_URL=https://api.moonshot.ai/v1 # Validate the endpoint and profile pgllm-models --registry examples/kimi_k3.json --models kimi-k3 # One assay test pgllm-run --registry examples/kimi_k3.json \ --models kimi-k3 \ --assays A0A247D711_LISMN_Stadelmann_2021 \ --sizes 50 --seeds 1 --concurrency 1 pgllm-status --models kimi-k3 --sizes 50 \ --seeds 1 --assays A0A247D711_LISMN_Stadelmann_2021
After the test is clean, launch the full benchmark.
pgllm-run --registry examples/kimi_k3.json \ --models kimi-k3 --sizes 50 --seeds 1 2 3 \ --timeout 7200 --retries 1 pgllm-status --models kimi-k3 --sizes 50 pgllm-score --models kimi-k3 --sizes 50
Models and providers
Copy the OpenAI-compatible registry template and declare the endpoint's model ID, reasoning setting, context window, output ceiling, and metadata requirements.
cp examples/internal_model.json my_model.json export LAB_API_KEY=... export LAB_BASE_URL=https://your-endpoint.example/v1 pgllm-models --registry my_model.json --models lab-model pgllm-run --registry my_model.json \ --models lab-model --sizes 50 --seeds 1 2 3 pgllm-score --models lab-model --sizes 50
Responses-style and Chat Completions-style transports are supported.
Submit to the leaderboard
Retain all three primary seeds, run the scorer and integrity checks, then export the publication bundle.
pgllm-score --models lab-model --sizes 50 --breakdown pgllm-export --models lab-model --sizes 50 \ --output artifacts/lab-model-n50.publication.jsonl.gz
Send the bundle, registry profile, exact command, and provider/model version to rohitarora@g.harvard.edu, or open a GitHub issue. The complete command reference is in the repository.