Text Generation
Transformers
Safetensors
English
llama
astheral
instruct
qlora
conversational
text-generation-inference
Instructions to use SEE7/Astheral with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SEE7/Astheral with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="SEE7/Astheral") 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("SEE7/Astheral") model = AutoModelForCausalLM.from_pretrained("SEE7/Astheral", 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 SEE7/Astheral with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "SEE7/Astheral" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SEE7/Astheral", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/SEE7/Astheral
- SGLang
How to use SEE7/Astheral 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 "SEE7/Astheral" \ --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": "SEE7/Astheral", "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 "SEE7/Astheral" \ --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": "SEE7/Astheral", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use SEE7/Astheral with Docker Model Runner:
docker model run hf.co/SEE7/Astheral
Download release_tools/rescore.py from SEE7/Astheral: direct link, hf CLI and curl.
- Browser
- Download file 3.57 kB
-
https://huggingface.co/SEE7/Astheral/resolve/main/release_tools/rescore.py
- Command line
-
hf download hf://SEE7/Astheral/release_tools/rescore.py
-
curl -L -o rescore.py https://huggingface.co/SEE7/Astheral/resolve/main/release_tools/rescore.py
3.57 kB
| """Apply the corrected answer parser to both models' saved generations.""" | |
| import json,hashlib | |
| from pathlib import Path | |
| from huggingface_hub import HfApi,hf_hub_download,CommitOperationAdd | |
| from evaluate import check,summary | |
| api=HfApi();repo="SEE7/Astheral" | |
| def read(name):return Path(hf_hub_download(repo,name)).read_text() | |
| m=json.loads(read("evaluation.json")) | |
| assert m["version"]=="2" | |
| changed={} | |
| outputs={} | |
| for filename in ["base_outputs.json","astheral_outputs.json","astheral_merged_outputs.json","merged_regressions_outputs.json"]: | |
| rows=json.loads(read(filename)) | |
| for row in rows:row["pass"]=check(row,row["output"]) | |
| outputs[filename]=rows | |
| changed[filename]=json.dumps(rows,indent=2) | |
| m["base_scores"]=summary(outputs["base_outputs.json"]) | |
| m["astheral_scores"]=summary(outputs["astheral_outputs.json"]) | |
| m["merged_scores"]=summary(outputs["astheral_merged_outputs.json"]) | |
| for field,filename in [("astheral_scores","astheral_outputs.json"),("merged_scores","astheral_merged_outputs.json")]: | |
| confirmations=[r for r in outputs[filename] if r["group"]=="confirmation"] | |
| if confirmations:m[field]["confirmation"]={"passed":sum(r["pass"] for r in confirmations),"total":len(confirmations)} | |
| s=m["merged_scores"];b=m["base_scores"] | |
| m["evaluation_parser_revision"]="2: boxed answer, unambiguous leading answer paragraph, then numeric fallback" | |
| m["quality_gate_passed"]=(s["regression"]["passed"]==2 and s["fresh"]["passed"]==s["fresh"]["total"] and s["number"]["passed"]>=b["number"]["passed"]) | |
| if "confirmation" in s:m["quality_gate_passed"] &= s["confirmation"]["passed"]==s["confirmation"]["total"] | |
| mode_rows=outputs["astheral_merged_outputs.json"] | |
| mode_passed=sum(("<think>" not in r["output"] and "</think>" not in r["output"]) if r["mode"]=="instruct" else (r["output"].lstrip().startswith("<think>") and "</think>" in r["output"]) for r in mode_rows) | |
| m["mode_adherence"]={"passed":mode_passed,"total":len(mode_rows)} | |
| m["quality_gate_passed"] &= mode_passed==len(mode_rows) | |
| m["thinking_output_characters"]={name:sum(len(r["output"]) for r in rows if r["mode"]=="thinking")/sum(r["mode"]=="thinking" for r in rows) for name,rows in [("base",outputs["base_outputs.json"]),("astheral",outputs["astheral_merged_outputs.json"])]} | |
| changed["evaluation.json"]=json.dumps(m,indent=2) | |
| changed["evaluate.py"]=Path(__file__).with_name("evaluate.py").read_text() | |
| # Keep future reruns aligned with the corrected comparative gate. | |
| train=read("train.py") | |
| train=train.replace('s["number"]["passed"]>=14','s["number"]["passed"]>=max(14,summary(baseline)["number"]["passed"])') | |
| changed["train.py"]=train | |
| settings=read("settings.json") | |
| fingerprint=hashlib.sha256(("NousResearch/DeepHermes-3-Llama-3-8B-Preview"+"53d902c7dcfa4c749a3b455149064f82af2e2549"+changed["evaluate.py"]+settings).encode()).hexdigest() | |
| changed["v2-baseline.json"]=json.dumps({"fingerprint":fingerprint,"outputs":outputs["base_outputs.json"],"parser_corrected_without_regenerating":True}) | |
| manifest=json.loads(read("artifact_manifest.json")) | |
| for name,body in changed.items():manifest[name]={"bytes":len(body.encode()),"sha256":hashlib.sha256(body.encode()).hexdigest()} | |
| changed["artifact_manifest.json"]=json.dumps(manifest,indent=2) | |
| api.create_commit(repo_id=repo,operations=[CommitOperationAdd(path_in_repo=n,path_or_fileobj=v.encode()) for n,v in changed.items()],commit_message="Correct numerical answer extraction consistently for base and Astheral evaluations") | |
| print("CORRECTED_EVALUATION",json.dumps({"base":b,"astheral":s,"quality_gate_passed":m["quality_gate_passed"]}),flush=True) | |