Text Generation
Transformers
Safetensors
English
qwen2
sofia
knowledge-distillation
technical-assistant
verifiable-kernels
experimental
conversational
text-generation-inference
Instructions to use rootcastleengineering/sofia-chat-distilled-v0.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use rootcastleengineering/sofia-chat-distilled-v0.1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="rootcastleengineering/sofia-chat-distilled-v0.1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("rootcastleengineering/sofia-chat-distilled-v0.1") model = AutoModelForCausalLM.from_pretrained("rootcastleengineering/sofia-chat-distilled-v0.1", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use rootcastleengineering/sofia-chat-distilled-v0.1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "rootcastleengineering/sofia-chat-distilled-v0.1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "rootcastleengineering/sofia-chat-distilled-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/rootcastleengineering/sofia-chat-distilled-v0.1
- SGLang
How to use rootcastleengineering/sofia-chat-distilled-v0.1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "rootcastleengineering/sofia-chat-distilled-v0.1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "rootcastleengineering/sofia-chat-distilled-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "rootcastleengineering/sofia-chat-distilled-v0.1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "rootcastleengineering/sofia-chat-distilled-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use rootcastleengineering/sofia-chat-distilled-v0.1 with Docker Model Runner:
docker model run hf.co/rootcastleengineering/sofia-chat-distilled-v0.1
Download test_generations.json from rootcastleengineering/sofia-chat-distilled-v0.1: direct link, hf CLI and curl.
- Browser
- Download file 2.77 kB
-
https://huggingface.co/rootcastleengineering/sofia-chat-distilled-v0.1/resolve/main/test_generations.json
- Command line
-
hf download hf://rootcastleengineering/sofia-chat-distilled-v0.1/test_generations.json
-
curl -L -o test_generations.json https://huggingface.co/rootcastleengineering/sofia-chat-distilled-v0.1/resolve/main/test_generations.json
2.77 kB
| [ | |
| { | |
| "prompt": "Explain Welch power spectral density estimation in three concise sentences for a junior engineer.", | |
| "reference_response": "Welch PSD averages periodograms of overlapping windowed segments. Averaging reduces estimator variance at the cost of segment-limited frequency resolution. Use power-per-hertz units and correct sampling-rate and window-energy normalization.", | |
| "student_response": "Welch power spectral density estimation is a statistical analysis of a signal's amplitude spectrum. A Gaussian distribution has a maximum power spectral density of 2. In ideal conditions, the noiseless power spectral density is approximately 1. This is the maximum power spectral density for ideal noise." | |
| }, | |
| { | |
| "prompt": "Explain LoRA and low-rank parameter adaptation in three concise sentences for a junior engineer.", | |
| "reference_response": "LoRA trains low-rank updates to selected weight matrices while freezing the base model. This reduces trainable parameters and optimizer memory. A merged adapter changes the full checkpoint and still depends on the original pretrained weights.", | |
| "student_response": "LoRA is a widely used parameter adaptation technique in machine learning, where changing the scale of the feature matrix changes the degree of the correlation between the training set. Compare it with its exact training set and the held-out test set." | |
| }, | |
| { | |
| "prompt": "Explain the difference between a list and a NumPy array in three concise sentences for a junior engineer.", | |
| "reference_response": "A Python list is a general sequence of object references; a NumPy array is a typed numerical container. NumPy arrays support vectorized arithmetic and explicit shapes. Multiplying a list repeats it, while multiplying a numeric array scales its elements.", | |
| "student_response": "A list is a one-dimensional array, and a NumPy array is a multi-dimensional array. A list can be represented by a single value, while a NumPy array has multiple dimensions. The NumPy array needs to be in the same shape as the Python array, but with the correct shape." | |
| }, | |
| { | |
| "prompt": "Explain default-deny authorization for control commands in three concise sentences for a junior engineer.", | |
| "reference_response": "Default-deny authorization rejects commands unless every required permission and condition is satisfied. Check operator authorization, command allowlists, freshness and interlocks before execution. Missing context must not silently become approval.", | |
| "student_response": "In control commands, the system's default-deny authorization is used for authorized control commands. This can be used for manual control and physical interlocks. It does not establish a physical interlock." | |
| } | |
| ] |