Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8af3af1
Squashed commit remove-constrastive-search
manueldeprada Aug 26, 2025
6a9b384
Merge branch 'main' of github.com:huggingface/transformers into remov…
manueldeprada Aug 26, 2025
fceeb38
draft
manueldeprada Aug 26, 2025
c89c892
testing that hub works the same
manueldeprada Aug 27, 2025
62cb274
fix
manueldeprada Aug 27, 2025
822efd8
aaand remove tests after all green!!
manueldeprada Aug 27, 2025
d579aee
Merge branch 'main' of github.com:huggingface/transformers into remov…
manueldeprada Aug 27, 2025
c17bf30
fix test
manueldeprada Aug 27, 2025
9c7962d
Merge branch 'remove-group-bs' into remove-constrained-bs
manueldeprada Aug 27, 2025
b05aa77
restore and deprecate constraints
manueldeprada Aug 28, 2025
924c0de
sweeep ready for tests
manueldeprada Aug 28, 2025
c946bea
testing...
manueldeprada Aug 28, 2025
0fb1900
whoops
manueldeprada Aug 28, 2025
ec74274
ops
manueldeprada Aug 28, 2025
ab30383
tests fix
manueldeprada Aug 28, 2025
33971d2
tests green, changed handling of deprecated methods
manueldeprada Aug 28, 2025
e800c78
tests gone after green
manueldeprada Aug 28, 2025
04addbc
Merge branch 'main' into remove-constrained-bs
manueldeprada Aug 28, 2025
4a8b6d2
restore and deprecate beam obkects
manueldeprada Aug 28, 2025
6095fdd
Merge branch 'remove-constrained-bs' of github.com:manueldeprada/tran…
manueldeprada Aug 28, 2025
1ddab4b
fix
manueldeprada Aug 31, 2025
44973da
Merge commit '893d89e5e6fac7279fe4292bfa3b027172287162' into remove-c…
manueldeprada Sep 1, 2025
5bb6186
Merge branch 'main' into remove-constrained-bs
manueldeprada Sep 1, 2025
1284987
review
manueldeprada Sep 1, 2025
2699711
Merge branch 'main' of github.com:huggingface/transformers into remov…
manueldeprada Sep 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/source/ar/notebooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
| [كيفية ضبط نموذج بدقة على التلخيص](https://github.com/huggingface/notebooks/blob/main/examples/summarization.ipynb)| يوضح كيفية معالجة البيانات مسبقًا وضبط نموذج مُدرَّب مسبقًا بدقة على XSUM. | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/summarization.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/examples/summarization.ipynb)|
| [كيفية تدريب نموذج لغة من البداية](https://github.com/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)| تسليط الضوء على جميع الخطوات لتدريب نموذج Transformer بشكل فعال على بيانات مخصصة | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)|
| [كيفية إنشاء نص](https://github.com/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)| كيفية استخدام أساليب فك التشفير المختلفة لإنشاء اللغة باستخدام المحولات | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)|
| [كيفية إنشاء نص (مع قيود)](https://github.com/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)| كيفية توجيه إنشاء اللغة باستخدام القيود التي يوفرها المستخدم | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)|
| [Reformer](https://github.com/huggingface/blog/blob/main/notebooks/03_reformer.ipynb)| كيف يدفع Reformer حدود النمذجة اللغوية | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/patrickvonplaten/blog/blob/main/notebooks/03_reformer.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/patrickvonplaten/blog/blob/main/notebooks/03_reformer.ipynb)|

#### رؤية الكمبيوتر[[pytorch-cv]]
Expand Down
22 changes: 0 additions & 22 deletions docs/source/ja/internal/generation_utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,28 +300,6 @@ generation_output[:2]
[[autodoc]] MaxTimeCriteria
- __call__

## Constraints

[`Constraint`] を使用すると、生成時に出力に特定のトークンまたはシーケンスが含まれるように強制できます。これは PyTorch 実装でのみ利用可能であることに注意してください。

[[autodoc]] Constraint

[[autodoc]] PhrasalConstraint

[[autodoc]] DisjunctiveConstraint

[[autodoc]] ConstraintListState

## BeamSearch

[[autodoc]] BeamScorer
- process
- finalize

[[autodoc]] ConstrainedBeamSearchScorer
- process
- finalize

## Streamers

[[autodoc]] TextStreamer
Expand Down
22 changes: 0 additions & 22 deletions docs/source/ko/internal/generation_utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,28 +305,6 @@ generation_output[:2]
[[autodoc]] EosTokenCriteria
- __call__

## Constraint [[transformers.Constraint]]

[`Constraint`]는 생성 출력에 특정 토큰이나 시퀀스를 강제로 포함시키는 데 사용됩니다. 이 기능은 PyTorch 구현에만 제공됩니다.

[[autodoc]] Constraint

[[autodoc]] PhrasalConstraint

[[autodoc]] DisjunctiveConstraint

[[autodoc]] ConstraintListState

## 빔 검색 (BeamSearch) [[transformers.BeamScorer]]

[[autodoc]] BeamScorer
- process
- finalize

[[autodoc]] ConstrainedBeamSearchScorer
- process
- finalize

## 스트리머 (Streamers) [[transformers.TextStreamer]]

[[autodoc]] TextStreamer
Expand Down
22 changes: 0 additions & 22 deletions docs/source/zh/internal/generation_utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,28 +295,6 @@ generation_output[:2]
[[autodoc]] MaxTimeCriteria
- __call__

## Constraints

可以使用[`Constraint`]来强制生成结果包含输出中的特定tokens或序列。请注意,这仅适用于我们的PyTorch实现。

[[autodoc]] Constraint

[[autodoc]] PhrasalConstraint

[[autodoc]] DisjunctiveConstraint

[[autodoc]] ConstraintListState

## BeamSearch

[[autodoc]] BeamScorer
- process
- finalize

[[autodoc]] ConstrainedBeamSearchScorer
- process
- finalize

## Streamers

[[autodoc]] TextStreamer
Expand Down
1 change: 0 additions & 1 deletion notebooks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ You can open any page of the documentation as a notebook in Colab (there is a bu
| [How to fine-tune a model on summarization](https://github.com/huggingface/notebooks/blob/main/examples/summarization.ipynb)| Show how to preprocess the data and fine-tune a pretrained model on XSUM. | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/summarization.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/examples/summarization.ipynb)|
| [How to train a language model from scratch](https://github.com/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)| Highlight all the steps to effectively train Transformer model on custom data | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/01_how_to_train.ipynb)|
| [How to generate text](https://github.com/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)| How to use different decoding methods for language generation with transformers | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/02_how_to_generate.ipynb)|
| [How to generate text (with constraints)](https://github.com/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)| How to guide language generation with user-provided constraints | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/huggingface/blog/blob/main/notebooks/53_constrained_beam_search.ipynb)|
| [Reformer](https://github.com/huggingface/blog/blob/main/notebooks/03_reformer.ipynb)| How Reformer pushes the limits of language modeling | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/patrickvonplaten/blog/blob/main/notebooks/03_reformer.ipynb)| [![Open in AWS Studio](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/patrickvonplaten/blog/blob/main/notebooks/03_reformer.ipynb)|

#### Computer Vision[[pytorch-cv]]
Expand Down
9 changes: 9 additions & 0 deletions src/transformers/generation/beam_constraints.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
from abc import ABC, abstractmethod
from typing import Optional

from ..utils import logging


logger = logging.get_logger(__name__)


# TODO joao, manuel: remove in v4.58.0
class Constraint(ABC):
r"""Abstract base class for all constraints that can be applied during generation.
It must define how the constraint can be satisfied.
Expand All @@ -18,6 +24,9 @@ class Constraint(ABC):
"""

def __init__(self):
logger.warning_once(
"Importing `Constraint` classes is deprecated and will be removed in v4.58.0. Constrained beam search has been moved to the Hub: https://hf.co/transformers-community/constrained-beam-search. Please import using `from transformers.generation import Constraint` instead."
)
# test for the above condition
self.test()

Expand Down
Loading