Add support for stop sequences to HF models #1188
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains:
What is the current behavior? (You can also link to an open issue here)
Currently, HF models do not support stop sequences even though the underlying functionality is present in HuggingFace Transfomers'
model.generate
. I was not sure whether this is a bug or a missing feature, so I marked both.What is the new behavior?
This PR adds support for
stop_seqs
to HF models. I also added a test that checks that stop sequences work now. One can also verify that the test does not pass before the commit that fixes the issue.Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No
Other information:
I also discovered that when a chat template is provided to
get_model
with an HF model, it is not propagated to the tokenizer. Hence, I needed to separately fix the tokenizer when creating the test fixture model, to avoid the default template from here:inspect_ai/src/inspect_ai/model/_providers/hf.py
Line 251 in 991953a
If this is not the desired behavior, I can add a PR to fix that too. It would be useful for me to be able to provide custom chat templates to HF models.