|
1 | 1 | from llm_messages_token_helper import build_messages, count_tokens_for_message
|
2 | 2 |
|
| 3 | +from .messages import system_message_short, system_message_unicode, user_message, user_message_unicode |
| 4 | + |
3 | 5 |
|
4 | 6 | def test_messagebuilder():
|
5 |
| - messages = build_messages("gpt-35-turbo", "You are a bot.") |
6 |
| - assert messages == [ |
7 |
| - # 1 token, 1 token, 1 token, 5 tokens |
8 |
| - {"role": "system", "content": "You are a bot."} |
9 |
| - ] |
10 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[0]) == 8 |
| 7 | + messages = build_messages("gpt-35-turbo", system_message_short["message"]["content"]) |
| 8 | + assert messages == [system_message_short["message"]] |
| 9 | + assert count_tokens_for_message("gpt-35-turbo", messages[0]) == system_message_short["count"] |
11 | 10 |
|
12 | 11 |
|
13 | 12 | def test_messagebuilder_append():
|
14 |
| - messages = build_messages("gpt-35-turbo", "You are a bot.", new_user_message="Hello, how are you?") |
15 |
| - assert messages == [ |
16 |
| - # 1 token, 1 token, 1 token, 5 tokens |
17 |
| - {"role": "system", "content": "You are a bot."}, |
18 |
| - # 1 token, 1 token, 1 token, 6 tokens |
19 |
| - {"role": "user", "content": "Hello, how are you?"}, |
20 |
| - ] |
21 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[0]) == 8 |
22 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[1]) == 9 |
| 13 | + messages = build_messages( |
| 14 | + "gpt-35-turbo", system_message_short["message"]["content"], new_user_message=user_message["message"]["content"] |
| 15 | + ) |
| 16 | + assert messages == [system_message_short["message"], user_message["message"]] |
| 17 | + assert count_tokens_for_message("gpt-35-turbo", messages[0]) == system_message_short["count"] |
| 18 | + assert count_tokens_for_message("gpt-35-turbo", messages[1]) == user_message["count"] |
23 | 19 |
|
24 | 20 |
|
25 | 21 | def test_messagebuilder_unicode():
|
26 |
| - messages = build_messages("gpt-35-turbo", "a\u0301") |
27 |
| - assert messages == [ |
28 |
| - # 1 token, 1 token, 1 token, 1 token |
29 |
| - {"role": "system", "content": "á"} |
30 |
| - ] |
31 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[0]) == 4 |
| 22 | + messages = build_messages("gpt-35-turbo", system_message_unicode["message"]["content"]) |
| 23 | + assert messages == [system_message_unicode["message"]] |
| 24 | + assert count_tokens_for_message("gpt-35-turbo", messages[0]) == system_message_unicode["count"] |
32 | 25 |
|
33 | 26 |
|
34 | 27 | def test_messagebuilder_unicode_append():
|
35 |
| - messages = build_messages("gpt-35-turbo", "a\u0301", new_user_message="a\u0301") |
36 |
| - assert messages == [ |
37 |
| - # 1 token, 1 token, 1 token, 1 token |
38 |
| - {"role": "system", "content": "á"}, |
39 |
| - # 1 token, 1 token, 1 token, 1 token |
40 |
| - {"role": "user", "content": "á"}, |
41 |
| - ] |
42 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[0]) == 4 |
43 |
| - assert count_tokens_for_message("gpt-35-turbo", messages[1]) == 4 |
| 28 | + messages = build_messages( |
| 29 | + "gpt-35-turbo", |
| 30 | + system_message_unicode["message"]["content"], |
| 31 | + new_user_message=user_message_unicode["message"]["content"], |
| 32 | + ) |
| 33 | + assert messages == [system_message_unicode["message"], user_message_unicode["message"]] |
| 34 | + assert count_tokens_for_message("gpt-35-turbo", messages[0]) == system_message_unicode["count"] |
| 35 | + assert count_tokens_for_message("gpt-35-turbo", messages[1]) == user_message_unicode["count"] |
0 commit comments