No project description provided
Project description
hep-data-llm
Table of Contents
Introduction
This repo contains the code used to translate english queries for plots into the actual plots using LLM's and python packages and tools like ServiceX, Awkward, Vector, and hist.
Benchmark studies with the 8 adl-index as presented in conferences can be found in the results directory.
Use --help at the root level and on commands (e.g. hep-data-llm plot --help) to get a complete list of options.
Installation
To run out of the box you'll need to do the following once:
Prerequisites:
- You'll need to have
dockerinstalled on your machine - Build the
dockerimage that is used to runservicex,awkward, and friends:docker build -t atlasplotagent:latest Docker - If you are running a
servicexworkflow, get an access token. Make sure theservicex.yamlfile is either in your home directory or your current working directory. - You'll need token(s) to access the LLM. Here is what the
.envlooks like. Please create this either in your local directory or your home directory. Make sure only you can read it: this is access to a paid service!
api_openai_com_API_KEY=<openai-key>
api_together_xyz_API_KEY=<together.ai key>
openrouter_ai_API_KEY=<openrouter-key>
Running in a local python environment
pip install hep-data-llm
hep-data-llm plot "Plot the ETmiss of all events in the rucio dataset mc23_13p6TeV:mc23_13p6TeV.801167.Py8EG_A14NNPDF23LO_jj_JZ2.deriv.DAOD_PHYSLITE.e8514_e8528_a911_s4114_r15224_r15225_p6697." output.md
The output will be in output.md - view in a markdown rendering problem (I use vscode). A img directory will be created and it will contain the plot (hopefully).
Use hep-data-llm plot --help to see all the options you can give it. It defaults to using gpt-5, the most successful model in tests.
Default questions
A questions.yaml file is bundled with the package containing a list of common plotting questions. To run one of these questions by number, pass the index (starting from 1) instead of the full text:
hep-data-llm plot 1 output.md
This will execute the first question from questions.yaml.
Running with uvx
This is great if you want to just run once or twice.
uvx hep-data-llm plot "Plot the ETmiss of all events in the rucio dataset mc23_13p6TeV:mc23_13p6TeV.801167.Py8EG_A14NNPDF23LO_jj_JZ2.deriv.DAOD_PHYSLITE.e8514_e8528_a911_s4114_r15224_r15225_p6697." output.md
This uses the uvx tool to install a temporary environment. If you want to keep this around to use, you can use uv tool install hep-data-llm. Do remember to update it every now and then!
Usage
new profile
Use the `new profile " to create a new profile. It copies the default profile, and you can then modify it and update it with new prompt or other items.
License
hep-data-llm is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hep_data_llm-1.1.0b1.tar.gz.
File metadata
- Download URL: hep_data_llm-1.1.0b1.tar.gz
- Upload date:
- Size: 9.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
716d30403cfa471bc342813c1c36fe25d76f1658cbbc66ab4bb6e23682e07ac4
|
|
| MD5 |
96b805c09052168d249c95d8ff2b0a32
|
|
| BLAKE2b-256 |
1c34243cf29649e141de2c6f5661cac5a37e7e0b8175d98f67d69cd00ca5dabc
|
Provenance
The following attestation bundles were made for hep_data_llm-1.1.0b1.tar.gz:
Publisher:
publish.yaml on gordonwatts/hep-data-llm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hep_data_llm-1.1.0b1.tar.gz -
Subject digest:
716d30403cfa471bc342813c1c36fe25d76f1658cbbc66ab4bb6e23682e07ac4 - Sigstore transparency entry: 524785210
- Sigstore integration time:
-
Permalink:
gordonwatts/hep-data-llm@f1ff83a90ded36d2a1f4ae4750cfa1f5f80f3ac5 -
Branch / Tag:
refs/tags/1.1.0b1 - Owner: https://github.com/gordonwatts
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f1ff83a90ded36d2a1f4ae4750cfa1f5f80f3ac5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hep_data_llm-1.1.0b1-py3-none-any.whl.
File metadata
- Download URL: hep_data_llm-1.1.0b1-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e77af8611784c4c2af4f003165df245daa3d6a415b6907d98a708974fa2b2881
|
|
| MD5 |
c049ca4488d6fbb6cc4de1ac478f7010
|
|
| BLAKE2b-256 |
4e0bd0b91cd5747a47be85ceca7079c0a47f22f11e0f07f19053ce8cc070a7b4
|
Provenance
The following attestation bundles were made for hep_data_llm-1.1.0b1-py3-none-any.whl:
Publisher:
publish.yaml on gordonwatts/hep-data-llm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hep_data_llm-1.1.0b1-py3-none-any.whl -
Subject digest:
e77af8611784c4c2af4f003165df245daa3d6a415b6907d98a708974fa2b2881 - Sigstore transparency entry: 524785236
- Sigstore integration time:
-
Permalink:
gordonwatts/hep-data-llm@f1ff83a90ded36d2a1f4ae4750cfa1f5f80f3ac5 -
Branch / Tag:
refs/tags/1.1.0b1 - Owner: https://github.com/gordonwatts
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f1ff83a90ded36d2a1f4ae4750cfa1f5f80f3ac5 -
Trigger Event:
push
-
Statement type: