test_httpserver_decode.py 1.56 KB
Newer Older
Lianmin Zheng's avatar
Lianmin Zheng committed
1
"""
2
Usage:
Lianmin Zheng's avatar
Lianmin Zheng committed
3
python3 -m sglang.launch_server --model-path TinyLlama/TinyLlama-1.1B-Chat-v0.4 --port 30000
4
5
python3 test_httpserver_decode.py

Lianmin Zheng's avatar
Lianmin Zheng committed
6
7
8
9
10
Output:
The capital of France is Paris.\nThe capital of the United States is Washington, D.C.\nThe capital of Canada is Ottawa.\nThe capital of Japan is Tokyo
"""

import argparse
Liangsheng Yin's avatar
Liangsheng Yin committed
11
import json
Lianmin Zheng's avatar
Lianmin Zheng committed
12
13
14

import requests

15

16
def test_decode(url, return_logprob=False, top_logprobs_num=0, return_text=False, n=1):
Lianmin Zheng's avatar
Lianmin Zheng committed
17
18
19
20
21
    response = requests.post(
        url + "/generate",
        json={
            "text": "The capital of France is",
            "sampling_params": {
22
                "temperature": 0 if n == 1 else 0.5,
Lianmin Zheng's avatar
Lianmin Zheng committed
23
                "max_new_tokens": 32,
24
                "n": n,
Lianmin Zheng's avatar
Lianmin Zheng committed
25
            },
26
            "stream": False,
Cody Yu's avatar
Cody Yu committed
27
            "return_logprob": return_logprob,
Liangsheng Yin's avatar
Liangsheng Yin committed
28
29
            "top_logprobs_num": top_logprobs_num,
            "return_text_in_logprobs": return_text,
Cody Yu's avatar
Cody Yu committed
30
            "logprob_start_len": 0,
Lianmin Zheng's avatar
Lianmin Zheng committed
31
32
        },
    )
Liangsheng Yin's avatar
Liangsheng Yin committed
33
34
    print(json.dumps(response.json()))
    print("=" * 100)
Cody Yu's avatar
Cody Yu committed
35

36

Cody Yu's avatar
Cody Yu committed
37
38
39
40
41
42
43
44
if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--host", type=str, default="http://127.0.0.1")
    parser.add_argument("--port", type=int, default=30000)
    args = parser.parse_args()

    url = f"{args.host}:{args.port}"

45
46
47
48
49
50
51
52
53
54
55
    test_decode(url)
    test_decode(url, n=3)

    for top_logprobs_num in [0, 3]:
        for return_text in [True, False]:
            test_decode(
                url,
                return_logprob=True,
                top_logprobs_num=top_logprobs_num,
                return_text=return_text,
            )