tech-advisor / CLAUDE.md
aslanconfig's picture
Initial commit: Tech Advisor fine-tuned on AWS DevOps Agent docs
975da6d
|
Raw
History Blame Contribute Delete
1.84 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

Tech Advisor: a Gradio chatbot fine-tuned on AWS DevOps Agent documentation. Uses NVIDIA Llama-3.1-Nemotron-Nano-4B-v1.1 as the base model, fine-tuned with QLoRA. Deployed to Hugging Face Spaces with ZeroGPU (no cloud APIs at inference).

Architecture

  • app.py β€” Gradio text chat interface using @spaces.GPU decorator for ZeroGPU. Loads model via transformers AutoModelForCausalLM + AutoTokenizer. Text-only (no vision).
  • training/ β€” Offline pipeline (runs on EC2 with GPU, not in the Space):
    • prepare_data.py β€” Converts raw markdown docs in training/data/raw/ into instruction-response JSONL pairs
    • train.py β€” QLoRA fine-tuning (4-bit NF4, LoRA r=16 on q/k/v/o projections)
    • push_to_hub.py β€” Merges adapter into base model and pushes to HF Hub

Commands

# Run the Gradio app locally (requires GPU or will be very slow on CPU)
python app.py

# Training pipeline (run on GPU instance)
python training/prepare_data.py          # raw docs β†’ training/data/train.jsonl
pip install -r training/requirements.txt
python training/train.py                 # QLoRA fine-tune β†’ training/output/
python training/push_to_hub.py           # merge + push to HF Hub

Deployment

Two git remotes:

  • origin β†’ GitHub
  • space β†’ Hugging Face Space (git push space main to deploy)

Hardware: ZeroGPU in HF Spaces. No secrets or API keys needed.

Key Configuration

  • MODEL_ID in app.py controls which model is loaded at inference (base or fine-tuned)
  • HUB_REPO in training/push_to_hub.py is the target HF repo for the merged model
  • Training hyperparams in training/train.py: epochs=3, batch=2, grad_accum=8, lr=2e-4, max_seq_length=4096