haystack/test/components/generators/test_hf_utils.py
Massimiliano Pippi 10c675d534
chore: add license header to all modules (#7675)
* add license header to modules
* check license header at linting time
2024-05-09 13:40:36 +00:00

48 lines
1.5 KiB
Python

# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
#
# SPDX-License-Identifier: Apache-2.0
import pytest
from haystack.utils.hf import check_generation_params
def test_empty_dictionary():
# no exception raised
check_generation_params({})
def test_valid_generation_parameters():
# these are valid parameters
kwargs = {"max_new_tokens": 100, "temperature": 0.8}
additional_accepted_params = None
check_generation_params(kwargs, additional_accepted_params)
def test_invalid_generation_parameters():
# these are invalid parameters
kwargs = {"invalid_param": "value"}
additional_accepted_params = None
with pytest.raises(ValueError):
check_generation_params(kwargs, additional_accepted_params)
def test_additional_accepted_params_empty_list():
kwargs = {"temperature": 0.8}
additional_accepted_params = []
check_generation_params(kwargs, additional_accepted_params)
def test_additional_accepted_params_known_parameter():
# both are valid parameters
kwargs = {"temperature": 0.8}
additional_accepted_params = ["max_new_tokens"]
check_generation_params(kwargs, additional_accepted_params)
def test_additional_accepted_params_unknown_parameter():
kwargs = {"strange_param": "value"}
additional_accepted_params = ["strange_param"]
# Although strange_param is not generation param the check_generation_params
# does not raise exception because strange_param is passed as additional_accepted_params
check_generation_params(kwargs, additional_accepted_params)