Skip to content
Back to skills

Generation

ASecurity

"Configure Transformers text/chat generation, GenerationConfig,

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.