File size: 1,127 Bytes
b91a6bd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import unittest

import app
from utils.models import QWEN3_EMBEDDING_MODEL


class PoolingUiTest(unittest.TestCase):
    def test_pooling_dropdown_defaults_to_legacy_choices(self):
        self.assertEqual(app.pooling_dropdown.value, 'mean')
        self.assertEqual(app.pooling_dropdown.choices, [('mean', 'mean'), ('cls', 'cls')])

    def test_qwen3_pooling_update_forces_last_token(self):
        update = app.update_pooling_for_model(QWEN3_EMBEDDING_MODEL)

        self.assertEqual(update['choices'], ['last-token'])
        self.assertEqual(update['value'], 'last-token')
        self.assertFalse(update['interactive'])

    def test_legacy_pooling_update_restores_mean_cls(self):
        update = app.update_pooling_for_model('bert-base-chinese')

        self.assertEqual(update['choices'], ['mean', 'cls'])
        self.assertEqual(update['value'], 'mean')
        self.assertTrue(update['interactive'])

    def test_qwen3_effective_pooling_ignores_api_pooling_value(self):
        self.assertEqual(app.effective_pooling(QWEN3_EMBEDDING_MODEL, 'mean'), 'last-token')


if __name__ == '__main__':
    unittest.main()