Package for Inferencing AI at DSC
Project description
aidsc
Small Python client for the Zeus control plane (vllm-orchestrator): typed language inference payloads, health checks, optional PAMD SSH when Zeus is not on localhost, and POST /api/requests.
Install (this monorepo)
From the repository root:
uv sync
aidsc is linked as an editable path dependency; then:
from aidsc import aidsc, LanguageArgs, LanguageInferenceRequest
Quick usage
from aidsc import aidsc, LanguageArgs, LanguageInferenceRequest
client = aidsc() # reads .env via python-dotenv
client.ensure_ready()
req = LanguageInferenceRequest(
args=LanguageArgs(
model="gpt-oss-20b",
questions=["Answer in one sentence: what is 2+2?"],
),
max_context_length=8192,
max_server_uptime=604800,
max_new_tokens=512,
total_concurrent_models=1,
max_num_seqs=8,
)
out = client.infer(req, server=117) # pin class117.sc.fsu.edu
print(out)
How this relates to Zeus
- Your code builds a
LanguageInferenceRequestand callsaidsc.infer, which sends JSON toPOST /api/requestson Zeus (see app.py). - Zeus validates a
ZeusRequest, picks a lab machine (or honorsserver), and drives the receiver on that host over SSH (see utils/ssh/orchestrator.py). GET /api/zeus-healthon Zeus returns{"healthy": true}for local liveness only.
Environment variables
| Variable | Purpose |
|---|---|
aidsc_ZEUS_LOCAL_URL |
Default http://127.0.0.1:32553 — Zeus when you are on the Zeus host. |
aidsc_ZEUS_REMOTE_URL |
Default http://144.174.11.196:32553 — Zeus URL as reachable from PAMD (used when localhost is down). |
aidsc_SSH_PAMD |
Full SSH prefix, e.g. ssh user@pamd.sc.fsu.edu, used when localhost health fails. |
Interactive bootstrap (writes .env and ensures .gitignore contains .env when in a git repo):
aidsc().setup_interactive()
Payload shape
Matches data/sample_payload.json: type is always "language" for now; args holds model and questions. These map to Zeus POST /api/requests fields:
| Field | Zeus JSON key | Default |
|---|---|---|
max_context_length |
max_context_length |
8192 |
max_model_len |
(alias for max_context_length ) |
— |
max_server_uptime |
max_server_uptime |
604800 (7 days) |
max_new_tokens |
max_new_tokens |
512 |
total_concurrent_models |
total_concurrent_models |
1 |
max_num_seqs |
max_num_seqs |
8 |
aidsc.infer(..., max_new_tokens=...) still overrides the request’s max_new_tokens when passed.
Layout
| Path | Role |
|---|---|
src/aidsc/client.py |
aidsc, mapping to Zeus JSON |
src/aidsc/models.py |
Pydantic payload models |
src/aidsc/zeus_client.py |
HTTP health + /api/requests |
src/aidsc/connectivity.py |
Localhost vs PAMD+remote health |
src/aidsc/env_bootstrap.py |
.env load, .gitignore for .env |
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
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 aidsc-0.1.1.tar.gz.
File metadata
- Download URL: aidsc-0.1.1.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecd9ca67c7176dcf83ce950a3b5714caa2f124d25f14d258c69096aa40ce7835
|
|
| MD5 |
16da3798fbbc773a8309639c048e89e2
|
|
| BLAKE2b-256 |
6cdc7ef8ac9533d53aa607b01f090beae530d7c9457d6fdbb3726a2be9ae361a
|
File details
Details for the file aidsc-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aidsc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4378c469f9bd399fe7c1e1e66a8c8365f7508cea15f58ded7afac69b780411fa
|
|
| MD5 |
46e4c81f50866112e933248870119de1
|
|
| BLAKE2b-256 |
4144557e047e82679dbd7797be2261217fb57b51424c8ca607eddb5365ac8322
|