# Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """ speculative decoding module """ from fastdeploy.platforms import current_platform from .base import Proposer from .mtp import MTPProposer # XPU is not support ngram proposer now if not current_platform.is_xpu(): from .ngram import NgramProposer __all__ = ["Proposer", "MTPProposer", "NgramProposer"] # Suffix proposer requires arctic_inference try: from .suffix import SuffixProposer _suffix_proposer_available = True except ImportError: _suffix_proposer_available = False SuffixProposer = None if _suffix_proposer_available: __all__ = ["Proposer", "MTPProposer", "NgramProposer", "SuffixProposer"] else: __all__ = ["Proposer", "MTPProposer", "NgramProposer"]