https://github.com/darkstarstrix/nexa_auto

Repo For fine tune runs and notebook transparency

https://github.com/darkstarstrix/nexa_auto

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Repo For fine tune runs and notebook transparency

Basic Info
  • Host: GitHub
  • Owner: DarkStarStrix
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 5.43 MB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 12 months ago · Last pushed 12 months ago
Metadata Files
Readme License

README.md

Nexa Auto

Nexa Auto is your all-in-one, session-aware CLI and TUI tool for fine-tuning Hugging Face-compatible models. It makes secure, repeatable, and portable LLM fine-tuning as simple as following a guided workflow—no notebooks, no cloud lock-in, no headaches.


Why Nexa Auto?

  • CLI & TUI: Choose your interface—modern terminal UI (Go/BubbleTea) or a sleek CLI (Python Rich).
  • Secure by design: Your Hugging Face token is kept in memory, never written to disk.
  • Guided workflow: Select model, dataset, and output step-by-step.
  • Hardware smart: Detects and displays your CPU/GPU resources.
  • LoRA/PEFT ready: Efficient adapter-based fine-tuning out of the box.
  • Extensible: Modular for new training modes, hardware checks, and logging.

Installation

Requirements: - Python 3.8+ (backend & CLI) - Go 1.18+ (for TUI, optional) - CUDA GPU (recommended) - Hugging Face access token

Get started: ```bash git clone https://github.com/your-org/nexa-auto.git cd nexa-auto pip install -r requirements.txt

(Optional) For TUI:

cd go_cli go mod tidy ```


Quickstart

  1. Start the session server: bash python session_server.py
  2. Launch your interface:
    • CLI: python cli.py
    • TUI: cd go_cli && go run main.go
  3. Follow the prompts:
    • Enter your Hugging Face token (first run)
    • Pick your base model and dataset
    • Name your output
    • Confirm hardware
    • Start training!
  4. Monitor progress:
    Watch logs and training status live in your chosen interface.

How It Works

  • Session Server: Local FastAPI server keeps your Hugging Face token safe in memory.
  • CLI/TUI: Guides you through model/dataset/output selection and training.
  • Trainer Backend: Handles model loading, tokenization, LoRA/PEFT, and artifact saving.

Project Structure

nexa_auto/ ├── cli.py # Python CLI (Rich) ├── session_server.py # Secure token server (FastAPI) ├── trainer_server.py # Training backend (REST) ├── go_cli/ # Go TUI (BubbleTea) ├── doc.md # Technical docs └── README.md


Security

  • No secrets on disk: Tokens are only in memory, encrypted.
  • Local-only: Session server listens only on localhost.
  • Clear on exit: Tokens wiped at session end or on request.

Example Workflow

```bash python session_server.py python cli.py

or

cd go_cli && go run main.go ``` - Authenticate with your Hugging Face token. - Select model, dataset, and output name. - Confirm hardware. - Start and monitor training. - Retrieve your fine-tuned model—ready for Hugging Face Hub!


Extending Nexa Auto

  • Add new training modes: edit remote.py and update the UI.
  • Add hardware checks: extend hardware.py.
  • Add logging/metrics: hook into logging.py.

Documentation

See doc.md for full technical details, architecture, and extension notes.


Contributing

We welcome issues, feature requests, and PRs!
Open an issue or pull request to get involved.


License

MIT License. See LICENSE.


Owner

  • Name: Allan Murimi Wandia
  • Login: DarkStarStrix
  • Kind: user
  • Location: U.S.A
  • Company: Freelance

Full stack Dev Turning ideas into projects

GitHub Events

Total
  • Watch event: 3
  • Push event: 6
  • Create event: 2
Last Year
  • Watch event: 3
  • Push event: 6
  • Create event: 2

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-go v4 composite
  • actions/setup-python v4 composite
Dockerfile docker
  • golang 1.21-alpine build
  • python 3.10-slim build
go_cli/go.mod go
  • github.com/adhocore/chin v1.1.0
  • github.com/aymanbagabas/go-osc52/v2 v2.0.1
  • github.com/charmbracelet/bubbletea v1.3.5
  • github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc
  • github.com/charmbracelet/lipgloss v1.1.0
  • github.com/charmbracelet/x/ansi v0.8.0
  • github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd
  • github.com/charmbracelet/x/term v0.2.1
  • github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f
  • github.com/lucasb-eyer/go-colorful v1.2.0
  • github.com/mattn/go-isatty v0.0.20
  • github.com/mattn/go-localereader v0.0.1
  • github.com/mattn/go-runewidth v0.0.16
  • github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6
  • github.com/muesli/cancelreader v0.2.2
  • github.com/muesli/termenv v0.16.0
  • github.com/rivo/uniseg v0.4.7
  • github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e
  • golang.org/x/sync v0.13.0
  • golang.org/x/sys v0.32.0
  • golang.org/x/text v0.3.8
go_cli/go.sum go
  • github.com/adhocore/chin v1.1.0
  • github.com/aymanbagabas/go-osc52/v2 v2.0.1
  • github.com/charmbracelet/bubbletea v1.3.5
  • github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc
  • github.com/charmbracelet/lipgloss v1.1.0
  • github.com/charmbracelet/x/ansi v0.8.0
  • github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd
  • github.com/charmbracelet/x/term v0.2.1
  • github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f
  • github.com/lucasb-eyer/go-colorful v1.2.0
  • github.com/mattn/go-isatty v0.0.20
  • github.com/mattn/go-localereader v0.0.1
  • github.com/mattn/go-runewidth v0.0.16
  • github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6
  • github.com/muesli/cancelreader v0.2.2
  • github.com/muesli/termenv v0.16.0
  • github.com/rivo/uniseg v0.2.0
  • github.com/rivo/uniseg v0.4.7
  • github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e
  • golang.org/x/sync v0.13.0
  • golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e
  • golang.org/x/sys v0.6.0
  • golang.org/x/sys v0.32.0
  • golang.org/x/text v0.3.8
pyproject.toml pypi
  • fastapi >=0.115.14
  • pillow >=11.2.1
  • pydantic >=2.11.7
  • rich >=14.0.0
  • uvicorn >=0.35.0
uv.lock pypi
  • annotated-types 0.7.0
  • anyio 4.9.0
  • click 8.2.1
  • colorama 0.4.6
  • exceptiongroup 1.3.0
  • fastapi 0.115.14
  • h11 0.16.0
  • idna 3.10
  • markdown-it-py 3.0.0
  • mdurl 0.1.2
  • nexa-auto 0.1.0
  • pillow 11.2.1
  • pydantic 2.11.7
  • pydantic-core 2.33.2
  • pygments 2.19.2
  • rich 14.0.0
  • sniffio 1.3.1
  • starlette 0.46.2
  • typing-extensions 4.14.0
  • typing-inspection 0.4.1
  • uvicorn 0.35.0