test_openai_backend.py 2.41 KB
Newer Older
Lianmin Zheng's avatar
Lianmin Zheng committed
1
2
import unittest

Liangsheng Yin's avatar
Liangsheng Yin committed
3
from sglang import OpenAI, set_default_backend
Lianmin Zheng's avatar
Lianmin Zheng committed
4
from sglang.test.test_programs import (
5
6
    test_chat_completion_speculative,
    test_completion_speculative,
Lianmin Zheng's avatar
Lianmin Zheng committed
7
8
9
10
11
12
13
14
15
16
17
18
19
    test_decode_int,
    test_decode_json,
    test_expert_answer,
    test_few_shot_qa,
    test_image_qa,
    test_mt_bench,
    test_parallel_decoding,
    test_parallel_encoding,
    test_react,
    test_select,
    test_stream,
    test_tool_use,
)
20
from sglang.test.test_utils import CustomTestCase
Lianmin Zheng's avatar
Lianmin Zheng committed
21
22


23
class TestOpenAIBackend(CustomTestCase):
24
    instruct_backend = None
Lianmin Zheng's avatar
Lianmin Zheng committed
25
26
27
    chat_backend = None
    chat_vision_backend = None

28
29
30
31
32
    @classmethod
    def setUpClass(cls):
        cls.instruct_backend = OpenAI("gpt-3.5-turbo-instruct")
        cls.chat_backend = OpenAI("gpt-3.5-turbo")
        cls.chat_vision_backend = OpenAI("gpt-4-turbo")
Lianmin Zheng's avatar
Lianmin Zheng committed
33
34

    def test_few_shot_qa(self):
35
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
36
37
38
39
40
41
42
        test_few_shot_qa()

    def test_mt_bench(self):
        set_default_backend(self.chat_backend)
        test_mt_bench()

    def test_select(self):
43
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
44
45
46
        test_select(check_answer=True)

    def test_decode_int(self):
47
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
48
49
50
        test_decode_int()

    def test_decode_json(self):
51
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
52
53
54
        test_decode_json()

    def test_expert_answer(self):
55
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
56
57
58
        test_expert_answer()

    def test_tool_use(self):
59
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
60
61
62
        test_tool_use()

    def test_react(self):
63
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
64
65
66
        test_react()

    def test_parallel_decoding(self):
67
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
68
69
70
        test_parallel_decoding()

    def test_parallel_encoding(self):
71
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
72
73
74
75
76
77
78
        test_parallel_encoding()

    def test_image_qa(self):
        set_default_backend(self.chat_vision_backend)
        test_image_qa()

    def test_stream(self):
79
        set_default_backend(self.instruct_backend)
Lianmin Zheng's avatar
Lianmin Zheng committed
80
81
        test_stream()

82
    def test_completion_speculative(self):
83
        set_default_backend(self.instruct_backend)
84
85
86
87
88
89
        test_completion_speculative()

    def test_chat_completion_speculative(self):
        set_default_backend(self.chat_backend)
        test_chat_completion_speculative()

Lianmin Zheng's avatar
Lianmin Zheng committed
90
91

if __name__ == "__main__":
Lianmin Zheng's avatar
Lianmin Zheng committed
92
    unittest.main()