这是一份入门AI/LLM大模型的逐步指南,包含教程和演示代码,带你从API走进本地大模型部署和微调,代码文件会提供Kaggle或Colab在线版本,即便没有显卡也可以进行学习。项目中还开设了一个小型的代码游乐场🎡,你可以尝试在里面实验一些有意思的AI脚本。同时,包含李宏毅 (HUNG-YI LEE)2024生成式人工智能导论课程的完整中文镜像作业。
This report presents the forensic synthetic code analysis of Hoper-J/AI-Guide-and-Demos-zh_CN, a Python project with 4,293 GitHub stars. SynthScan v2.0 examined 39,298 lines of code across 74 source files, recording 148 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 8.6 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 148 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Guide/DeepSeek API 流式输出解析 - OpenAI SDK.md | 28 | api_key="your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 流式输出解析 - OpenAI SDK.md | 216 | api_key="your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 49 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 81 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 199 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 305 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 364 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 405 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 465 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/DeepSeek API 多轮对话 - OpenAI SDK.md | 553 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 57 | export OPENAI_API_KEY="your-api-key" | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 63 | set OPENAI_API_KEY=your-api-key | CODE |
| HIGH⚡ | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 75 | echo 'export OPENAI_API_KEY="your-api-key"' >> ~/.bashrc | CODE |
| HIGH⚡ | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 82 | echo 'export OPENAI_API_KEY="your-api-key"' >> ~/.zshrc | CODE |
| HIGH⚡ | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 91 | echo export OPENAI_API_KEY="your-api-key" >> %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile. | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 102 | os.environ['OPENAI_API_KEY'] = 'your-api-key' | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 152 | api_key=os.getenv('OPENAI_API_KEY'), # 如果你没有配置环境变量,使用 api_key="your-api-key" 替换 | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 175 | >注意,不要误用成 `api_key=os.getenv("your-api-key")`,`os.getenv()`用于获取对应系统环境变量的值,API本身并不是这个环境变量,正确的用法是 ``api_key="your-api-key" | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 319 | os.environ['ZHIPUAI_API_KEY'] = 'your-api-key' # 1 | CODE |
| HIGH | Guide/01. 初识 LLM API:环境配置与多轮对话演示.md | 453 | os.environ['DEEPSEEK_API_KEY'] = 'your-api-key' # 1 | CODE |
| HIGH | Guide/DeepSeek API 统一模型对话逻辑与流式输出.md | 189 | "api_key": "your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 统一模型对话逻辑与流式输出.md | 205 | > api_key="your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 统一模型对话逻辑与流式输出.md | 413 | "api_key": "your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 统一模型对话逻辑与流式输出.md | 435 | "api_key": "your-api-key", | CODE |
| HIGH | Guide/DeepSeek API 输出解析 - OpenAI SDK.md | 30 | api_key="your-api-key", # 1:替换成对应的 API_Key,可以使用环境变量而非明文填写,即 api_key=os.getenv("DEEPSEEK_API_KEY") | CODE |
| HIGH | Guide/DeepSeek API 输出解析 - OpenAI SDK.md | 66 | - api_key="your-api-key", #1 | CODE |
| HIGH | Guide/DeepSeek API 输出解析 - OpenAI SDK.md | 73 | + api_key="your-api-key", #1 | CODE |
| HIGH | Guide/DeepSeek API 输出解析 - OpenAI SDK.md | 87 | api_key="your-api-key", # 1:替换成对应的 API_Key | CODE |
| HIGH | Guide/DeepSeek API 输出解析 - OpenAI SDK.md | 293 | api_key="your-api-key", # 1:替换成对应的 API_Key | CODE |
| HIGH | Guide/DeepSeek API 的获取与对话示例.md | 72 | os.environ["DEEPSEEK_API_KEY"] = "your-api-key" # 1 | CODE |
| HIGH | Guide/DeepSeek API 的获取与对话示例.md | 139 | os.environ["SILICONFLOW_API_KEY"] = "your-api-key" # 1 | CODE |
| HIGH | Guide/DeepSeek API 的获取与对话示例.md | 223 | os.environ["DASHSCOPE_API_KEY"] = "your-api-key" # 1 | CODE |
| HIGH | Guide/DeepSeek API 的获取与对话示例.md | 290 | os.environ["BAIDU_API_KEY"] = "your-api-key" # 1 | CODE |
| HIGH | Guide/DeepSeek API 的获取与对话示例.md | 408 | os.environ["ARK_API_KEY"] = "your-api-key" # 1 | CODE |
| HIGH | CodePlayground/README.md | 117 | uv run python summarizer.py file_path [--api_key YOUR_API_KEY] [--output_dir OUTPUT_DIR] [其他可选参数] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Guide/03. 进阶指南:自定义 Prompt 提升大模型解题能力.md | 98 | except Exception as e: | CODE |
| LOW | Guide/03. 进阶指南:自定义 Prompt 提升大模型解题能力.md | 151 | except Exception: | CODE |
| LOW | Guide/03. 进阶指南:自定义 Prompt 提升大模型解题能力.md | 195 | except Exception as e: | CODE |
| LOW | Guide/03. 进阶指南:自定义 Prompt 提升大模型解题能力.md | 216 | except Exception as e: | CODE |
| LOW | Guide/03. 进阶指南:自定义 Prompt 提升大模型解题能力.md | 237 | except Exception as e: | CODE |
| LOW | Guide/02. 简单入门:通过 API 与 Gradio 构建 AI 应用.md | 70 | except Exception as e: | CODE |
| LOW | Guide/02. 简单入门:通过 API 与 Gradio 构建 AI 应用.md | 287 | except Exception as e: | CODE |
| LOW | Guide/02. 简单入门:通过 API 与 Gradio 构建 AI 应用.md | 425 | except Exception as e: | CODE |
| LOW | …6. 用 LoRA 微调 Stable Diffusion:拆开炼丹炉,动手实现你的第一次 AI 绘画.md | 142 | except Exception: | CODE |
| LOW | …6. 用 LoRA 微调 Stable Diffusion:拆开炼丹炉,动手实现你的第一次 AI 绘画.md | 440 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1238 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1363 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1421 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1882 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1927 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 2019 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 2071 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 2082 | except Exception as e: | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 2092 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 239 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 257 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 274 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 285 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 502 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 516 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 532 | except Exception as e: | CODE |
| LOW | …GUF 模型(分片 & Shared & Split & 00001-of-0000...的解决方法).md | 543 | except Exception as e: | CODE |
| LOW | …9b. 从加载到对话:使用 Llama-cpp-python 本地运行量化 LLM 大模型(GGUF).md | 476 | except Exception as e: | CODE |
| LOW | CodePlayground/chat.py | 91 | except Exception as e: | CODE |
| LOW | CodePlayground/chat.py | 197 | except Exception as e: | CODE |
| LOW | CodePlayground/chat.py | 371 | except Exception as e: | CODE |
| LOW | CodePlayground/chat.py | 439 | except Exception as e: | CODE |
| LOW | CodePlayground/summarizer.py | 90 | except Exception as e: | CODE |
| LOW | CodePlayground/summarizer.py | 145 | except Exception as e: | CODE |
| LOW | CodePlayground/summarizer.py | 200 | except Exception as e: | CODE |
| LOW | CodePlayground/summarizer.py | 348 | except Exception as e: | STRING |
| LOW | CodePlayground/sd_lora.py | 97 | except Exception as e: | CODE |
| LOW | CodePlayground/utils/config_manager.py | 48 | except Exception as e: | CODE |
| LOW | CodePlayground/utils/config_manager.py | 81 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_func_metadata.py | 30 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_func_metadata.py | 155 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_func_metadata.py | 213 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 135 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 180 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 272 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 324 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 335 | except Exception as e: | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 345 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 564 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 566 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 577 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 579 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 625 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 627 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 663 | # --------------------------- | COMMENT |
| MEDIUM | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 665 | # --------------------------- | COMMENT |
| MEDIUM | CodePlayground/chat.py | 1 | # =============================================================== | COMMENT |
| MEDIUM | CodePlayground/chat.py | 16 | # =============================================================== | COMMENT |
| MEDIUM | CodePlayground/summarizer.py | 1 | # =============================================================== | COMMENT |
| MEDIUM | CodePlayground/summarizer.py | 15 | # =============================================================== | COMMENT |
| MEDIUM | CodePlayground/sd_lora.py | 1 | # =============================================================== | COMMENT |
| MEDIUM | CodePlayground/sd_lora.py | 14 | # =============================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Guide/17. 浅谈 RTN 模型量化:非对称 vs 对称.md | 530 | def pytorch_quantize_symmetric(fp32_tensor): | CODE |
| LOW | Guide/17. 浅谈 RTN 模型量化:非对称 vs 对称.md | 559 | def custom_quantize_compare_symmetric(fp32_values): | CODE |
| LOW | Guide/14. PEFT:在大模型中快速应用 LoRA.md | 153 | def print_trainable_parameters(model): | CODE |
| LOW | Guide/07. 探究模型参数与显存的关系以及不同精度造成的影响.md | 385 | def load_model_and_measure_memory(precision, model_name, device): | CODE |
| LOW | Guide/21. BPE vs WordPiece:理解 Tokenizer 的工作原理与子词分割方法.md | 544 | def count_char_pairs_wordpiece(word_freq): | CODE |
| LOW | Guide/21. BPE vs WordPiece:理解 Tokenizer 的工作原理与子词分割方法.md | 713 | def count_char_pairs_wordpiece(word_freq): | CODE |
| LOW | …e/f. 交叉熵损失函数 nn.CrossEntropyLoss() 详解和要点提醒(PyTorch).md | 537 | def custom_weighted_cross_entropy(logits, targets, weights): | CODE |
| LOW | …e/f. 交叉熵损失函数 nn.CrossEntropyLoss() 详解和要点提醒(PyTorch).md | 558 | def custom_label_smoothing_cross_entropy(logits, targets, alpha): | CODE |
| LOW | …e/f. 交叉熵损失函数 nn.CrossEntropyLoss() 详解和要点提醒(PyTorch).md | 580 | def custom_both_cross_entropy(logits, targets, weights, alpha): | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1933 | def demo_prompt_render_simulation(): | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 1968 | def simulate_render_conversion(result): | CODE |
| LOW | …e/深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器.md | 2041 | def debug_pydantic_union_behavior(): | CODE |
| LOW | …de/Agents/Claude Code 必备的用量监控工具:claude-monitor 实践指南.md | 558 | def calculate_hourly_burn_rate( | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 693 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1091 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1218 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1357 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1377 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1403 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | PaperNotes/Transformer 论文精读.md | 1567 | def scaled_dot_product_attention(Q, K, V, mask=None): | CODE |
| LOW | CodePlayground/utils/environment_manager.py | 59 | def check_pytorch_transformers(self): | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 186 | def demo_prompt_render_simulation(): | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 221 | def simulate_render_conversion(result): | CODE |
| LOW | Demos/mcp/debug_message_validator.py | 294 | def debug_pydantic_union_behavior(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Guide/20. RAG 入门实践:从文档拆分到向量数据库与问答构建.md | 1 | # RAG 入门实践:从文档拆分到向量数据库与问答构建 | COMMENT |
| MEDIUM | …us 4.7,Auto 模式开放,新的思考等级 xhigh,以及“限免3次”的 ultrareview.md | 101 | > *More effort control: Opus 4.7 introduces a new `xhigh` (“extra high”) [effort level](https://platform.claude.com/docs | CODE |
| MEDIUM | PaperNotes/GPT 论文精读.md | 63 | - [关于 Zero-shot](#关于-zero-shot) | CODE |
| MEDIUM | PaperNotes/GPT 论文精读.md | 79 | - [Q1:Zero-Shot、One-Shot 和 Few-Shot 的区别是什么?和 In-Context Learning 有什么关系?与微调有什么不同?](#q1zero-shotone-shot-和-few-shot | CODE |
| MEDIUM | PaperNotes/Transformer 论文精读.md | 3061 | ### Q4: 词嵌入 Word Embedding(输入处理)和句子嵌入 Sentence Embedding(e.g., in RAG)是同一回事吗? | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | Guide/17. 浅谈 RTN 模型量化:非对称 vs 对称.md | 671 | > torch.ao.quantization.observer.UniformQuantizationObserverBase._calculate_qparams() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Guide/18. 模型量化技术概述及 GGUF & GGML 文件格式解析.md | 521 | // The value is a 16-bit signed little-endian integer. | COMMENT |
| LOW | Guide/18. 模型量化技术概述及 GGUF & GGML 文件格式解析.md | 581 | // - It must be a hierarchical key, where each segment is `lower_snake_case` and separated by a `.`. | COMMENT |
| LOW | Guide/18. 模型量化技术概述及 GGUF & GGML 文件格式解析.md | 621 | struct gguf_tensor_info_t { | COMMENT |
| LOW | Guide/18. 模型量化技术概述及 GGUF & GGML 文件格式解析.md | 641 | }; | COMMENT |
| LOW | Guide/18. 模型量化技术概述及 GGUF & GGML 文件格式解析.md | 661 | // This is arbitrary binary data corresponding to the weights of the model. This data should be close | COMMENT |
| LOW | CodePlayground/chat.py | 1 | # =============================================================== | COMMENT |
| LOW | CodePlayground/summarizer.py | 1 | # =============================================================== | COMMENT |
| LOW | CodePlayground/sd_lora.py | 1 | # =============================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CodePlayground/summarizer.py | 27 | CODE | |
| LOW | CodePlayground/summarizer.py | 28 | CODE | |
| LOW | CodePlayground/summarizer.py | 31 | CODE | |
| LOW | CodePlayground/summarizer.py | 44 | CODE | |
| LOW | CodePlayground/sd_lora.py | 20 | CODE | |
| LOW | Demos/mcp/debug_func_metadata.py | 8 | CODE | |
| LOW | Demos/mcp/debug_func_metadata.py | 8 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CodePlayground/chat.py | 291 | CODE | |
| LOW | CodePlayground/chat.py | 48 | CODE | |
| LOW | CodePlayground/summarizer.py | 271 | CODE | |
| LOW | CodePlayground/sd_lora.py | 375 | CODE | |
| LOW | Demos/mcp/debug_message_validator.py | 186 | CODE | |
| LOW | Demos/mcp/debug_message_validator.py | 221 | CODE |