Skip to content
Back to skills

Generation

ASecurity

"Configure Transformers text/chat generation, GenerationConfig,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
ai-agentspythonbashgitapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill generation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Generation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Generation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-generation-2e200aab/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-generation-2e200aab)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: generation
description: "Configure Transformers text/chat generation, GenerationConfig,
  decoding controls, streamers, logits processors, stopping criteria, and
  continuous batching concepts without requiring model downloads."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Generation

## Use This Sub-skill When

Use this sub-skill for Transformers workflows that need to design, validate, or troubleshoot text and chat generation behavior without downloading large models.

- Configure `GenerationConfig` or `model.generate(...)` arguments for greedy, sampling, beam, constrained, or custom generation.
- Decide between `max_new_tokens`, `max_length`, `do_sample`, `temperature`, `top_p`, `top_k`, `num_beams`, `repetition_penalty`, EOS, and padding controls.
- Format chat messages with tokenizer chat templates before generation.
- Add or reason about `LogitsProcessor`, `LogitsProcessorList`, `StoppingCriteria`, and `StoppingCriteriaList`.
- Stream generated text with `TextIteratorStreamer` or related streamer classes.
- Explain continuous batching concepts, request lifecycle, paged KV cache, scheduling, compile/offload options, and per-request sampling.
- Validate generation config JSON safely using the bundled smoke script.

## Route Elsewhere

- For `pipeline(...)` task selection, device placement, and pipeline-only kwargs, use `../inference-pipelines/SKILL.md`.
- For tokenizer loading, padding side, special tokens, processors, and chat-template authoring details, use `../tokenizers-processors/SKILL.md`.
- For `transformers chat`, `transformers serve`, HTTP serving, and OpenAI-compatible endpoints, use `../serving-cli/SKILL.md`.
- For quantized generation, bitsandbytes, GPTQ, AWQ, Quanto, or device-memory tradeoffs, use `../quantization-integrations/SKILL.md`.
- For fine-tuning, `Trainer`, `TrainingArguments`, or dataset preprocessing, use `../training/SKILL.md`.
- For adding new model classes or custom architectures, use `../model-extension/SKILL.md`.

## Fast Generation Checklist

1. Prefer `max_new_tokens` for user-facing generation length; avoid relying on defaults.
2. Choose one decoding family first: greedy (`do_sample=False`, `num_beams=1`), sampling (`do_sample=True`), beam (`num_beams>1`), or beam sampling (`num_beams>1`, `do_sample=True`).
3. Only use sampling-only controls such as `temperature`, `top_p`, and `top_k` when `do_sample=True`.
4. Set `pad_token_id` for batched decoder-only generation when the tokenizer has no pad token, commonly to `eos_token_id` for inference.
5. For chat models, pass structured messages through `tokenizer.apply_chat_template(...)` instead of raw concatenated strings.
6. Put durable defaults in `GenerationConfig`; use per-call kwargs for one-off overrides.
7. Treat PyTorch-backed model generation, streamers that consume real model output, and continuous batching as optional-dependency workflows that require `torch` and model weights.

## Primary APIs

- `GenerationConfig(**kwargs)` stores generation parameters and can be saved/loaded with `save_pretrained(...)` and `from_pretrained(...)`.
- `GenerationMixin.generate(...)` is the generation entrypoint on compatible model classes.
- `TextIteratorStreamer(tokenizer, skip_prompt=False, timeout=None, **decode_kwargs)` supports iterator-style streaming from a background generation thread.
- `LogitsProcessor` and `StoppingCriteria` customize token selection and stopping rules.
- `ContinuousBatchingConfig` and `ContinuousBatchingManager` configure paged-KV continuous batching for serving-like generation.

See `references/api-reference.md` for parameter groups and API decision notes.

## Safe No-download Validation

Use the bundled smoke script to validate config shape and common contradictions without loading a model:

```bash
python scripts/generation_config_smoke.py \
  --max-new-tokens 64 --do-sample --temperature 0.7 --top-p 0.9
```

Validate an existing JSON file:

```bash
python scripts/generation_config_smoke.py \
  --config-json generation_config.json --strict
```

Expected success signal: the script prints `OK generation config validated` plus a normalized summary. Expected failure signal: it exits non-zero with `ERROR` and names the conflicting option.

## Common Workflows

- Draft deterministic or creative generation settings: `references/workflows.md#choose-a-decoding-strategy`.
- Build chat prompts safely: `references/workflows.md#chat-generation-with-templates`.
- Stream generation without deadlocks: `references/workflows.md#streaming-generation`.
- Add custom logits or stopping controls: `references/workflows.md#custom-logits-processors-and-stopping-criteria`.
- Plan continuous batching: `references/continuous-batching.md`.
- Diagnose warnings and config conflicts: `references/troubleshooting.md`.

## Integrated Routing Notes

When generation settings appear inside serving, pipeline, quantization, or chat-template requests, keep this sub-skill responsible for decoding semantics and route the outer workflow to the relevant sibling. For example, a serving/chat request with `reasoning` or `chat_template_kwargs` needs this sub-skill for `GenerationConfig` and chat generation choices, plus `../serving-cli/SKILL.md` for endpoint behavior.

## Optional Dependency Boundary

A minimal Transformers import can inspect `GenerationConfig` and many config utilities without PyTorch. Real `AutoModelForCausalLM`, `model.generate(...)`, streamers attached to model execution, logits processors that operate on tensors, and continuous batching require backend dependencies such as `torch`; missing backends raise optional dependency `ImportError`s. When writing agent instructions or tests, keep no-download config validation separate from model-backed generation checks.

Files in this skill

  • SKILL.md5.7 KB
  • references/api-reference.md7.5 KB
  • references/continuous-batching.md5.3 KB
  • references/troubleshooting.md5.2 KB
  • references/workflows.md5.3 KB
  • scripts/generation_config_smoke.py10.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…