Text Generation
Transformers
Safetensors
qwen3
llama-factory
full
Generated from Trainer
conversational
text-generation-inference
Instructions to use ayh015/myLightningOPD with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ayh015/myLightningOPD with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ayh015/myLightningOPD") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ayh015/myLightningOPD") model = AutoModelForCausalLM.from_pretrained("ayh015/myLightningOPD", 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ayh015/myLightningOPD with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ayh015/myLightningOPD" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ayh015/myLightningOPD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ayh015/myLightningOPD
- SGLang
How to use ayh015/myLightningOPD 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 "ayh015/myLightningOPD" \ --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": "ayh015/myLightningOPD", "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 "ayh015/myLightningOPD" \ --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": "ayh015/myLightningOPD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ayh015/myLightningOPD with Docker Model Runner:
docker model run hf.co/ayh015/myLightningOPD
| # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
| # SPDX-License-Identifier: Apache-2.0 | |
| def calculate_embedding_flops(seqlen, hidden_size): | |
| return 2 * seqlen * hidden_size | |
| def calculate_lm_head_flops(seqlen, hidden_size, vocab_size): | |
| return 2 * seqlen * hidden_size * vocab_size | |
| def calculate_qkv_projection_flops(args, seqlen, hidden_size, num_attention_heads, num_query_groups): | |
| if args.q_lora_rank is None: | |
| q_flops = 2 * seqlen * hidden_size * num_attention_heads * args.kv_channels | |
| else: | |
| q_flops = ( | |
| 2 | |
| * seqlen | |
| * args.q_lora_rank | |
| * (args.hidden_size + args.num_attention_heads * (args.qk_head_dim + args.qk_pos_emb_head_dim)) | |
| ) | |
| if args.kv_lora_rank is None: | |
| kv_flops = 2 * 2 * seqlen * hidden_size * num_query_groups * args.kv_channels | |
| else: | |
| kv_flops = ( | |
| 2 | |
| * seqlen | |
| * ( | |
| args.kv_lora_rank | |
| * (args.hidden_size + args.num_attention_heads * (args.qk_head_dim + args.v_head_dim)) | |
| + args.hidden_size * args.qk_pos_emb_head_dim | |
| ) | |
| ) | |
| return q_flops + kv_flops | |
| def calculate_attention_flops(args, seqlen, num_attention_heads): | |
| # QK^T with causal | |
| if args.qk_pos_emb_head_dim: | |
| flops = 2 * num_attention_heads * seqlen * seqlen * (args.qk_head_dim + args.qk_pos_emb_head_dim) / 2 | |
| else: | |
| flops = 2 * num_attention_heads * seqlen * seqlen * args.kv_channels / 2 | |
| # A*V | |
| if args.v_head_dim: | |
| flops += num_attention_heads * seqlen * seqlen * args.v_head_dim | |
| else: | |
| flops += num_attention_heads * seqlen * seqlen * args.kv_channels | |
| return flops | |
| def calculate_output_flops(seqlen, hidden_size): | |
| return 2 * seqlen * hidden_size * hidden_size | |
| def calculate_mlp_flops(seqlen, hidden_size, ffn_hidden_size): | |
| return 2 * seqlen * hidden_size * ffn_hidden_size * 3 | |
| def calculate_layer_flops(args, seqlen, hidden_size, num_attention_heads, num_query_groups, ffn_hidden_size): | |
| return ( | |
| calculate_qkv_projection_flops(args, seqlen, hidden_size, num_attention_heads, num_query_groups) | |
| + calculate_attention_flops(args, seqlen, num_attention_heads) | |
| + calculate_output_flops(seqlen, hidden_size) | |
| + calculate_mlp_flops(seqlen, hidden_size, ffn_hidden_size) | |
| ) | |
| def calculate_fwd_flops( | |
| seqlens, | |
| args, | |
| ): | |
| hidden_size = args.hidden_size | |
| num_attention_heads = args.num_attention_heads | |
| num_query_groups = args.num_query_groups | |
| vocab_size = args.vocab_size | |
| total_flops = 0 | |
| dense_ffn = args.ffn_hidden_size | |
| if args.num_experts is None: | |
| num_dense_layers = args.num_layers | |
| num_moe_layers = 0 | |
| else: | |
| shared_expert_ffn = getattr(args, "moe_shared_expert_intermediate_size", None) | |
| if shared_expert_ffn is None: | |
| shared_expert_ffn = 0 | |
| moe_ffn = args.moe_ffn_hidden_size * args.moe_router_topk + shared_expert_ffn | |
| if hasattr(args, "moe_layer_freq"): | |
| if isinstance(args.moe_layer_freq, list): | |
| num_dense_layers = sum(1 for freq in args.moe_layer_freq if freq == 0) | |
| num_moe_layers = sum(1 for freq in args.moe_layer_freq if freq > 0) | |
| else: | |
| num_dense_layers = sum(1 for i in range(args.num_layers) if i % args.moe_layer_freq != 0) | |
| num_moe_layers = sum(1 for i in range(args.num_layers) if i % args.moe_layer_freq == 0) | |
| else: | |
| num_dense_layers = 0 | |
| num_moe_layers = args.num_layers | |
| for seqlen in seqlens: | |
| if num_dense_layers > 0: | |
| total_flops += ( | |
| calculate_layer_flops( | |
| args, | |
| seqlen, | |
| hidden_size, | |
| num_attention_heads, | |
| num_query_groups, | |
| dense_ffn, | |
| ) | |
| * num_dense_layers | |
| ) | |
| if num_moe_layers > 0: | |
| total_flops += ( | |
| calculate_layer_flops( | |
| args, | |
| seqlen, | |
| hidden_size, | |
| num_attention_heads, | |
| num_query_groups, | |
| moe_ffn, | |
| ) | |
| * num_moe_layers | |
| ) | |
| total_flops += calculate_lm_head_flops(seqlen, hidden_size, vocab_size) | |
| return total_flops | |