Commit 4fa7b9c
Jeremy Teboul
fix(qwen3_omni): preserve audio_sample_rate in kwargs restructuring
The Qwen3OmniMoeProcessor was losing the audio_sample_rate parameter
during kwargs restructuring for transformers < 4.58.0. When mm_kwargs
were reorganized into audio_kwargs and text_kwargs dictionaries, the
audio_sample_rate (passed at the top level) was not being moved into
audio_kwargs where the HuggingFace WhisperFeatureExtractor expects it.
This caused audio processing to fail with:
Failed to apply Qwen3OmniMoeProcessor on data={'audio': [array(...)]}
with kwargs={'audio_sample_rate': 16000, 'audio_kwargs': {}, ...}
Changes:
- Extract audio_sample_rate before kwargs restructuring
- Place it into audio_kwargs after creating nested dictionaries
- Add comprehensive unit tests for various sample rates
Tests:
Run tests with:
source /home/$USER/uv_env/vllm/bin/activate
cd /home/jeremyte/vllm
pytest tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation -v
Test coverage:
- test_audio_sample_rate_preserved_in_audio_kwargs: Core fix validation
- test_audio_sample_rate_absent_when_not_provided: Edge case handling
- test_various_audio_sample_rates_preserved: Parameterized test for
8kHz, 16kHz, 22kHz, 24kHz, 44kHz, and 48kHz sample rates
All 8 tests passing:
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_audio_sample_rate_preserved_in_audio_kwargs PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_audio_sample_rate_absent_when_not_provided PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[8000] PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[16000] PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[22050] PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[24000] PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[44100] PASSED
tests/multimodal/test_processing.py::TestQwen3OmniAudioSampleRatePreservation::test_various_audio_sample_rates_preserved[48000] PASSED
========================= 8 passed in 0.15s =========================
Fixes audio tensor processing for Qwen3 Omni models when using the
raw audio path (non-embeddings mode). Resolves production issue where
audio requests were failing on SMC tier.1 parent 6fb0215 commit 4fa7b9c
File tree
2 files changed
+202
-3
lines changed- tests/multimodal
- vllm/model_executor/models
2 files changed
+202
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
1039 | 1039 | | |
1040 | 1040 | | |
1041 | 1041 | | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
1042 | 1140 | | |
1043 | | - | |
1044 | | - | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
1045 | 1237 | | |
1046 | 1238 | | |
1047 | 1239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
751 | 751 | | |
752 | 752 | | |
753 | 753 | | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
754 | 757 | | |
755 | 758 | | |
756 | 759 | | |
| |||
760 | 763 | | |
761 | 764 | | |
762 | 765 | | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
763 | 770 | | |
764 | 771 | | |
765 | 772 | | |
| |||
0 commit comments