LightLLM is a Python-based LLM (Large Language Model) inference and serving framework, notable for its lightweight design, easy scalability, and high-speed performance.
This report summarizes scanner evidence for ModelTC/LightLLM, a Python project with 4,318 GitHub stars. SynthScan examined 198,917 lines of code across 1834 source files, recording 3387 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 21.1 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2043 finding(s).
Are imports declared and package/API names verified? 898 finding(s).
Are wrappers, guards, and repeated structures necessary? 2143 finding(s).
Which changes need focused human review? 3387 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3387 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/benchmark/static_inference/static_benchmark.py | 250 | def _materialize_context_for_decode(self, case: BenchmarkCase): | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 315 | def _prepare_mtp_prefill_input( | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 499 | def _materialize_cached_prefix(self, req_idx: torch.Tensor, cached_len: int): | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 683 | def _merge_overlap_model_outputs(output0: ModelOutput, output1: ModelOutput) -> ModelOutput: | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 714 | def _build_mtp_decode_index_tensors(self, req_idx: torch.Tensor, step_width: int): | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 846 | def prefill_step_tokens_per_req(uncached_len: int, chunked_prefill_size: Optional[int]) -> int: | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 876 | def prefill_batch_size_from_batch_max_tokens( | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 971 | def decode_profile_batch_divisor(args: SimpleNamespace, case: BenchmarkCase) -> int: | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 977 | def resolve_profile_decode_cases( | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 1012 | def resolve_batch_max_prefill_cases( | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 1528 | def add_static_benchmark_args(parser: argparse.ArgumentParser): | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 174 | def gen_session_initial_prompt( | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 622 | def run_full_concurrency_level( | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 691 | def run_pooled_concurrency_level( | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 170 | async def async_post_stream_lightllm(url, prompt, max_new_tokens, session): | CODE |
| LOW | test/benchmark/service/benchmark_qps.py | 57 | def gen_random_input_text_with_seed(tokenizer, input_len, seed) -> str: | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 37 | def test_pd_node_resource_wait_timeout_is_internal_and_defaults_to_waiting_forever(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 49 | def test_shm_req_partial_allocations_are_released_on_failure(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 62 | def test_shm_req_allocation_waits_forever_when_timeout_is_negative(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 75 | def test_multinode_tp_slave_does_not_apply_shm_req_allocation_timeout(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 89 | def test_high_priority_shm_req_allocation_uses_shorter_backoff_even_with_local_limit(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 110 | def test_shm_req_allocation_uses_master_timeout_independently_of_priority(pd_high_priority_request): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 138 | def test_router_wait_uses_master_timeout_independently_of_priority( | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 162 | def test_pd_high_priority_request_is_inserted_before_first_normal_request(): | CODE |
| LOW | test/test_pd_selector/test_pd_node_request_limit.py | 178 | def test_pd_high_priority_request_group_keeps_fifo_order_while_waiting_for_dp_index(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 34 | def test_pd_master_expands_n_into_concurrent_single_choice_requests(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 112 | def test_pd_master_n_one_uses_the_same_choice_merge_path(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 161 | def test_pd_master_does_not_record_aborted_or_error_request_as_success(failed_finish_status): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 203 | def test_pd_master_hides_capacity_finish_token_and_continues_next_segment( | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 273 | def test_pd_master_multi_choice_failure_closes_other_generators(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 302 | def test_pd_master_multi_choice_cancellation_is_not_treated_as_success(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 317 | def test_pd_master_closing_merged_stream_closes_choice_generators(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 338 | def test_pd_master_releases_prefill_load_when_generation_fails(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 348 | async def failing_wait_to_token_package(*_args, **_kwargs): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 376 | def test_pd_master_dynamic_split_reuses_nodes_with_remaining_length(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 461 | def test_pd_master_counts_segment_tokens_without_relying_on_metadata(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 534 | def test_pd_master_promotes_only_fresh_high_estimated_cache_hit( | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 597 | def test_pd_master_sets_resource_wait_timeout_when_enabled(enable_limit, expected_timeout): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 654 | def test_pd_master_retries_generate_one_when_node_is_busy(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 690 | def test_pd_master_stops_busy_retry_when_client_disconnects(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 725 | def test_pd_master_does_not_retry_busy_error_when_self_limit_is_disabled(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 755 | def test_pd_master_stops_busy_retry_when_probe_period_expires(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 786 | def test_pd_master_does_not_retry_busy_error_after_streaming_output(): | CODE |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 818 | def test_pd_master_releases_prefill_load_when_stream_is_closed(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 13 | def test_allocate_different_shapes_and_dtypes_from_one_buffer(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 31 | def test_non_byte_backing_tensor_is_used_as_byte_storage(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 40 | def test_released_block_is_reused(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 51 | def test_adjacent_free_blocks_are_merged(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 68 | def test_release_rejects_unknown_and_already_released_tensors(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 79 | def test_stale_tensor_cannot_release_reused_address(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 92 | def test_allocation_reports_fragmentation_on_failure(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 106 | def test_invalid_buffer_is_rejected(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 117 | def test_unaligned_buffer_prefix_is_skipped(): | CODE |
| LOW | test/utils/test_tensor_buffer_manager.py | 126 | def test_empty_tensor_does_not_consume_buffer_space(): | CODE |
| LOW | test/test_api/test_seed_validation.py | 16 | def test_api_request_seed_range(request_type, request_data): | CODE |
| LOW | test/test_api/test_seed_validation.py | 34 | def test_sampling_params_normalizes_and_accepts_seed(seed, expected_seed): | CODE |
| LOW | test/test_api/test_seed_validation.py | 45 | def test_sampling_params_rejects_out_of_range_seed(seed): | CODE |
| LOW | test/test_api/test_rl_endpoints.py | 170 | def update_weights_from_disk_via_tensor_api( | CODE |
| LOW | test/test_api/test_openai_api.py | 214 | def completions_with_multiple_prompts(self, prompts: List[str], **kwargs) -> Dict[str, Any]: | CODE |
| LOW | test/test_api/test_openai_api.py | 231 | def completions_with_logprobs(self, prompt: str, logprobs: int = 5, **kwargs) -> Dict[str, Any]: | CODE |
| 1583 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/benchmark/static_inference/profile_demo.py | 2 | CODE | |
| LOW | test/benchmark/static_inference/profile_demo.py | 3 | CODE | |
| LOW | test/benchmark/static_inference/test_vit.py | 1 | CODE | |
| LOW | test/benchmark/static_inference/test_vit.py | 2 | CODE | |
| LOW | test/benchmark/static_inference/test_vit.py | 4 | CODE | |
| LOW | test/benchmark/static_inference/test_vit.py | 38 | CODE | |
| LOW | test/benchmark/service/benchmark_client.py | 3 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 3 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 4 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 9 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 11 | CODE | |
| LOW | test/benchmark/service/benchmark_mcq.py | 18 | CODE | |
| LOW | test/benchmark/service/benchmark_mcq.py | 29 | CODE | |
| LOW | test/benchmark/service/benchmark_sharegpt.py | 28 | CODE | |
| LOW | test/cpu_cache_kernel/test_speed.py | 19 | CODE | |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 1 | CODE | |
| LOW | test/test_pd_selector/test_pd_master_multi_choice.py | 4 | CODE | |
| LOW | test/format_out/test_xgrammar_constraint.py | 1 | CODE | |
| LOW | test/format_out/qabot.py | 23 | CODE | |
| LOW | test/format_out/qabot.py | 24 | CODE | |
| LOW | test/test_api/test_rl_endpoints.py | 44 | CODE | |
| LOW | test/test_api/test_openai_api.py | 11 | CODE | |
| LOW | test/test_api/test_openai_api.py | 12 | CODE | |
| LOW | test/test_api/test_stream_fc.py | 24 | CODE | |
| LOW | test/test_api/test_stream_fc.py | 24 | CODE | |
| LOW | test/test_api/test_multimodal_api.py | 2 | CODE | |
| LOW | test/test_api/test_abort_request.py | 43 | CODE | |
| LOW | test/performance/audio_test.py | 1 | CODE | |
| LOW | test/performance/multimodal_test.py | 3 | CODE | |
| LOW | test/performance/multimodal_test.py | 4 | CODE | |
| LOW | test/performance/multimodal_test.py | 9 | CODE | |
| LOW | test/performance/multimodal_test.py | 11 | CODE | |
| LOW | test/kernel/moe_sum_reduce_tuning_bf16.py | 8 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage1_tuning.py | 2 | CODE | |
| LOW | test/kernel/deepseekv3_rotary_emb_tuning.py | 3 | CODE | |
| LOW | test/kernel/deepseekv3_rotary_emb_tuning.py | 9 | CODE | |
| LOW | test/kernel/deepseekv3_fp8_block_gemm_tuning.py | 5 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage2_tuning.py | 4 | CODE | |
| LOW | test/kernel/llama_gqa_decode_vsm_tuning.py | 2 | CODE | |
| LOW | test/acc/test_vlm_models.py | 1 | CODE | |
| LOW | test/acc/test_vlm_models.py | 2 | CODE | |
| LOW | test/acc/test_vlm_models.py | 3 | CODE | |
| LOW | test/acc/test_vlm_models.py | 5 | CODE | |
| LOW | test/acc/test_vlm_models.py | 7 | CODE | |
| LOW | test/acc/test_vlm_models.py | 8 | CODE | |
| LOW | test/acc/test_vlm_models.py | 9 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 33 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 36 | CODE | |
| LOW | unit_tests/server/core/objs/test_shm_array.py | 5 | CODE | |
| LOW | unit_tests/server/core/objs/test_atomic_array_lock.py | 4 | CODE | |
| LOW | unit_tests/server/core/objs/test_req.py | 4 | CODE | |
| LOW | …it_tests/server/core/objs/test_token_ids_validation.py | 2 | CODE | |
| LOW | …odel_infer/mode_backend/test_paged_side_allocations.py | 9 | CODE | |
| LOW | …outer/model_infer/mode_backend/test_diverse_backend.py | 6 | CODE | |
| LOW | unit_tests/utils/test_start_utils.py | 1 | CODE | |
| LOW | unit_tests/utils/test_custom_kernel_utils.py | 2 | CODE | |
| LOW | unit_tests/models/qwen3-vl/test_deepstack_emb.py | 2 | CODE | |
| LOW | unit_tests/models/qwen3-vl/test_deepstack_emb.py | 3 | CODE | |
| LOW | unit_tests/models/qwen3-vl/test_deepstack_emb.py | 4 | CODE | |
| LOW | unit_tests/models/deepseek2/test_rope_repeat.py | 2 | CODE | |
| 818 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/benchmark/static_inference/static_benchmark.py | 1302 | except Exception: | CODE |
| HIGH | test/benchmark/service/benchmark_qps.py | 398 | except asyncio.CancelledError: | CODE |
| HIGH | test/benchmark/service/benchmark_qps.py | 155 | except Exception: | CODE |
| HIGH | test/benchmark/service/benchmark_qps.py | 203 | except Exception: | CODE |
| HIGH | test/test_api/test_gsmk.py | 131 | except SyntaxError: | CODE |
| HIGH | test/performance/audio_test.py | 224 | except json.JSONDecodeError: | CODE |
| HIGH | test/performance/audio_test.py | 280 | except json.JSONDecodeError: | CODE |
| HIGH | test/performance/multimodal_test.py | 366 | except asyncio.CancelledError: | CODE |
| HIGH | test/acc/test_gsmk.py | 123 | except SyntaxError: | CODE |
| HIGH | test/acc/bfcl/eval_bfcl.py | 246 | except json.JSONDecodeError: | CODE |
| HIGH | test/acc/bfcl/eval_bfcl.py | 263 | except: | CODE |
| HIGH | test/acc/bfcl/eval_bfcl.py | 273 | except: | CODE |
| HIGH | format_out/impl.py | 57 | except: | CODE |
| HIGH | lightllm/distributed/flashinfer_all_reduce.py | 91 | except Exception: | CODE |
| HIGH | lightllm/server/build_prompt.py | 61 | except: | CODE |
| HIGH | lightllm/server/build_prompt.py | 69 | except: | CODE |
| HIGH | lightllm/server/build_prompt.py | 90 | except (json.JSONDecodeError, TypeError): | CODE |
| HIGH | lightllm/server/function_call_parser.py | 807 | except json.JSONDecodeError: | CODE |
| HIGH | lightllm/server/function_call_parser.py | 984 | except json.JSONDecodeError: | CODE |
| HIGH | lightllm/server/function_call_parser.py | 1162 | except json.JSONDecodeError: | CODE |
| HIGH | lightllm/server/function_call_parser.py | 1635 | except json.JSONDecodeError: | CODE |
| HIGH | lightllm/server/api_anthropic.py | 331 | except OSError: | CODE |
| HIGH | lightllm/server/api_anthropic.py | 335 | except OSError: | CODE |
| HIGH | lightllm/server/api_anthropic.py | 273 | except OSError: | CODE |
| HIGH | lightllm/server/api_anthropic.py | 409 | except OSError: | CODE |
| HIGH | lightllm/server/api_anthropic.py | 486 | except OSError: | CODE |
| HIGH | lightllm/server/api_models.py | 177 | except Exception: | CODE |
| HIGH | lightllm/server/api_models.py | 259 | except Exception: | CODE |
| HIGH | lightllm/server/metrics/manager.py | 73 | except: | CODE |
| HIGH | lightllm/server/core/objs/sampling_params.py | 422 | except: | CODE |
| HIGH | lightllm/server/core/objs/py_sampling_params.py | 128 | except: | CODE |
| HIGH | lightllm/server/embed_cache/afs_utils.py | 53 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 106 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 731 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 736 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 741 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 749 | except: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 847 | except asyncio.TimeoutError: | CODE |
| HIGH | lightllm/server/httpserver_for_pd_master/manager.py | 789 | except: | CODE |
| HIGH | …rver/visualserver/model_infer/vision_peak_vram_hold.py | 139 | except FileNotFoundError: | CODE |
| HIGH | lightllm/server/httpserver/pd_loop.py | 271 | except asyncio.CancelledError: | CODE |
| HIGH | lightllm/server/httpserver/async_queue.py | 13 | except asyncio.TimeoutError: | CODE |
| HIGH | lightllm/server/httpserver/rl_controller.py | 248 | except BaseException: | CODE |
| HIGH | lightllm/server/httpserver/manager.py | 798 | except asyncio.TimeoutError: | CODE |
| HIGH | lightllm/server/httpserver/manager.py | 955 | except asyncio.TimeoutError: | CODE |
| HIGH | lightllm/server/httpserver/manager.py | 1011 | except asyncio.TimeoutError: | CODE |
| HIGH | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 90 | except queue.Empty: | CODE |
| HIGH | …ter/model_infer/mode_backend/pd/nccl_kv_transporter.py | 468 | except Exception: | CODE |
| HIGH | …ter/model_infer/mode_backend/pd/nccl_kv_transporter.py | 526 | except Exception: | CODE |
| HIGH | lightllm/utils/redis_utils.py | 20 | except Exception: | CODE |
| HIGH | lightllm/utils/petrel_helper.py | 41 | except: | CODE |
| HIGH | lightllm/utils/shm_utils.py | 90 | except: | CODE |
| HIGH | lightllm/utils/shm_utils.py | 118 | except: | CODE |
| HIGH | lightllm/utils/kv_cache_utils.py | 326 | except Exception: | CODE |
| HIGH | lightllm/utils/device_utils.py | 302 | except Exception: | CODE |
| HIGH | lightllm/utils/profiler.py | 218 | except Exception: | CODE |
| HIGH | lightllm/utils/config_utils.py | 282 | except: | CODE |
| HIGH | lightllm/utils/config_utils.py | 290 | except: | CODE |
| HIGH | lightllm/utils/config_utils.py | 325 | except Exception: | CODE |
| HIGH | lightllm/utils/config_utils.py | 606 | except: | CODE |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 153 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 180 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 227 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/cpu_cache_kernel/test_speed.py | 229 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 28 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 30 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_api/test_stream_fc.py | 86 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_api/test_stream_fc.py | 88 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 160 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 162 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 594 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_api/test_stream_fc.py | 596 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …del/triton_kernel/linear_att/test_causal_conv1d_mtp.py | 510 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …del/triton_kernel/linear_att/test_causal_conv1d_mtp.py | 512 | # ============================================================================= | COMMENT |
| MEDIUM | lightllm/server/io_struct.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/io_struct.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/io_struct.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/io_struct.py | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 88 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 867 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 869 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 1255 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/api_anthropic.py | 1257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/api_anthropic.py | 697 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/api_anthropic.py | 699 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/api_anthropic.py | 1208 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lightllm/server/api_anthropic.py | 1210 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 22 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 24 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 58 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 60 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 124 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 126 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 147 | # ================================================================== | COMMENT |
| MEDIUM⚡ | lightllm/server/router/multinode_tp_helper.py | 149 | # ================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 56 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 58 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 63 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 65 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 94 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 96 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 103 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | …er/model_infer/mode_backend/pd/base_kv_move_manager.py | 105 | # ================================================================================== | COMMENT |
| MEDIUM | …ackend/pd/prefill_node_impl/prefill_kv_move_manager.py | 54 | # ================================================================================== | COMMENT |
| MEDIUM | …ackend/pd/prefill_node_impl/prefill_kv_move_manager.py | 56 | # ================================================================================== | COMMENT |
| MEDIUM | …_backend/pd/decode_node_impl/decode_kv_move_manager.py | 74 | # ================================================================================== | COMMENT |
| MEDIUM | …_backend/pd/decode_node_impl/decode_kv_move_manager.py | 76 | # ================================================================================== | COMMENT |
| MEDIUM | …de_backend/pd/decode_node_impl/decode_trans_process.py | 56 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …de_backend/pd/decode_node_impl/decode_trans_process.py | 74 | # ------------------------------------------------------------------------- | COMMENT |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/compare_with_previous_commit.py | 59 | except Exception: | CODE |
| LOW | test/compare_with_previous_commit.py | 80 | except Exception as e: | CODE |
| LOW | test/benchmark/bench_agents.py | 150 | except Exception as e: # keep the run alive; record failure count only | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 1296 | except Exception: | CODE |
| LOW | test/benchmark/static_inference/static_benchmark.py | 1302 | except Exception: | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 124 | except Exception as exc: | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 306 | except Exception: | CODE |
| LOW | test/benchmark/service/benchmark_multiturn.py | 347 | except Exception as e: | CODE |
| MEDIUM | test/benchmark/service/benchmark_qps.py | 122 | def async_post_stream_openai(url, prompt, max_new_tokens, session): | CODE |
| MEDIUM | test/benchmark/service/benchmark_qps.py | 170 | def async_post_stream_lightllm(url, prompt, max_new_tokens, session): | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 155 | except Exception: | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 161 | except Exception as e: | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 165 | except Exception as e: | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 203 | except Exception: | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 209 | except Exception as e: | CODE |
| LOW⚡ | test/benchmark/service/benchmark_qps.py | 213 | except Exception as e: | CODE |
| LOW | test/benchmark/service/benchmark_qps.py | 284 | except Exception as e: | CODE |
| LOW | test/benchmark/service/benchmark_qps.py | 317 | except Exception as e: | CODE |
| LOW | test/benchmark/service/benchmark_prompt_cache.py | 72 | except Exception as e: | CODE |
| LOW | test/benchmark/service/benchmark_sharegpt.py | 129 | except Exception: | CODE |
| LOW | test/format_out/gomoku_game.py | 158 | except Exception as e: | CODE |
| LOW | test/format_out/gomoku_game.py | 184 | except Exception as e: | CODE |
| LOW | test/test_api/test_rl_endpoints.py | 112 | except Exception: | CODE |
| LOW | test/test_api/test_abort_chaos.py | 53 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 373 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 389 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 401 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 419 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 498 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 555 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 572 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 593 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 616 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 638 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 662 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 682 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 748 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 767 | except Exception as e: | CODE |
| LOW | test/test_api/test_openai_api.py | 793 | except Exception as e: | CODE |
| LOW | test/test_api/test_stream_fc.py | 644 | except Exception as e: | CODE |
| LOW | test/test_api/test_abort_request.py | 123 | except Exception: | CODE |
| LOW | test/test_api/test_abort_request.py | 145 | except Exception as e: | CODE |
| LOW | test/test_api/test_abort_request.py | 150 | except Exception as e: | CODE |
| LOW | test/test_api/test_abort_request.py | 408 | except Exception as e: | CODE |
| LOW | test/performance/audio_test.py | 226 | except Exception as e: | CODE |
| LOW | test/performance/audio_test.py | 282 | except Exception as e: | CODE |
| LOW | test/performance/multimodal_test.py | 164 | except Exception as e: | CODE |
| LOW | test/performance/multimodal_test.py | 209 | except Exception as e: | CODE |
| LOW | test/performance/multimodal_test.py | 294 | except Exception as e: | CODE |
| LOW | test/kernel/moe_sum_reduce_tuning_bf16.py | 95 | except Exception as ex: | CODE |
| LOW | test/kernel/llama_gqa_diverse_decode_stage1_tuning.py | 168 | except Exception as ex: | CODE |
| LOW | test/kernel/deepseekv3_rotary_emb_tuning.py | 104 | except Exception as ex: | CODE |
| LOW | test/kernel/deepseekv2_gqa_decode_tuning.py | 159 | except Exception as ex: | CODE |
| LOW | test/kernel/deepseekv3_fp8_block_gemm_tuning.py | 101 | except Exception as ex: | CODE |
| LOW | test/kernel/llama_gqa_diverse_decode_stage2_tuning.py | 137 | except Exception as ex: | CODE |
| LOW | test/kernel/llama_gqa_decode_vsm_tuning.py | 134 | except Exception as ex: | CODE |
| LOW | test/acc/bfcl/eval_bfcl.py | 114 | except Exception as e: | CODE |
| MEDIUM | test/acc/bfcl/eval_bfcl.py | 115 | print(f"Error downloading {filename}: {e}") | CODE |
| LOW | test/acc/bfcl/eval_bfcl.py | 462 | except Exception as e: | CODE |
| LOW | test/acc/bfcl/eval_bfcl.py | 555 | except Exception as e: | CODE |
| 166 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/benchmark/bench_agents.py | 94 | CODE | |
| LOW | test/benchmark/service/benchmark_glm53_flash.py | 55 | CODE | |
| LOW | test/benchmark/service/benchmark_multiturn.py | 233 | CODE | |
| LOW | test/benchmark/service/benchmark_multiturn.py | 536 | CODE | |
| LOW | test/benchmark/service/benchmark_multiturn.py | 691 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 122 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 170 | CODE | |
| LOW | test/benchmark/service/benchmark_qps.py | 250 | CODE | |
| LOW | test/benchmark/service/benchmark_prompt_cache.py | 37 | CODE | |
| LOW | test/benchmark/kernel/benchmark_fused_moe_triton.py | 12 | CODE | |
| LOW | test/format_out/gomoku_game.py | 49 | CODE | |
| LOW | test/format_out/qabot.py | 4 | CODE | |
| LOW | test/test_api/test_rl_endpoints.py | 170 | CODE | |
| LOW | test/test_api/test_openai_api.py | 406 | CODE | |
| LOW | test/test_api/test_openai_api.py | 502 | CODE | |
| LOW | test/test_api/test_openai_api.py | 752 | CODE | |
| LOW | test/test_api/test_openai_api.py | 41 | CODE | |
| LOW | test/test_api/test_openai_api.py | 99 | CODE | |
| LOW | test/test_api/test_openai_api.py | 148 | CODE | |
| LOW | test/test_api/test_anthropic_extra_body.py | 785 | CODE | |
| LOW | test/test_api/test_stream_fc.py | 91 | CODE | |
| LOW | test/test_api/test_stream_fc.py | 435 | CODE | |
| LOW | test/test_api/test_abort_request.py | 84 | CODE | |
| LOW | test/performance/audio_test.py | 180 | CODE | |
| LOW | test/performance/audio_test.py | 193 | CODE | |
| LOW | test/performance/audio_test.py | 239 | CODE | |
| LOW | test/performance/multimodal_test.py | 245 | CODE | |
| LOW | test/kernel/moe_sum_reduce_tuning_bf16.py | 127 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage1_tuning.py | 181 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage1_tuning.py | 214 | CODE | |
| LOW | test/kernel/deepseekv3_rotary_emb_tuning.py | 130 | CODE | |
| LOW | test/kernel/deepseekv2_gqa_decode_tuning.py | 167 | CODE | |
| LOW | test/kernel/deepseekv2_gqa_decode_tuning.py | 206 | CODE | |
| LOW | test/kernel/deepseekv3_fp8_block_gemm_tuning.py | 137 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage2_tuning.py | 147 | CODE | |
| LOW | test/kernel/llama_gqa_diverse_decode_stage2_tuning.py | 179 | CODE | |
| LOW | test/kernel/llama_gqa_decode_vsm_tuning.py | 147 | CODE | |
| LOW | test/kernel/llama_gqa_decode_vsm_tuning.py | 187 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 119 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 142 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 279 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 306 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 382 | CODE | |
| LOW | test/acc/bfcl/eval_bfcl.py | 466 | CODE | |
| LOW | unit_tests/utils/test_atexit_exit_modes.py | 112 | CODE | |
| LOW | unit_tests/common/kv_trans_kernel/test_nixl_kv_trans.py | 30 | CODE | |
| LOW | unit_tests/common/fused_moe/test_activation_config.py | 33 | CODE | |
| LOW | unit_tests/common/fused_moe/test_deepep.py | 141 | CODE | |
| LOW | …del/triton_kernel/linear_att/test_causal_conv1d_mtp.py | 9 | CODE | |
| LOW | format_out/impl.py | 34 | CODE | |
| LOW | format_out/grammer/dpda.py | 406 | CODE | |
| LOW | format_out/grammer/dpda.py | 501 | CODE | |
| LOW | format_out/grammer/core.py | 320 | CODE | |
| LOW | format_out/grammer/core.py | 342 | CODE | |
| LOW | format_out/grammer/core.py | 377 | CODE | |
| LOW | format_out/grammer/core.py | 228 | CODE | |
| LOW | format_out/grammer/core.py | 237 | CODE | |
| LOW | format_out/grammer/core.py | 272 | CODE | |
| LOW | lightllm/server/reasoning_parser.py | 61 | CODE | |
| LOW | lightllm/server/reasoning_parser.py | 152 | CODE | |
| 147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | lightllm/server/visualserver/manager.py | 54 | self.cache_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | lightllm/server/visualserver/model_infer/model_rpc.py | 127 | self.cache_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | lightllm/server/httpserver/manager.py | 93 | self.cache_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | lightllm/server/httpserver/manager.py | 942 | self.router_profiler_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | lightllm/server/audioserver/manager.py | 48 | self.cache_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | lightllm/server/audioserver/model_infer/model_rpc.py | 57 | self.cache_client._channel.stream.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) | CODE |
| CRITICAL | …el_infer/mode_backend/dp_backend/dp_shared_kv_trans.py | 117 | self.backend.model.mem_manager.operator.copy_kv_from_other_dp_ranks( | CODE |
| CRITICAL | …on/basemodel/triton_kernel/linear_att/fla/ops/utils.py | 151 | triton.runtime.driver.active.utils.get_device_properties(i)["max_shared_mem"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …t_tests/server/core/objs/test_out_token_circlequeue.py | 19 | queue.push("token1", 0, False, 1) | CODE |
| HIGH⚡ | …t_tests/server/core/objs/test_out_token_circlequeue.py | 37 | queue.push("token1", 0, False, 1) | CODE |
| HIGH⚡ | …t_tests/server/core/objs/test_out_token_circlequeue.py | 38 | queue.push("token2", 1, False, 2) | CODE |
| HIGH⚡ | …t_tests/server/core/objs/test_out_token_circlequeue.py | 39 | queue.push("token3", 2, False, 3) | CODE |
| HIGH⚡ | …t_tests/server/core/objs/test_out_token_circlequeue.py | 73 | queue.push(f"token{i}", i, False, 1) | CODE |
| HIGH⚡ | …t_tests/server/core/objs/test_out_token_circlequeue.py | 79 | queue.push("token_overflow", LIGHTLLM_OUT_TOKEN_QUEUE_SIZE, False, 1) | CODE |
| HIGH | …t_tests/server/core/objs/test_out_token_circlequeue.py | 95 | queue.push(f"token{i}", i, False, i) | CODE |
| HIGH | …t_tests/server/core/objs/test_out_token_circlequeue.py | 107 | queue.push("token1", 0, False, 1) | CODE |
| HIGH | …t_tests/server/core/objs/test_out_token_circlequeue.py | 108 | queue.push("token2", 1, False, 2) | CODE |
| HIGH | lightllm/server/detokenization/manager.py | 122 | decode_req.req.out_tokens_queue.push(new_text, src_index, special, count_output_tokens) | CODE |
| HIGH | …m/models/gemma4/layer_infer/transformer_layer_infer.py | 39 | # Some E-series checkpoints leave num_global_key_value_heads = null; | COMMENT |
| HIGH | …odels/gemma4/layer_weights/transformer_layer_weight.py | 27 | # Some E-series checkpoints leave num_global_key_value_heads = null; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | generate_requirements_musa.sh | 35 | # Create the output file with a header comment | COMMENT |
| MEDIUM | test/acc/bfcl/eval_bfcl.py | 164 | # Create a mapping from id to answer | COMMENT |
| MEDIUM | unit_tests/server/core/objs/test_shm_array.py | 36 | # Create a new instance to link the existing shm | COMMENT |
| MEDIUM | unit_tests/server/core/objs/test_shm_array.py | 46 | # Create a new shm with a different size | COMMENT |
| MEDIUM | unit_tests/server/core/objs/test_atomic_array_lock.py | 11 | # Create an instance of AtomicShmArrayLock | COMMENT |
| MEDIUM | lightllm/distributed/pynccl_wrapper.py | 22 | # This file is a pure Python wrapper for the NCCL library. | COMMENT |
| MEDIUM | lightllm/models/neo_chat_moe/neo_visual.py | 88 | # Create the batch index for each patch (B x patch count) | COMMENT |
| MEDIUM | …mon/basemodel/triton_kernel/linear_att/fla/__init__.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …n/basemodel/triton_kernel/linear_att/fla/ops/l2norm.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …semodel/triton_kernel/linear_att/fla/ops/solve_tril.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …on/basemodel/triton_kernel/linear_att/fla/ops/index.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …basemodel/triton_kernel/linear_att/fla/ops/__init__.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …on/basemodel/triton_kernel/linear_att/fla/ops/chunk.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …ommon/basemodel/triton_kernel/linear_att/fla/ops/op.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …on/basemodel/triton_kernel/linear_att/fla/ops/utils.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …/basemodel/triton_kernel/linear_att/fla/ops/chunk_o.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …/basemodel/triton_kernel/linear_att/fla/ops/wy_fast.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …n/basemodel/triton_kernel/linear_att/fla/ops/cumsum.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …iton_kernel/linear_att/fla/ops/chunk_scaled_dot_kkt.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …odel/triton_kernel/linear_att/fla/ops/chunk_delta_h.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| MEDIUM | …el/triton_kernel/linear_att/fla/ops/fused_recurrent.py | 5 | # This file contains code copied from the flash-linear-attention project. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/scripts/build.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/benchmark/bench_agents.py | 1 | # Example: | COMMENT |
| LOW | test/benchmark/service/benchmark_mcq.py | 1 | # Adapted from benchmarks/benchmark_serving.py | COMMENT |
| LOW | test/benchmark/service/benchmark_sharegpt.py | 1 | # Adapted from benchmarks/benchmark_serving.py | COMMENT |
| LOW | test/cpu_cache_kernel/test_speed.py | 121 | ) | COMMENT |
| LOW | test/performance/multimodal_test.py | 541 | # import argparse | COMMENT |
| LOW | test/performance/multimodal_test.py | 561 | # os.environ["PYTHONHASHSEED"] = str(seed) | COMMENT |
| LOW | test/performance/multimodal_test.py | 581 | COMMENT | |
| LOW | test/performance/multimodal_test.py | 601 | # def get_prompts_from_json(json_path, tokenizer, output_len, range_ratio): | COMMENT |
| LOW | test/performance/multimodal_test.py | 621 | # # -------------------- 请求函数 -------------------- | COMMENT |
| LOW | test/performance/multimodal_test.py | 641 | # start = time.time() | COMMENT |
| LOW | test/performance/multimodal_test.py | 661 | COMMENT | |
| LOW | test/performance/multimodal_test.py | 681 | # } | COMMENT |
| LOW | test/performance/multimodal_test.py | 701 | # # -------------------- 并发控制 -------------------- | COMMENT |
| LOW | test/performance/multimodal_test.py | 721 | # end = time.time() | COMMENT |
| LOW | test/performance/multimodal_test.py | 741 | # args = parser.parse_args() | COMMENT |
| LOW | test/performance/multimodal_test.py | 761 | # run_fixed_concurrency_benchmark(async_task, args.url, prompts, max_new_tokens, args.num_concurrent) | COMMENT |
| LOW | test/performance/multimodal_test.py | 781 | # final_output_lens.append(len(result)) | COMMENT |
| LOW | test/performance/multimodal_test.py | 801 | # "Total Throughput": (sum(input_lens) + sum(final_output_lens)) / (end_time - start_time), | COMMENT |
| LOW | test/performance/multimodal_test.py | 821 | # with open(args.dump_file, "w") as f: | COMMENT |
| LOW | test/start_scripts/draft.sh | 21 | --enable_cpu_cache --cpu_cache_storage_size 66 --cpu_cache_token_page_size 128 | COMMENT |
| LOW | test/start_scripts/multi_pd_master/pd_prefill.sh | 21 | # if you want to enable microbatch overlap, you can uncomment the following lines | COMMENT |
| LOW | test/acc/test_deepseekr1_mtp_ep.sh | 21 | # 不要写额外的脚本来启动服务,就是单独一个一个的按照上面的描述启动服务,然后再执行评测脚本,然后注意等待服务启动完成,可以20s检测一次其控制台输出,看是否启动完成,还是启动报错。 | COMMENT |
| LOW | test/acc/test_qwen2.5_fp8kv_sph.sh | 1 | # 先清理掉占用显卡和端口的进程 | COMMENT |
| LOW | test/acc/test_pd.sh | 61 | --tasks gsm8k --batch_size 1 --confirm_run_unsafe_code --limit 1 | COMMENT |
| LOW | test/acc/bfcl/run_bfcl.sh | 1 | #!/bin/bash | COMMENT |
| LOW | lightllm/distributed/pynccl_wrapper.py | 1 | # Adapted from | COMMENT |
| LOW | lightllm/distributed/pynccl_wrapper.py | 21 | COMMENT | |
| LOW | lightllm/distributed/pynccl_wrapper.py | 181 | Function( | COMMENT |
| LOW | lightllm/distributed/communication_op.py | 1 | # Adapted from | COMMENT |
| LOW | lightllm/distributed/pynccl.py | 1 | # Adapted from | COMMENT |
| LOW | lightllm/server/api_http.py | 1 | # Adapted from vllm/entrypoints/api_server.py | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 1 | # Adaptive from SGlang [https://github.com/sgl-project/sglang/blob/main/python/sglang/srt/parser/reasoning_parser.py] | COMMENT |
| LOW | lightllm/server/function_call_parser.py | 1 | # Adaptive from SGlang [https://github.com/sgl-project/sglang/blob/main/python/sglang/srt/function_call_parser.py] | COMMENT |
| LOW | lightllm/server/tokenizer.py | 1 | # Adapted from vllm/transformers_utils/tokenizer.py | COMMENT |
| LOW | lightllm/server/core/objs/req.py | 481 | a_len = max(self.input_len + has_out_len + 1, self.shm_cur_kv_len + 1) | COMMENT |
| LOW | lightllm/server/visualserver/model_infer/model_rpc.py | 41 | def exposed_init_model(self, kvargs): | COMMENT |
| LOW | lightllm/server/httpserver/manager.py | 421 | # PD Prefill 节点上报 prompt ids 后,需要等待 PD master 从 Decode 节点取得 | COMMENT |
| LOW | …de_backend/pd/decode_node_impl/decode_trans_process.py | 61 | # 上排队,而推理在另一进程的 stream 上执行,彼此无法 cudaStreamWaitEvent | COMMENT |
| LOW | lightllm/utils/sgl_utils.py | 121 | # 取模将页编号映射到 [0, num_pages),再整理为每个请求一行、每行 max_pages 个页编号的页表。 | COMMENT |
| LOW | lightllm/utils/envs_utils.py | 101 | def get_lightllm_websocket_max_message_size(): | COMMENT |
| LOW | lightllm/utils/dist_utils.py | 1 | import torch.distributed as dist | COMMENT |
| LOW | lightllm/utils/dist_utils.py | 21 | # +------+--------------+----------------+-------------+--------------+------------------+ | COMMENT |
| LOW | lightllm/utils/dist_utils.py | 61 | # "device_id": device_id, | COMMENT |
| LOW | lightllm/utils/rl/bucketed_weight_transfer.py | 1 | # Copyright 2025 Bytedance Ltd. and/or its affiliates | COMMENT |
| LOW | …llm/models/qwen3_omni_moe_thinker/qwen3_omni_visual.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …/models/neo_chat_moe/triton_kernel/get_neo_position.py | 161 | # .unsqueeze(0) | COMMENT |
| LOW | lightllm/models/qwen2_vl/qwen2_visual.py | 1 | # coding=utf-8 | COMMENT |
| LOW | lightllm/models/whisper/modeling_whisper.py | 1 | # Copyright 2025 The HuggingFace Inc. team. | COMMENT |
| LOW | lightllm/models/qwen3_vl/qwen3_visual.py | 1 | # coding=utf-8 | COMMENT |
| LOW | lightllm/common/cuda_wrapper.py | 1 | # Adapted from | COMMENT |
| LOW | lightllm/common/basemodel/infer_struct.py | 81 | self.max_q_seq_len: int = None | COMMENT |
| LOW | lightllm/common/basemodel/batch_objs.py | 21 | b_mtp_index: torch.Tensor = None | COMMENT |
| LOW | lightllm/common/basemodel/batch_objs.py | 121 | class ModelMtpOutputCollector: | COMMENT |
| LOW | …/common/basemodel/triton_kernel/flashinfer_mla_plan.py | 1 | import torch | COMMENT |
| LOW | …emodel/triton_kernel/fused_moe/grouped_fused_moe_ep.py | 281 | combined_x = None | COMMENT |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1 | """Fused MoE kernel.""" | COMMENT |
| LOW | …ommon/basemodel/triton_kernel/fused_moe/topk_select.py | 1 | # Adapted from | COMMENT |
| LOW | …/triton_kernel/alibi_att/token_flashattention_nopad.py | 121 | return | COMMENT |
| LOW | …/triton_kernel/alibi_att/token_flashattention_nopad.py | 141 | # o, | COMMENT |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/CN/source/conf.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | docs/EN/source/conf.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | lightllm/distributed/pynccl_wrapper.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | lightllm/distributed/pynccl_wrapper.py | 394 | __all__ = [ | CODE |
| LOW | lightllm/distributed/pynccl.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | lightllm/server/reasoning_parser.py | 954 | def update_reasoning_token_count(self, token_id: int) -> None: | CODE |
| LOW | lightllm/server/function_call_parser.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | lightllm/server/embed_cache/impl/naive_memory_cache.py | 251 | def set_items_data(self, ids: list[int]) -> None: | CODE |
| LOW⚡ | lightllm/server/embed_cache/impl/naive_memory_cache.py | 258 | def set_items_embed(self, ids: list[int]) -> None: | CODE |
| LOW | …er/httpserver_for_pd_master/pd_selector/cache_aware.py | 73 | def update_config(self, config: CacheAwareConfig) -> None: | CODE |
| LOW | …ver/multi_level_kv_cache/cache_placement_controller.py | 56 | def set_req_cache_way(self, reqs: Sequence["InferReq"]) -> None: | CODE |
| LOW | …ver/multi_level_kv_cache/cache_placement_controller.py | 63 | def set_req_cache_way(self, reqs: Sequence["InferReq"]) -> None: | CODE |
| LOW | …ver/multi_level_kv_cache/cache_placement_controller.py | 79 | def set_req_cache_way(self, reqs: Sequence["InferReq"]) -> None: | CODE |
| LOW | …ver/multi_level_kv_cache/cache_placement_controller.py | 123 | def set_req_cache_way(self, reqs: Sequence["InferReq"]) -> None: | CODE |
| LOW | lightllm/server/multi_level_kv_cache/__init__.py | 11 | __all__ = [ | CODE |
| LOW | …/server/router/model_infer/mtp_speculative/__init__.py | 5 | __all__ = ["DPOverlapSpecEngine", "SpecEngine"] | CODE |
| LOW | …outer/model_infer/mtp_speculative/dp_overlap_engine.py | 186 | __all__ = ["DPOverlapSpecEngine"] | CODE |
| LOW | …llm/server/router/model_infer/mtp_speculative/utils.py | 96 | __all__ = [ | CODE |
| LOW | …uter/model_infer/mtp_speculative/proposers/__init__.py | 43 | __all__ = [ | CODE |
| LOW | …router/model_infer/mtp_speculative/planner/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …r/router/model_infer/mtp_speculative/planner/dspark.py | 86 | def _update_confidence_probs(self, confidence_probs, req_num: int) -> None: | CODE |
| LOW | …infer/mtp_speculative/dp_overlap_proposers/__init__.py | 48 | __all__ = ["build_dp_overlap_spec_proposer"] | CODE |
| LOW | lightllm/utils/infer_utils.py | 85 | def set_random_seed(seed: int) -> None: | CODE |
| LOW | lightllm/models/__init__.py | 8 | __all__ = ["get_model", "get_model_class", "get_draft_model_class", *MODEL_CLASS_PATHS] | CODE |
| LOW | lightllm/models/qwen3_dspark/__init__.py | 3 | __all__ = ["Qwen3DSparkModel"] | CODE |
| LOW | lightllm/models/qwen3_dspark/layer_weights/__init__.py | 5 | __all__ = ["Qwen3DSparkPreAndPostLayerWeight"] | CODE |
| LOW | lightllm/models/glm4_moe_lite_mtp/__init__.py | 3 | __all__ = ["Glm4MoeLiteMTPModel"] | CODE |
| LOW | …llm/models/glm4_moe_lite_mtp/layer_weights/__init__.py | 5 | __all__ = ["Glm4MoeLiteMTPPreAndPostLayerWeight"] | CODE |
| LOW | lightllm/models/qwen3_dflash/__init__.py | 3 | __all__ = ["Qwen3DFlashModel"] | CODE |
| LOW | lightllm/models/qwen3_dflash/layer_weights/__init__.py | 8 | __all__ = [ | CODE |
| LOW | lightllm/models/glm4_moe_lite/__init__.py | 4 | __all__ = ["Glm4MoeLiteTpPartModel", "Glm4MoeLiteInferStateInfo"] | CODE |
| LOW | lightllm/models/glm4_moe_lite/layer_infer/__init__.py | 3 | __all__ = ["Glm4MoeLiteTransformerLayerInfer"] | CODE |
| LOW | lightllm/models/glm4_moe_lite/layer_weights/__init__.py | 3 | __all__ = ["Glm4MoeLiteTransformerLayerWeight"] | CODE |
| LOW | lightllm/models/qwen3_5_dflash/__init__.py | 3 | __all__ = ["Qwen3_5DFlashModel"] | CODE |
| LOW | …ghtllm/models/qwen3_5_dflash/layer_weights/__init__.py | 5 | __all__ = ["Qwen35DFlashPreAndPostLayerWeight"] | CODE |
| LOW | lightllm/models/qwen2_vl/qwen2_visual.py | 111 | def update_freqs_cache(self, seqlen: int) -> None: | CODE |
| LOW | lightllm/models/qwen3_5_dspark/__init__.py | 3 | __all__ = ["Qwen3_5DSparkModel"] | CODE |
| LOW | lightllm/models/qwen3_5/__init__.py | 13 | __all__ = [ | CODE |
| LOW | lightllm/models/qwen3next/__init__.py | 3 | __all__ = ["Qwen3NextTpPartModel"] | CODE |
| LOW | lightllm/models/qwen3_5_moe_mtp/__init__.py | 3 | __all__ = ["Qwen3_5MoeMTPModel"] | CODE |
| LOW | …htllm/models/qwen3_5_moe_mtp/layer_weights/__init__.py | 5 | __all__ = ["Qwen3_5MoeMTPTransformerLayerWeight"] | CODE |
| LOW | lightllm/common/basemodel/__init__.py | 15 | __all__ = [ | CODE |
| LOW | lightllm/common/basemodel/attention/linear/__init__.py | 9 | __all__ = [ | CODE |
| LOW | lightllm/common/basemodel/attention/nsa/__init__.py | 14 | __all__ = [ | CODE |
| LOW | lightllm/common/basemodel/triton_kernel/mhc/__init__.py | 38 | __all__ = [ | CODE |
| LOW | …/common/basemodel/triton_kernel/linear_att/__init__.py | 10 | __all__ = [ | CODE |
| LOW | …basemodel/triton_kernel/linear_att/fla/ops/__init__.py | 12 | __all__ = [ | CODE |
| LOW | …on/basemodel/triton_kernel/linear_att/fla/ops/utils.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …iton_kernel/att/decode_att/gqa/mtp_diverse/__init__.py | 10 | __all__ = [ | CODE |
| LOW | lightllm/common/kv_cache_mem_manager/__init__.py | 13 | __all__ = [ | CODE |
| LOW | lightllm/common/cpu_cache/__init__.py | 3 | __all__ = ["CpuCacheCreator", "CpuCacheTensorSpec"] | CODE |
| LOW | lightllm/common/req_manager/__init__.py | 7 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unit_tests/models/qwen2_vl/test_rotary_pos_emb.py | 22 | CODE | |
| LOW | …kernel/linear_att/test_mtp_fused_recurrent_autotune.py | 37 | CODE | |
| LOW | …tt/int8kv/test_int8kv_flash_decoding_diverse_stage1.py | 8 | CODE | |
| LOW | lightllm/server/pd_io_struct.py | 269 | CODE | |
| LOW | lightllm/server/metrics/manager.py | 63 | CODE | |
| LOW | lightllm/server/core/objs/py_sampling_params.py | 28 | CODE | |
| LOW | lightllm/server/core/objs/out_token_circlequeue.py | 103 | CODE | |
| LOW | lightllm/server/embed_cache/utils.py | 19 | CODE | |
| LOW | lightllm/utils/sgl_utils.py | 148 | CODE | |
| LOW | lightllm/utils/dist_utils.py | 326 | CODE | |
| LOW | …/models/gpt_oss/layer_infer/transformer_layer_infer.py | 28 | CODE | |
| LOW | …/models/gpt_oss/layer_infer/transformer_layer_infer.py | 33 | CODE | |
| LOW | …emma4/triton_kernel/context_attention_fwd_gemma4_mm.py | 347 | CODE | |
| LOW | lightllm/models/glm5_next/glm5_next_visual.py | 101 | CODE | |
| LOW | lightllm/models/qwen_vl/qwen_visual.py | 241 | CODE | |
| LOW | lightllm/models/qwen2_5_vl/qwen2_5_visual.py | 139 | CODE | |
| LOW | …tllm/models/vit/layer_infer/transformer_layer_infer.py | 40 | CODE | |
| LOW | …tllm/models/vit/layer_infer/transformer_layer_infer.py | 54 | CODE | |
| LOW | lightllm/models/tarsier2/tarsier2_visual.py | 153 | CODE | |
| LOW | lightllm/models/qwen3_omni_moe_thinker/audio_process.py | 18 | CODE | |
| LOW | lightllm/models/qwen3_omni_moe_thinker/audio_process.py | 106 | CODE | |
| LOW | …tllm/models/qwen3_omni_moe_thinker/qwen3_omni_audio.py | 150 | CODE | |
| LOW | …llm/models/qwen3_omni_moe_thinker/qwen3_omni_visual.py | 124 | CODE | |
| LOW | lightllm/models/neo_chat_moe/neo_visual.py | 107 | CODE | |
| LOW | …odels/deepseek2/layer_infer/transformer_layer_infer.py | 115 | CODE | |
| LOW | …eepseek2/triton_kernel/context_flashattention_nopad.py | 438 | CODE | |
| LOW | lightllm/models/qwen2_vl/qwen2_visual.py | 179 | CODE | |
| LOW | lightllm/models/qwen2_vl/vision_process.py | 81 | CODE | |
| LOW | …odels/qwen3next/layer_infer/transformer_layer_infer.py | 326 | CODE | |
| LOW | lightllm/models/whisper/modeling_whisper.py | 51 | CODE | |
| LOW | lightllm/models/qwen3_vl/qwen3_visual.py | 120 | CODE | |
| LOW | lightllm/common/quantization/w8a8gx.py | 115 | CODE | |
| LOW | lightllm/common/basemodel/basemodel.py | 495 | CODE | |
| LOW | lightllm/common/basemodel/attention/triton/fp.py | 249 | CODE | |
| LOW | lightllm/common/basemodel/attention/triton/mla.py | 159 | CODE | |
| LOW | …emodel/triton_kernel/fused_moe/grouped_fused_moe_ep.py | 248 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 479 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1001 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1129 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1171 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1202 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1244 | CODE | |
| LOW | …basemodel/triton_kernel/fused_moe/grouped_fused_moe.py | 1275 | CODE | |
| LOW | …iton_kernel/alibi_att/token_attention_nopad_reduceV.py | 108 | CODE | |
| LOW | …riton_kernel/alibi_att/context_flashattention_nopad.py | 196 | CODE | |
| LOW | …mmon/basemodel/triton_kernel/linear_att/fla/ops/kda.py | 1002 | CODE | |
| LOW | …odel/triton_kernel/linear_att/fla/ops/chunk_delta_h.py | 273 | CODE | |
| LOW | …el/triton_kernel/linear_att/fla/ops/fused_recurrent.py | 250 | CODE | |
| LOW | …el/triton_kernel/linear_att/fla/ops/fused_recurrent.py | 432 | CODE | |
| LOW | …el/triton_kernel/linear_att/fla/ops/fused_recurrent.py | 385 | CODE | |
| LOW | …mha/stage3_decode_att/token_attention_nopad_reduceV.py | 110 | CODE | |
| LOW | …on_kernel/att/prefill_att/context_attention_fwd_neo.py | 274 | CODE | |
| LOW | …yer_weights/meta_weights/fused_moe/impl/triton_impl.py | 144 | CODE | |
| LOW | …r_weights/meta_weights/fused_moe/impl/deepgemm_impl.py | 97 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/benchmark/service/benchmark_client.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | test/benchmark/service/benchmark_qps.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | test/benchmark/service/benchmark_mcq.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | test/benchmark/service/benchmark_sharegpt.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | test/performance/multimodal_test.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | lightllm/server/tokenizer.py | 0 | gets a tokenizer for the given model name via huggingface. | STRING |
| HIGH | …server/router/model_infer/mode_backend/base_backend.py | 0 | 将错误请求从 req_ids 中过滤出来, 然后让 _get_classed_reqs 进行处理。 该函数 主要用于在 nixl pd 分离模式下, 由子类继承重载, prefill 和 decode 节点过滤 kv 传输错误,或者 kv | STRING |
| HIGH | …nfer/mode_backend/pd/prefill_node_impl/prefill_impl.py | 0 | 将错误请求从 req_ids 中过滤出来, 然后让 _get_classed_reqs 进行处理。 该函数 主要用于在 nixl pd 分离模式下, 由子类继承重载, prefill 和 decode 节点过滤 kv 传输错误,或者 kv | STRING |
| HIGH | …_infer/mode_backend/pd/decode_node_impl/decode_impl.py | 0 | 将错误请求从 req_ids 中过滤出来, 然后让 _get_classed_reqs 进行处理。 该函数 主要用于在 nixl pd 分离模式下, 由子类继承重载, prefill 和 decode 节点过滤 kv 传输错误,或者 kv | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | generate_requirements_musa.sh | 55 | # Check if this is a CUDA package to skip | COMMENT |
| LOW | generate_requirements_musa.sh | 69 | # Check if this is a torch-related package (remove version pin) | COMMENT |
| LOW | test/test_api/test_gsmk.py | 58 | # Check if the cache file already exists | COMMENT |
| LOW | test/test_api/test_gsmk.py | 233 | # Print results | COMMENT |
| LOW | test/test_api/test_anthropic_extra_body.py | 908 | # Set logger to DEBUG so caplog can capture it | COMMENT |
| LOW | test/acc/test_gsmk.py | 42 | # Check if the cache file already exists | COMMENT |
| LOW | test/acc/test_gsmk.py | 215 | # Print results | COMMENT |
| LOW | test/acc/bfcl/run_bfcl.sh | 23 | # Check if server is running | COMMENT |
| LOW | test/acc/bfcl/eval_bfcl.py | 409 | # Check if it's already in standard format {"name": ..., "arguments": ...} | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 164 | # Check if this might be incomplete | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 171 | # Check if this might be commentary filler between blocks | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 201 | # Check if this might be commentary filler between blocks | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 379 | # Check if we have CALL -> TEXT("commentary") -> CHANNEL pattern | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 524 | # Check if we should start filtering commentary (after <|call|> token or tool_call event) | COMMENT |
| LOW | lightllm/server/reasoning_parser.py | 535 | # Check if we're in a commentary filtering state | COMMENT |
| LOW | lightllm/server/api_openai.py | 832 | # Check if it's a list of integers (token IDs) | COMMENT |
| LOW⚡ | lightllm/server/function_call_parser.py | 729 | # Check if we have a tool call (either the start token or individual tool call) | COMMENT |
| LOW⚡ | lightllm/server/function_call_parser.py | 911 | # Check if we have a tool call (either the start token or individual tool call) | COMMENT |
| LOW⚡ | lightllm/server/function_call_parser.py | 1089 | # Check if we have a tool call (either the start token or individual tool call) | COMMENT |
| LOW | lightllm/server/function_call_parser.py | 447 | # Check if buffer contains complete end token (without leading newline) | COMMENT |
| LOW | lightllm/server/function_call_parser.py | 454 | # Check if buffer might contain partial end token at the end | COMMENT |
| LOW | lightllm/server/function_call_parser.py | 1485 | # Check if we're inside a function_calls block or starting one | COMMENT |
| LOW | lightllm/server/function_call_parser.py | 1503 | # Check if function_calls block has ended | COMMENT |
| LOW | lightllm/utils/device_utils.py | 148 | # Check if the output contains 'NVLink' | COMMENT |
| LOW | lightllm/utils/device_utils.py | 163 | # Check if the output contains 'MTLink' | COMMENT |
| LOW | …/meta_weights/fused_moe/gpt_oss_fused_moe_weight_tp.py | 200 | # Check if blocks and scales are on CPU, and move to GPU if so | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 291 | CODE | |
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 308 | CODE | |
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 350 | CODE | |
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 699 | CODE | |
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 735 | CODE | |
| MEDIUM | test/test_pd_selector/test_pd_master_multi_choice.py | 766 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 24 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 32 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 47 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 59 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 67 | CODE | |
| MEDIUM | unit_tests/server/httpserver/test_pd_generate_error.py | 381 | CODE | |
| MEDIUM | format_out/impl.py | 61 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/performance/multimodal_test.py | 21 | # Step 1: Generate a random image (RGB) | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 24 | # Step 2: Convert NumPy array to PIL Image | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 27 | # Step 3: Save the image to a BytesIO buffer | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 31 | # Step 4: Encode the image bytes to Base64 | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 70 | # Step 1: Start PD Master | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 73 | # Step 2: Start Prefill service | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 76 | # Step 3: Start Decode service | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 83 | # Step 1: Start configuration server | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 86 | # Step 2: Start multiple PD Masters | COMMENT |
| LOW⚡ | test/start_scripts/README.md | 90 | # Step 3: Start Prefill and Decode services with the prefill/decode run modes. | COMMENT |
| LOW | lightllm/models/deepseek3_2/encoding_dsv32.py | 380 | # NOTE: This function is designed to parse only correctly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lightllm/utils/shm_utils.py | 55 | Args: name: logical name of the shared memory; the current service prefix is added here expected_si | STRING |
| HIGH | …htllm/models/deepseek2/triton_kernel/weight_dequant.py | 10 | Dequantizes the given weight tensor using the provided scale tensor. Args: x (torch.Tensor): The quant | STRING |
| HIGH | …on/basemodel/triton_kernel/linear_att/fla/ops/chunk.py | 123 | Args: q (torch.Tensor): queries of shape `[B, T, H, K]` if `head_first=False` else `[B, H, T, K | STRING |
| HIGH | …el/triton_kernel/linear_att/fla/ops/fused_recurrent.py | 453 | Args: q (torch.Tensor): queries of shape `[B, T, H, K]`. k (torch.Tensor): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/performance/multimodal_test.py | 21 | # Step 1: Generate a random image (RGB) | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 24 | # Step 2: Convert NumPy array to PIL Image | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 27 | # Step 3: Save the image to a BytesIO buffer | COMMENT |
| LOW⚡ | test/performance/multimodal_test.py | 31 | # Step 4: Encode the image bytes to Base64 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/test_api/test_gsmk.py | 181 | # Test questions should start after few-shot examples | COMMENT |
| MEDIUM | test/acc/test_gsmk.py | 163 | # Test questions should start after few-shot examples | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lightllm/server/reasoning_parser.py | 484 | # If no emit, just return the held content | COMMENT |
| MEDIUM⚡ | …emma4/triton_kernel/context_attention_fwd_gemma4_mm.py | 267 | # Reference implementation + standalone test harness | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lightllm/server/tokenizer.py | 65 | # you can try pip install protobuf==3.20.0 to try repair | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lightllm/server/visualserver/proxy_manager.py | 121 | def run_task(self, conn: rpyc.Connection, images: List[ImageItem]): | CODE |
| LOW | …lm/server/visualserver/model_infer/model_rpc_client.py | 34 | async def run_task(self, images: List[ImageItem], ref_event_list: List[threading.Event]): | CODE |
| LOW | …llm/server/audioserver/model_infer/model_rpc_client.py | 31 | async def run_task(self, audios: List[AudioItem], ref_event_list: List[threading.Event]): | CODE |