Skip to main content

No project description provided

Project description

hep-data-llm

PyPI - Version PyPI - Python Version


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:

  1. You'll need to have docker installed on your machine
  2. Build the docker image that is used to run servicex, awkward, and friends: docker build -t atlasplotagent:latest Docker
  3. If you are running a servicex workflow, get an access token. Make sure the servicex.yaml file is either in your home directory or your current working directory.
  4. You'll need token(s) to access the LLM. Here is what the .env looks 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hep_data_llm-1.1.0b1.tar.gz (9.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hep_data_llm-1.1.0b1-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

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

Hashes for hep_data_llm-1.1.0b1.tar.gz
Algorithm Hash digest
SHA256 716d30403cfa471bc342813c1c36fe25d76f1658cbbc66ab4bb6e23682e07ac4
MD5 96b805c09052168d249c95d8ff2b0a32
BLAKE2b-256 1c34243cf29649e141de2c6f5661cac5a37e7e0b8175d98f67d69cd00ca5dabc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hep_data_llm-1.1.0b1.tar.gz:

Publisher: publish.yaml on gordonwatts/hep-data-llm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for hep_data_llm-1.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 e77af8611784c4c2af4f003165df245daa3d6a415b6907d98a708974fa2b2881
MD5 c049ca4488d6fbb6cc4de1ac478f7010
BLAKE2b-256 4e0bd0b91cd5747a47be85ceca7079c0a47f22f11e0f07f19053ce8cc070a7b4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page