Qifan Zhang
Add Qwen3 embedding support with last-token pooling
b91a6bd
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()