Text Generation
Transformers
Safetensors
lfm2
liquid
lfm2.5
edge
parallel-constrained-decoding
structured-generation
classification
inference-only
modal
conversational
Instructions to use monotykamary/LFM2.5-2.6B-RLCD with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use monotykamary/LFM2.5-2.6B-RLCD with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="monotykamary/LFM2.5-2.6B-RLCD") 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("monotykamary/LFM2.5-2.6B-RLCD") model = AutoModelForCausalLM.from_pretrained("monotykamary/LFM2.5-2.6B-RLCD", 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 monotykamary/LFM2.5-2.6B-RLCD with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "monotykamary/LFM2.5-2.6B-RLCD" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "monotykamary/LFM2.5-2.6B-RLCD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/monotykamary/LFM2.5-2.6B-RLCD
- SGLang
How to use monotykamary/LFM2.5-2.6B-RLCD 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 "monotykamary/LFM2.5-2.6B-RLCD" \ --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": "monotykamary/LFM2.5-2.6B-RLCD", "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 "monotykamary/LFM2.5-2.6B-RLCD" \ --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": "monotykamary/LFM2.5-2.6B-RLCD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use monotykamary/LFM2.5-2.6B-RLCD with Docker Model Runner:
docker model run hf.co/monotykamary/LFM2.5-2.6B-RLCD
File size: 2,666 Bytes
3145545 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | """Stage an explicit allowlist of code/docs/results; never copy credentials or .git."""
import argparse
import hashlib
import json
import shutil
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def build(reports):
output = ROOT / "release" / "pcd"
output.mkdir(parents=True, exist_ok=True)
files = [
ROOT / name
for name in (
"requirements-pcd.txt",
"lfm25_pcd_modal.py",
"README-PCD.md",
"LICENSE-CODE",
"THIRD_PARTY_NOTICES.md",
"ruff.toml",
)
]
files += sorted((ROOT / "pcd").glob("*.py"))
files += sorted((ROOT / "tests" / "pcd").glob("*.py"))
files += sorted((ROOT / "scripts").glob("*pcd*.py"))
files += [ROOT / "docs" / "pcd-results.md"]
files += [ROOT / name for name in reports]
hashes = {}
for source in files:
relative = source.relative_to(ROOT)
if not source.is_file() or source.is_symlink():
raise ValueError(f"expected a regular release file: {relative}")
target = output / relative
target.parent.mkdir(parents=True, exist_ok=True)
shutil.copyfile(source, target)
hashes[str(relative)] = hashlib.sha256(target.read_bytes()).hexdigest()
manifest = {
"files": hashes,
"reports": reports,
"core_files": [
"engine.py",
"cache.py",
"schema.py",
"prompting.py",
"config.py",
"tasks.py",
],
}
for name in reports:
report = json.loads((ROOT / name).read_text())
if not report.get("validation", {}).get("passed") or report.get("budget_exhausted"):
raise ValueError(f"incomplete/failed release report: {name}")
if report["task"] == "benchmark":
for core in manifest["core_files"]:
if report["source_sha256"][core] != hashes[f"pcd/{core}"]:
raise ValueError(f"benchmark/code mismatch: {core}")
# Fail on stale staging files rather than accidentally uploading leftovers.
actual = {str(p.relative_to(output)) for p in output.rglob("*") if p.is_file()}
unexpected = actual - set(hashes) - {"ARTIFACTS.json"}
if unexpected:
raise ValueError(f"unexpected files in release staging: {sorted(unexpected)}")
(output / "ARTIFACTS.json").write_text(json.dumps(manifest, indent=2) + "\n")
print(json.dumps({"directory": str(output), "files": len(hashes)}, indent=2))
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("reports", nargs="+")
build(parser.parse_args().reports)
|