Instructions to use KitsuVp/NeoLLM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KitsuVp/NeoLLM with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="KitsuVp/NeoLLM", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("KitsuVp/NeoLLM", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use KitsuVp/NeoLLM with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "KitsuVp/NeoLLM" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "KitsuVp/NeoLLM", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/KitsuVp/NeoLLM
- SGLang
How to use KitsuVp/NeoLLM 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 "KitsuVp/NeoLLM" \ --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": "KitsuVp/NeoLLM", "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 "KitsuVp/NeoLLM" \ --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": "KitsuVp/NeoLLM", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use KitsuVp/NeoLLM with Docker Model Runner:
docker model run hf.co/KitsuVp/NeoLLM
Update modeling_neollm.py
Browse files- modeling_neollm.py +3 -3
modeling_neollm.py
CHANGED
|
@@ -4836,8 +4836,8 @@ class SpellingBeeEmbedding(nn.Module):
|
|
| 4836 |
# ββ Step 3b: LayerNorm over character embeddings (float32 for stability)
|
| 4837 |
# Mirrors reference impl (character_norm=True). Ensures E[βe_charsβΒ²]
|
| 4838 |
# matches E[βe_tokβΒ²] regardless of token byte-length distribution.
|
| 4839 |
-
e_chars_vocab = self.char_norm(e_chars_vocab.
|
| 4840 |
-
|
| 4841 |
# ββ Step 4: gather only the tokens present in this batch ββββββββββββ
|
| 4842 |
# This is the only BΓS operation β a single embedding lookup.
|
| 4843 |
e_chars = e_chars_vocab[token_ids] # [B, S, d] or [N, d]
|
|
@@ -4878,7 +4878,7 @@ class SpellingBeeEmbedding(nn.Module):
|
|
| 4878 |
self.token_bytes,
|
| 4879 |
torch.arange(self.MAX_BYTES, device=rope_bytes.device),
|
| 4880 |
].sum(1) * self.inv_sqrt_lens.unsqueeze(-1) # [V, d]
|
| 4881 |
-
e_chars_vocab = self.char_norm(e_chars_vocab.
|
| 4882 |
return (token_emb_weight + e_chars_vocab) * 0.5
|
| 4883 |
|
| 4884 |
|
|
|
|
| 4836 |
# ββ Step 3b: LayerNorm over character embeddings (float32 for stability)
|
| 4837 |
# Mirrors reference impl (character_norm=True). Ensures E[βe_charsβΒ²]
|
| 4838 |
# matches E[βe_tokβΒ²] regardless of token byte-length distribution.
|
| 4839 |
+
e_chars_vocab = self.char_norm(e_chars_vocab.to(self.char_norm.weight.dtype)).to(token_embeds.dtype)
|
| 4840 |
+
|
| 4841 |
# ββ Step 4: gather only the tokens present in this batch ββββββββββββ
|
| 4842 |
# This is the only BΓS operation β a single embedding lookup.
|
| 4843 |
e_chars = e_chars_vocab[token_ids] # [B, S, d] or [N, d]
|
|
|
|
| 4878 |
self.token_bytes,
|
| 4879 |
torch.arange(self.MAX_BYTES, device=rope_bytes.device),
|
| 4880 |
].sum(1) * self.inv_sqrt_lens.unsqueeze(-1) # [V, d]
|
| 4881 |
+
e_chars_vocab = self.char_norm(e_chars_vocab.to(self.char_norm.weight.dtype)).to(token_emb_weight.dtype)
|
| 4882 |
return (token_emb_weight + e_chars_vocab) * 0.5
|
| 4883 |
|
| 4884 |
|