# Copyright (c) Alibaba, Inc. and its affiliates. import unittest from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks from modelscope.utils.test_utils import test_level class FidDialogueTest(unittest.TestCase): def setUp(self) -> None: self.task = Tasks.fid_dialogue # 240M self.model_id_240m = 'damo/ChatPLUG-240M' self.model_revision_240m = 'v1.0.0' # 3.7B self.model_id_3_7b = 'damo/ChatPLUG-3.7B' self.model_revision_3_7b = 'v1.0.0' # sample know_list = [ '李白(701年—762年),字太白,号青莲居士,又号“谪仙人”。是唐代伟大的浪漫主义诗人,被后人誉为“诗仙”。与杜甫并称为“李杜”,为了与另两位诗人李商隐与杜牧即“小李杜”区别,杜甫与', '李白(701年2月28日-762),字太白,号青莲居士,唐朝诗人,有“诗仙”之称,最伟大的浪漫主义诗人。汉族,出生于西域碎叶城(今吉尔吉斯斯坦托克马克),5岁随父迁至剑南道之绵州(巴西郡)', '李白(701─762),字太白,号青莲居士,祖籍陇西成纪(今甘肃省天水县附近)。先世于隋末流徙中亚。李白即生于中亚的碎叶城(今吉尔吉斯斯坦境内)。五岁时随其父迁居绵州彰明县(今四川省江油' ] self.input = { 'history': '你好[SEP]你好,我是娜娜,很高兴认识你![SEP]李白是谁', 'bot_profile': '我是娜娜;我是女生;我是单身', 'knowledge': '[SEP]'.join(know_list), 'user_profile': '你是小明' } preprocess_params = {'max_encoder_length': 300, 'context_turn': 3} forward_params = { 'min_length': 10, 'max_length': 512, 'num_beams': 1, 'temperature': 0.8, 'do_sample': True, 'early_stopping': True, 'top_k': 50, 'top_p': 0.8, 'repetition_penalty': 1.2, 'length_penalty': 1.2, 'no_repeat_ngram_size': 6 } self.kwargs = { 'preprocess_params': preprocess_params, 'forward_params': forward_params } @unittest.skipUnless(test_level() >= 1, 'skip test in current test level') def test_240m_pipeline(self): pipeline_ins = pipeline( task=self.task, model=self.model_id_240m, model_revision=self.model_revision_240m) result = pipeline_ins(self.input, **self.kwargs) print(result) @unittest.skipUnless(test_level() >= 1, 'skip test in current test level') def test_3_7b_pipeline(self): pipeline_ins = pipeline( task=self.task, model=self.model_id_3_7b, model_revision=self.model_revision_3_7b) result = pipeline_ins(self.input, **self.kwargs) print(result) if __name__ == '__main__': unittest.main()