Fuente del modelo
Extracto de la fuente
Artefactos del modelo
1 artefactomodel.safetensors
safetensors · 30,5 GB · SHA-256 f15aaaf56fe4…d968
Extractos de fuentes
3 extractos--- language: - en - ko library_name: transformers pipeline_tag: text-generation tags: - terminal - sft - vllm - tb2-lite base_model: google/gemma-4-E4B --- # LLM-OS-Models/gemma-4-E4B-Terminal-SFT-Native-Liquid-2Epoch 터미널 작업 자동화를 위한 Terminal SFT 모델입니다. 입력된 작업/이전 터미널 상태를 보고 다음에 실행할 명령을 JSON 형태로 생성하는 용도로 학습했습니다. ## 모델 요약 - Base model: `google/gemma-4-E4B` - Training setup: `2 epochs, Gemma native Liquid preprocessing` - Evaluation snapshot: `2026-05-14 07:16:54 UTC` - Evaluation result id: `gemma4_e4b_base_native_e2` ## Quickstart 설치와 로그인: ```bash pip install -U vllm transformers huggingface_hub huggingface-cli login ``` 관련 코드: - GitHub: https://github.com/LLM-OS-Models/Terminal - vLLM 평가 실행: `tb2_lite/scripts/replay_eval.py` - chat template/fallback 생성: `tb2_lite/scripts/prompt_builder.py` - JSON/command 채점: `tb2_lite/scripts/replay_metrics.py` vLLM 직접 실행 예시. 평가 코드와 동일하게 chat template을 우선 사용하고, template이 없으면 ChatML/Gemma fallback을 사용합니다. ```python from transformers import AutoTokenizer from vllm import LLM, SamplingParams model_id = "LLM-OS-Models/gemma-4-E4B-Terminal-SFT-Native-Liquid-2Epoch" tp = 1 tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) llm = LLM( model=model_id, tokenizer=model_id, trust_remote_code=True, dtype="bfloat16", tensor_parallel_size=tp, max_model_len=49152, gpu_memory_utilization=0.92, ) messages = [ {"role": "system", "content": "You are a terminal automation assistant. Return JSON only."}, {"role": "user", "content": "Inspect the current directory and list Python files."}, ] def render_chatml(messages): parts = [] for message in messages: role = "assistant" if message["role"] == "assistant" else message["role"] if role == "tool": role = "user" parts.append(f"<|im_start|>{role}\n{message['content']}<|im_end|>\n") parts.append("<|im_start|>assistant\n") return "".join(parts) def render_gemma4_turn(messages, empty_thought_channel=False): parts = ["<bos>"] for message in messages: role = "model" if message["role"] == "assistant" else message["role"] if role == "tool": role = "user" parts.append(f"<|turn>{role}\n{message['content'].strip()}<turn|>\n") parts.append("<|turn>model\n") if empty_thought_channel: parts.append("<|channel>thought\n<channel|>") return "".join(parts) def render_prompt(model_id, tokenizer, messages): model_key = model_id.lower() if "gemma-4...
Source context: 14 downloads · 1 likes · Pipeline text-generation · Library transformers · Repo LLM-OS-Models/gemma-4-E4B-Terminal-SFT-Native-Liquid-2Epoch
Source context: 2298 downloads · 1 likes · Pipeline text-generation · Library transformers · Repo LLM-OS-Models/gemma-4-E4B-Terminal-SFT-Native-Liquid-2Epoch