AI Slop Code RIsk Monitor

zylon-ai/private-gpt

Complete API layer for private AI applications on local models: RAG, skills, tools, MCP, text-to-sql, and more. Works with any OpenAI-compatible inference server.

23.6 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for zylon-ai/private-gpt, a Python project with 57,565 GitHub stars. SynthScan examined 200,046 lines of code across 941 source files, recording 3658 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 23.6 (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.

23.6
Adjusted Signal
23.6
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
57.6K
Stars
Python
Language
200.0K
Lines of Code
941
Files
3.7K
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 45.7/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 2338 finding(s).

Hallucinated Dependency & Supply Chain Risk 11.6/100 · LOW

Are imports declared and package/API names verified? 480 finding(s).

Agent Over-Engineering Ratio 60.6/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 2881 finding(s).

PR Review Velocity Impact 68.9/100 · HIGH

Which changes need focused human review? 3658 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 46MEDIUM 395LOW 3217

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 3658 distinct pattern matches across 20 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.

Hyper-Verbose Identifiers2011 hits · 1926 pts
SeverityFileLineSnippetContext
LOWui/index.html4367 function appearanceBriefHasContent(prefix) {CODE
LOWui/index.html4806 function setAppearanceGeneratorStatus(prefix, message = "") {CODE
LOWui/index.html4816 function appearanceGeneratorPrompt(brief) {CODE
LOWui/index.html4863 function normalizeAppearanceSuggestion(candidate, fallbackBrief = "") {CODE
LOWui/index.html4940 function onboardingErrorToastMessage(check, fallback) {CODE
LOWui/index.html5313 function normalizeDocumentBackedSettings(chat) {CODE
LOWui/index.html5333 function normalizeChatContextSelections() {CODE
LOWui/index.html5784 function normalizeCodeExecToolName(name) {CODE
LOWui/index.html6204 function collectToolResultCitationSources(content, context) {CODE
LOWui/index.html6253 function renderMarkdownWithCitations(text, citationContext, explicitCitations = []) {CODE
LOWui/index.html6439 function parseMarkdownTableAlignments(line) {CODE
LOWui/index.html7610 function openProductionNoticeModal() {CODE
LOWui/index.html7689 function readSettingsConnectionForm() {CODE
LOWui/index.html7704 function readOnboardingConnectionForm() {CODE
LOWui/index.html7735 function saveAppearanceSettingsFrom(prefix) {CODE
LOWui/index.html7811 async function generateAppearanceFromBrief(prefix) {CODE
LOWprivate_gpt/initialize.py22def download_nltk_package_if_not_present(CODE
LOWprivate_gpt/initialize.py49def unzip_download_nltk_package_if_not_present(CODE
LOWprivate_gpt/initialize.py118def _initialize_arize_phoenix(settings: "Settings") -> None:CODE
LOWprivate_gpt/di.py32def create_application_injector() -> Injector:CODE
LOWprivate_gpt/di.py48def discard_inherited_injectors(loop: AbstractEventLoop | None = None) -> None:CODE
LOWprivate_gpt/global_handler.py53async def request_validation_exception_handler(CODE
LOWprivate_gpt/global_handler.py67async def request_validation_exception_adapter(CODE
LOWprivate_gpt/launcher.py172 async def inject_injector_middleware(request: Request, call_next: Any) -> Any:CODE
LOWprivate_gpt/settings/settings_loader.py49def load_settings_from_profile(profile: str) -> dict[str, Any]:CODE
LOWprivate_gpt/settings/settings_loader.py81def discover_models_from_environment(CODE
LOWprivate_gpt/settings/settings.py1256 def url_with_default_database(self) -> str:CODE
LOWprivate_gpt/settings/settings.py1273 def empty_redis_database_is_none(cls, value: Any) -> Any:CODE
LOWprivate_gpt/settings/settings.py2009 def split_comma_separated_lists(cls, value: object) -> object:CODE
LOWprivate_gpt/settings/settings.py2191 def validate_chat_scheduler_configuration(self) -> "Settings":CODE
LOWprivate_gpt/chat/input_models.py380 def convert_from_llama_index_messages(CODE
LOWprivate_gpt/chat/input_models.py458 def _standalone_server_tool_messages(CODE
LOWprivate_gpt/chat/input_models.py920 def _convert_into_llama_index_messages(CODE
LOWprivate_gpt/chat/input_models.py1009 def _convert_assistant_message(CODE
LOWprivate_gpt/chat/input_models.py1272 def __get_pydantic_json_schema__(cls, core_schema: Any, handler: Any) -> Any:CODE
LOWprivate_gpt/chat/schema_models.py52 def _handle_leading_underscores(field_name: str) -> str:CODE
LOWprivate_gpt/chat/schema_models.py68 def _handle_reserved_basemodel_attributes(field_name: str) -> str:CODE
LOWprivate_gpt/chat/schema_models.py84def _validate_json_schema_item(schema: dict[str, Any], strict: bool = True) -> None:CODE
LOWprivate_gpt/chat/schema_models.py160def _resolve_field_name_collisions(field_name: str, used_names: set[str]) -> str:CODE
LOWprivate_gpt/chat/schema_models.py377def create_model_from_json_schema(CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py587 async def _aget_node_with_embedding(CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py650 async def _aget_node_with_embedding(CODE
LOWprivate_gpt/server/tools/tool_service.py55 async def build_semantic_search_tool(CODE
LOWprivate_gpt/server/tools/tool_service.py67 async def build_tabular_data_analysis_tool(CODE
LOWprivate_gpt/server/tools/tool_service.py75 async def build_database_query_tool(CODE
LOWprivate_gpt/server/tools/tool_service.py129 async def tabular_data_analysis_tool(CODE
LOWprivate_gpt/server/chat/chat_models.py260 def __get_pydantic_json_schema__(cls, core_schema: Any, handler: Any) -> Any:CODE
LOWprivate_gpt/server/chat/chat_facade.py27 async def create_chat_event_generator(CODE
LOWprivate_gpt/server/chat/chat_request_mapper.py98 async def _configure_output_cls_from_json_schema(CODE
LOW…server/chat/interceptors/loop_detection_interceptor.py92def _messages_since_last_user(messages: list[ChatMessage]) -> list[ChatMessage]:CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py117 def resolve_multimodal_models(CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py201async def _consume_and_emit_with_min_duration(CODE
LOW⚡…r/chat/interceptors/platform_guidelines_interceptor.py109 def _inject_tool_instructions(CODE
LOW⚡…r/chat/interceptors/platform_guidelines_interceptor.py216 def _has_skill_management_tool(tools: list[ToolSpec]) -> bool:CODE
LOW⚡…r/chat/interceptors/platform_guidelines_interceptor.py233 def _get_citation_guidelines_content(CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py47def _parse_tool_result_content(content: str | None) -> dict[str, Any] | None:CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py200def _resolve_active_skill_names(CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py63def _extract_original_exception(exc: BaseException) -> BaseException:CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py83def _pop_token_refresh_payload(CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py192 def _extract_token_refresh_payloads(CODE
1951 more matches not shown…
Decorative Section Separators330 hits · 1144 pts
SeverityFileLineSnippetContext
MEDIUM⚡pyproject.toml57# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml59# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml69# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml71# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml82# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml84# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml94# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml96# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml164# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml166# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml176# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml178# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml220# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml222# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml231# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml233# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml294# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml296# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml301# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡pyproject.toml303# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml32# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml34# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml134# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml136# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml148# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml150# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml206# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml208# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml250# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml252# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml278# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml280# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…r/chat/interceptors/platform_guidelines_interceptor.py105 # ------------------------------------------------------------------COMMENT
MEDIUM⚡…r/chat/interceptors/platform_guidelines_interceptor.py107 # ------------------------------------------------------------------COMMENT
MEDIUM⚡…r/chat/interceptors/platform_guidelines_interceptor.py226 # ------------------------------------------------------------------COMMENT
MEDIUM⚡…r/chat/interceptors/platform_guidelines_interceptor.py228 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/server/files/file_service.py403 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/server/files/file_service.py405 # ------------------------------------------------------------------COMMENT
MEDIUM⚡private_gpt/components/ingestion/ingestion_scheduler.py120 # ------------------------------------------------------------------COMMENT
MEDIUM⚡private_gpt/components/ingestion/ingestion_scheduler.py122 # ------------------------------------------------------------------COMMENT
MEDIUM⚡private_gpt/components/ingestion/ingestion_scheduler.py131 # ------------------------------------------------------------------COMMENT
MEDIUM⚡private_gpt/components/ingestion/ingestion_scheduler.py133 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py75 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py77 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py89 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py91 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py103 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py105 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py147# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py270# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py272# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py290 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py292 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py352 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py354 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py417 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py419 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py566 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py568 # ------------------------------------------------------------------COMMENT
270 more matches not shown…
Excessive Try-Catch Wrapping263 hits · 269 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/global_handler.py39 except Exception as exc:CODE
LOWprivate_gpt/chat/input_models.py194 except Exception as e:CODE
LOWprivate_gpt/chat/input_models.py211 except Exception as e:CODE
LOWprivate_gpt/chat/input_models.py1212 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py122 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py158 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py190 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py212 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py233 except Exception as e:CODE
LOWprivate_gpt/server/chat/chat_service.py271 except Exception as e:CODE
LOWprivate_gpt/server/chat/chat_service.py282 except Exception as e:CODE
LOW…server/chat/interceptors/loop_detection_interceptor.py133 except Exception:CODE
LOW…/server/chat/interceptors/document_file_interceptor.py93 except Exception as exc:CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py106 except Exception as exc:CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py120 except Exception as e:CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py189 except Exception as e:CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py315 except Exception as e:CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py344 except Exception as exc:CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py284 except Exception as e:CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py348 except Exception as e:CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py419 except Exception as e:CODE
LOW…ver/chat/interceptors/skills_validation_interceptor.py56 except Exception:CODE
LOWprivate_gpt/server/ingest/convert_service.py113 except Exception as e:CODE
LOWprivate_gpt/server/ingest/ingest_service.py148 except Exception as e:CODE
LOWprivate_gpt/server/ingest/ingest_service.py220 except Exception as e:CODE
LOWprivate_gpt/server/ingest/uri_loader.py87 except Exception:CODE
LOWprivate_gpt/server/chat_async/chat_async_facade.py95 except Exception as cleanup_error:CODE
LOWprivate_gpt/server/utils/artifact_input.py30 except Exception:CODE
LOWprivate_gpt/server/utils/artifact_input.py39 except Exception:CODE
LOWprivate_gpt/server/utils/artifact_input.py99 except Exception:CODE
LOWprivate_gpt/server/mcp/_runtime.py289 except Exception:CODE
LOWprivate_gpt/server/mcp/_runtime.py336 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py352 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py381 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py392 except Exception as e:CODE
MEDIUMprivate_gpt/server/mcp/_runtime.py377def health_check(self) -> bool:CODE
LOWprivate_gpt/server/files/file_service.py43 except Exception:CODE
LOWprivate_gpt/server/files/file_service.py59 except Exception as e:CODE
LOWprivate_gpt/server/skills/skills_files.py177 except Exception as exc:CODE
LOWprivate_gpt/utils/async_utils.py67 except Exception as e:CODE
LOWprivate_gpt/utils/async_utils.py86 except Exception as e:CODE
LOWprivate_gpt/utils/async_utils.py93 except Exception as e:CODE
LOWprivate_gpt/utils/pool.py55 except Exception:CODE
LOWprivate_gpt/utils/pool.py104 except Exception as e:CODE
LOWprivate_gpt/utils/pool.py153 except Exception:CODE
LOWprivate_gpt/utils/pool.py202 except Exception as e:CODE
LOWprivate_gpt/cli/commands/run.py40 except Exception:CODE
LOWprivate_gpt/cli/commands/run.py114 except Exception:CODE
LOWprivate_gpt/components/database/procedure_inspector.py118 except Exception:STRING
LOWprivate_gpt/components/database/procedure_inspector.py206 except Exception:STRING
LOWprivate_gpt/components/database/procedure_inspector.py288 except Exception:STRING
LOWprivate_gpt/components/database/table_like_inspector.py96 except Exception:CODE
LOWprivate_gpt/components/database/table_like_inspector.py109 except Exception:CODE
LOWprivate_gpt/components/database/table_like_inspector.py132 except Exception:CODE
LOWprivate_gpt/components/database/table_like_inspector.py142 except Exception:CODE
LOWprivate_gpt/components/database/function_inspector.py119 except Exception:STRING
LOWprivate_gpt/components/database/function_inspector.py206 except Exception:STRING
LOWprivate_gpt/components/database/function_inspector.py297 except Exception:STRING
LOWprivate_gpt/components/ingestion/ingestion_scheduler.py643 except Exception:CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py68 except Exception as e:CODE
203 more matches not shown…
Unused Imports237 hits · 234 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/__init__.py1CODE
LOWprivate_gpt/context/context_propagation.py28CODE
LOWprivate_gpt/server/principal.py1CODE
LOW…rver/chat/interceptors/null_tool_values_interceptor.py1CODE
LOW…at/interceptors/server_tool_result_text_interceptor.py1CODE
LOW…/chat/interceptors/required_tool_params_interceptor.py1CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py1CODE
LOW…t/server/chat/interceptors/preprocessing_tool_calls.py11CODE
LOW…t/server/chat/interceptors/preprocessing_tool_calls.py39CODE
LOWprivate_gpt/server/mcp/mcp_service.py19CODE
LOWprivate_gpt/server/mcp/_runtime.py17CODE
LOWprivate_gpt/server/mcp/_runtime.py17CODE
LOWprivate_gpt/server/mcp/_runtime.py17CODE
LOWprivate_gpt/server/mcp/_runtime.py39CODE
LOWprivate_gpt/server/mcp/_runtime.py39CODE
LOWprivate_gpt/server/mcp/_runtime.py39CODE
LOWprivate_gpt/server/files/file_service.py1CODE
LOWprivate_gpt/server/files/file_models.py1CODE
LOWprivate_gpt/utils/mime.py3CODE
LOWprivate_gpt/utils/runner.py1CODE
LOWprivate_gpt/cli/main.py10CODE
LOWprivate_gpt/components/container_registry.py1CODE
LOWprivate_gpt/components/ingestion/ingestion_scheduler.py1CODE
LOWprivate_gpt/components/tools/tool_execution_context.py19CODE
LOWprivate_gpt/components/tools/tool_scheduler.py1CODE
LOWprivate_gpt/components/tools/remote_execution.py1CODE
LOW…ls/builders/text_editor_code_execution_tool_builder.py1CODE
LOW…ate_gpt/components/tools/builders/bash_tool_builder.py1CODE
LOW…mponents/tools/builders/present_server_tool_builder.py1CODE
LOW…/components/tools/builders/text_editor_tool_builder.py1CODE
LOW…omponents/tools/builders/present_files_tool_builder.py1CODE
LOWprivate_gpt/components/tools/events/registry.py1CODE
LOWprivate_gpt/components/tools/events/__init__.py1CODE
LOWprivate_gpt/components/tools/events/__init__.py2CODE
LOWprivate_gpt/components/tools/events/__init__.py2CODE
LOWprivate_gpt/components/tools/events/adapters.py1CODE
LOWprivate_gpt/components/llm/discovery.py1CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py16CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py21CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py30CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py35CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py40CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py40CODE
LOW…t/components/llm/tokenizers/models/model_downloader.py1CODE
LOW…pt/components/llm/tokenizers/models/model_discovery.py1CODE
LOW…te_gpt/components/llm/text_parsers/text_parser_base.py1CODE
LOW…gpt/components/llm/text_parsers/harmony_text_parser.py1CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py2CODE
LOWprivate_gpt/components/context/services/__init__.py3CODE
177 more matches not shown…
Modern Structural Boilerplate217 hits · 221 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/eager_loading.py28logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/initialize.py19logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/di.py26logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/di.py105def set_injector(injector: Injector) -> None:CODE
LOWprivate_gpt/di.py151def set_global_injector(injector: Injector) -> None:CODE
LOWprivate_gpt/docs.py42 def update_refs(obj: Any) -> None:CODE
LOWprivate_gpt/global_handler.py13logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/launcher.py53logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/settings/settings_loader.py15logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/context/__init__.py10__all__ = [CODE
LOWprivate_gpt/artifact_index/vector_artifact_index.py29logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py35logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/tools/tool_service.py23logger = logging.getLogger(__name__)CODE
LOW…server/chat/interceptors/loop_detection_interceptor.py23logger = logging.getLogger(__name__)CODE
LOW…/server/chat/interceptors/document_file_interceptor.py25logger = logging.getLogger(__name__)CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py33logger = logging.getLogger(__name__)CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py35logger = logging.getLogger(__name__)CODE
LOW…r/chat/interceptors/platform_guidelines_interceptor.py32logger = logging.getLogger(__name__)CODE
LOW…server/chat/interceptors/default_values_interceptor.py17logger = logging.getLogger(__name__)CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py42logger = logging.getLogger(__name__)CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py28logger = logging.getLogger(__name__)CODE
LOW…t/server/chat/interceptors/preprocessing_tool_calls.py45logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/convert_service.py18logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/ingest_router.py29logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/ingest_service.py27logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/chat_async/chat_async_facade.py16logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/utils/auth.py37logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/mcp/_runtime.py47logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/mcp/_runtime.py50__all__ = [CODE
LOWprivate_gpt/server/mcp/_runtime.py106 async def set_tokens(self, tokens: OAuthToken) -> None:CODE
LOWprivate_gpt/server/mcp/_runtime.py121 async def set_client_info(self, client_info: OAuthClientInformationFull) -> None:CODE
LOWprivate_gpt/utils/time.py13logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/utils/concurrency.py7logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/utils/eta.py8logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/cli/commands/serve.py12logger = logging.getLogger(__name__)CODE
LOW…vate_gpt/components/node_store/node_store_component.py25logger = logging.getLogger(__name__)CODE
LOW…gpt/components/node_store/patched_postgres_kv_store.py10logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/ingestion/ingestion_scheduler.py28logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py18logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/tool_scheduler.py35logger = logging.getLogger(__name__)CODE
LOW⚡private_gpt/components/tools/remote_execution.py120 def set_tool_kwargs(self, tool_kwargs: dict[str, Any]) -> None:CODE
LOW⚡private_gpt/components/tools/remote_execution.py123 def set_response(self, response: ToolExecutionResponse) -> None:CODE
LOW…pt/components/tools/builders/database_query_builder.py42logger = logging.getLogger(__name__)CODE
LOW…/components/tools/processors/tabular_data_processor.py19logger = logging.getLogger(__name__)CODE
LOW…ols/processors/anthropic_tool_translation_processor.py20logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/events/__init__.py7__all__ = [CODE
LOWprivate_gpt/components/llm/llm_component.py26logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/discovery.py31logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/prompt_helper.py8logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py48logger = logging.getLogger(__name__)CODE
LOW…ivate_gpt/components/llm/tokenizers/models/__init__.py45__all__ = [CODE
LOW…t/components/llm/tokenizers/models/model_downloader.py12logger = logging.getLogger(__name__)CODE
LOW…pt/components/llm/tokenizers/models/model_discovery.py30logger = logging.getLogger(__name__)CODE
LOW…gpt/components/llm/tokenizers/models/auto_discovery.py10logger = logging.getLogger(__name__)CODE
LOW⚡…te_gpt/components/llm/tokenizers/models/model_cache.py12logger = logging.getLogger(__name__)CODE
LOW⚡…te_gpt/components/llm/tokenizers/models/model_cache.py261def set_model_permissions(path: Path) -> None:CODE
LOWprivate_gpt/components/llm/prompt_styles/__init__.py1__all__ = [CODE
LOW…onents/llm/prompt_styles/chat_template_prompt_style.py24logger = logging.getLogger(__name__)CODE
LOW…_gpt/components/llm/prompt_styles/prompt_style_base.py16logger = logging.getLogger(__name__)CODE
LOW…gpt/components/llm/text_parsers/harmony_text_parser.py33logger = logging.getLogger(__name__)CODE
157 more matches not shown…
Fake / Example Data233 hits · 197 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/settings/settings.py1327 image_mode: Literal["embedded", "placeholder"] = Field(CODE
LOWprivate_gpt/settings/settings.py1328 "placeholder",CODE
LOWprivate_gpt/server/ingest/convert_router.py34 {"file_name": "document.docx", "author": "John Doe"},CODE
LOWprivate_gpt/server/ingest/ingest_router.py113 "author": "John Doe",CODE
LOWprivate_gpt/components/chunk/models.py85 "author": "John Doe",CODE
LOW⚡tests/server/chat/test_schema_models.py1123 instance = model.model_validate({"name": "John Doe"})CODE
LOW⚡tests/server/chat/test_schema_models.py1124 assert instance.name == "John Doe"CODE
LOWtests/server/chat/test_schema_models.py228 "name": "John Doe",CODE
LOWtests/server/chat/test_schema_models.py1583 "street": "123 Main St",CODE
LOW⚡tests/server/chat/test_chat_routes.py62 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_routes.py62 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_routes.py66 "Lorem ipsum dolor sit amet",CODE
LOW⚡tests/server/chat/test_chat_routes.py66 "Lorem ipsum dolor sit amet",CODE
LOW⚡tests/server/chat/test_chat_routes.py1790 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_routes.py1790 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_routes.py2569 "value": "Lorem ipsum dolor sit amet",CODE
LOW⚡tests/server/chat/test_chat_routes.py2569 "value": "Lorem ipsum dolor sit amet",CODE
LOW⚡tests/server/chat/test_chat_routes.py2579 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py167 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py167 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py181 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py228 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py254 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py298 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py335 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py335 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py349 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py397 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py451 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py451 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py467 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py467 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py486 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py556 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py556 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py573 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py573 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py593 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py642 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py682 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py2354 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2354 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2395 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2395 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2530 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py688 "input": {"type": "text", "value": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py688 "input": {"type": "text", "value": "Lorem ipsum dolor sit amet"},CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py696 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py722 assert "Lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py722 assert "Lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py723 assert capture.system_prompts[1].count("Lorem ipsum dolor sit amet") == 1CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py723 assert capture.system_prompts[1].count("Lorem ipsum dolor sit amet") == 1CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py917 "WORKERDOC lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py917 "WORKERDOC lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py920 capture.system_prompts[1].count("WORKERDOC lorem ipsum dolor sit amet")CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py920 capture.system_prompts[1].count("WORKERDOC lorem ipsum dolor sit amet")CODE
LOW⚡tests/server/chat/test_chat_lifecycle_e2e.py942 mock_llm = get_mock_function_calling_llm(["placeholder"])CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py749 mock_llm = get_mock_function_calling_llm(["placeholder"])CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py887 "value": "WORKERDOC lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py887 "value": "WORKERDOC lorem ipsum dolor sit amet",CODE
173 more matches not shown…
Deep Nesting163 hits · 153 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/di.py61CODE
LOWprivate_gpt/di.py121CODE
LOWprivate_gpt/docs.py12CODE
LOWprivate_gpt/docs.py16CODE
LOWprivate_gpt/docs.py61CODE
LOWprivate_gpt/docs.py42CODE
LOWprivate_gpt/chat/input_models.py165CODE
LOWprivate_gpt/chat/input_models.py406CODE
LOWprivate_gpt/chat/input_models.py458CODE
LOWprivate_gpt/chat/input_models.py500CODE
LOWprivate_gpt/chat/input_models.py553CODE
LOWprivate_gpt/chat/input_models.py651CODE
LOWprivate_gpt/chat/input_models.py671CODE
LOWprivate_gpt/chat/input_models.py718CODE
LOWprivate_gpt/chat/input_models.py935CODE
LOWprivate_gpt/chat/input_models.py1009CODE
LOWprivate_gpt/chat/input_models.py1286CODE
LOWprivate_gpt/chat/input_models.py1334CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py288CODE
LOWprivate_gpt/server/chat/chat_models.py287CODE
LOW…/server/chat/interceptors/document_file_interceptor.py42CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py48CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py50CODE
LOW…at/interceptors/server_tool_result_text_interceptor.py49CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py138CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py225CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py88CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py240CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py300CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py365CODE
LOW…rver/chat/interceptors/extract_citation_interceptor.py71CODE
LOWprivate_gpt/server/ingest/convert_service.py100CODE
LOWprivate_gpt/server/ingest/ingest_service.py127CODE
LOWprivate_gpt/server/content/content_service.py168CODE
LOWprivate_gpt/server/mcp/_runtime.py237CODE
LOWprivate_gpt/utils/async_utils.py25CODE
LOWprivate_gpt/utils/tokens.py67CODE
LOWprivate_gpt/utils/tokens.py94CODE
LOWprivate_gpt/utils/tokens.py105CODE
LOWprivate_gpt/utils/batches.py17CODE
LOWprivate_gpt/utils/batches.py58CODE
LOWprivate_gpt/components/database/procedure_inspector.py33CODE
LOWprivate_gpt/components/database/procedure_inspector.py122CODE
LOWprivate_gpt/components/database/procedure_inspector.py210CODE
LOWprivate_gpt/components/database/function_inspector.py34CODE
LOWprivate_gpt/components/database/function_inspector.py123CODE
LOWprivate_gpt/components/database/function_inspector.py210CODE
LOW…t/components/tools/builders/semantic_search_builder.py216CODE
LOW…t/components/tools/builders/semantic_search_builder.py238CODE
LOW…ls/builders/text_editor_code_execution_tool_builder.py48CODE
LOW…ls/builders/text_editor_code_execution_tool_builder.py67CODE
LOW…pt/components/tools/builders/database_query_builder.py241CODE
LOW…pt/components/tools/builders/database_query_builder.py299CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py250CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py269CODE
LOW…t/components/tools/processors/text_editor_processor.py43CODE
LOW…ponents/tools/processors/skill_management_processor.py57CODE
LOWprivate_gpt/components/llm/llm_component.py184CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py68CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py109CODE
103 more matches not shown…
Self-Referential Comments41 hits · 134 pts
SeverityFileLineSnippetContext
MEDIUMprivate_gpt/chat/schema_models.py450 # Create the base dynamic modelCOMMENT
MEDIUMprivate_gpt/server/utils/auth.py53 # Define a dummy authentication method that always returns True.COMMENT
MEDIUMprivate_gpt/utils/dataframe.py19 # Create the header row and separator rowCOMMENT
MEDIUMprivate_gpt/utils/dataframe.py23 # Create the data rowsCOMMENT
MEDIUM⚡private_gpt/utils/random.py7 # Create a namespace UUID (using namespace_dns as a random choice)COMMENT
MEDIUM⚡private_gpt/utils/random.py10 # Create a UUID using the input string within the namespaceCOMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py195 # Create a linear range from min to maxCOMMENT
MEDIUMprivate_gpt/components/readers/nodes/tree_node.py501 # Create a lookup dictionary for all nodesCOMMENT
MEDIUMprivate_gpt/components/readers/nodes/tree_node.py538 # Create a list of root nodesCOMMENT
MEDIUM…e_gpt/components/readers/docling/docling_transforms.py43 # Create a representation of images in text (if apply)COMMENT
MEDIUM…te_gpt/components/readers/pptx2md/slides_transforms.py69 # Create a representation of images in text (if apply)COMMENT
MEDIUMtests/server/chat/anthropic/test_langchain_anthropic.py302 # Create the Anthropic client with the mock HTTP clientCOMMENT
MEDIUMtests/components/web_search/test_brave_provider.py23 # Create a minimal Settings object with web_search configurationCOMMENT
MEDIUMtests/components/web_search/test_web_search_service.py24 # Create a minimal Settings object with web_search configurationCOMMENT
MEDIUM…s/components/llm/tokenizers/models/test_concurrency.py90 # Create a cached modelCOMMENT
MEDIUMtests/components/llm/tokenizers/models/conftest.py108 # Create the model in cacheCOMMENT
MEDIUM…components/postprocessor/test_prev_next_replacement.py41 # Create a PrevNextReplacementPostProcessor instanceCOMMENT
MEDIUM…components/postprocessor/test_prev_next_replacement.py58 # Create a set of 10 nodes with prev and next relations.COMMENT
MEDIUM…components/postprocessor/test_prev_next_replacement.py94 # Create a PrevNextReplacementPostProcessor instanceCOMMENT
MEDIUM…sts/components/transforms/test_sentence_node_parser.py54 # Create a root DocumentRoot node and a child TextNode.COMMENT
MEDIUM⚡…sts/components/transforms/test_sentence_node_parser.py158 # Create a long sentence that will exceed the 20-character chunk size.STRING
MEDIUM⚡…sts/components/transforms/test_sentence_node_parser.py167 # Create a DocumentRoot with a TextNode.STRING
MEDIUMtests/components/readers/nodes/test_node_structure.py28 # Create a document tree with multiple node typesCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py39 # Create a tableCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py70 # Create a sample document treeCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py96 # Create a sample document treeCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py99 # Create a sectionCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py106 # Create a tableCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py137 # Create a sample document treeCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py179 # Create a sample document treeCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py182 # Create a sectionCOMMENT
MEDIUM⚡tests/components/readers/nodes/test_node_structure.py189 # Create a tableCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py263 # Create a nested document treeCOMMENT
MEDIUMtests/components/multimodality/test_describe_image.py42 # Initialize parent class with only its expected parametersCOMMENT
MEDIUMtests/components/multimodality/test_describe_image.py64 # Create a minimal base64 encoded image (1x1 PNG)COMMENT
MEDIUMtests/components/multimodality/test_multimodality.py46 # Initialize parent class with only its expected parametersCOMMENT
MEDIUM⚡tests/components/filesystems/test_path_resolver.py95 # Create a symlink inside the namespace root pointing outside itCOMMENT
MEDIUMtests/celery/test_base_task.py86 # Create a mock request objectCOMMENT
MEDIUMtests/celery/test_notify.py50 # Create a status class for testingCOMMENT
MEDIUMtests/celery/test_notify.py81 # Create a status class for testingCOMMENT
MEDIUMtests/celery/test_notify.py170 # Create a status class for testingCOMMENT
Empty Error Handlers24 hits · 120 pts
SeverityFileLineSnippetContext
HIGHprivate_gpt/di.py141except RuntimeError:CODE
HIGHprivate_gpt/artifact_index/base_artifact_index.py129except ValueError:CODE
HIGHprivate_gpt/server/files/file_service.py253except ValueError:CODE
HIGHprivate_gpt/server/files/file_service.py261except ValueError:CODE
HIGHprivate_gpt/cli/commands/serve.py43except ProcessLookupError:CODE
HIGHprivate_gpt/components/database/table_like_inspector.py132except Exception:CODE
HIGHprivate_gpt/components/llm/tokenizers/registry.py70except (ImportError, Exception):CODE
HIGHprivate_gpt/components/llm/tokenizers/registry.py76except (ImportError, ValueError, Exception):CODE
HIGHprivate_gpt/components/llm/tokenizers/tiktoken.py47except (KeyError, ValueError):CODE
HIGHprivate_gpt/components/llm/tokenizers/tiktoken.py54except (KeyError, ValueError):CODE
HIGHprivate_gpt/components/model_discovery/client.py107except ValueError:CODE
HIGHprivate_gpt/components/ingest/ingest_helper.py75except (ValueError, TypeError):CODE
HIGH…onents/streaming/providers/in_memory_stream_service.py182except TimeoutError:CODE
HIGH…ivate_gpt/components/streaming/stream/stream_reader.py98except TimeoutError:CODE
HIGH…te_gpt/components/streaming/stream/stream_processor.py119except Exception:CODE
HIGHprivate_gpt/components/readers/nodes/node_print.py84except AttributeError:CODE
HIGHprivate_gpt/components/readers/nodes/table_node.py68except ValueError:CODE
HIGH…components/readers/pptx2md/convert_slide_into_image.py380except AttributeError:CODE
HIGH…components/readers/pptx2md/convert_slide_into_image.py386except AttributeError:CODE
HIGH…components/readers/pptx2md/convert_slide_into_image.py392except AttributeError:CODE
HIGH…components/readers/pptx2md/convert_slide_into_image.py398except AttributeError:CODE
HIGHprivate_gpt/components/code_execution/bash_executor.py105except ProcessLookupError:CODE
HIGHtests/sse/test_sse_manager.py89except ValueError:CODE
HIGHtests/components/environment/test_distributed.py57except TimeoutError:CODE
Cross-Language Confusion10 hits · 62 pts
SeverityFileLineSnippetContext
HIGHprivate_gpt/chat/schema_models.py414 # If the field already has None in its type (from anyOf with null), respect thatCOMMENT
HIGH…te_gpt/components/ingest/processors/df_preprocessor.py157 if not with_first.equals(without_first):CODE
HIGH…ivate_gpt/components/streaming/stream/stream_reader.py479 state.broadcast.push(events)CODE
HIGH⚡…/interceptors/test_schema_coercing_tool_interceptor.py1258 "anyOf [object, null] WITHOUT string: JSON string is parsed to dict",CODE
HIGH⚡…/interceptors/test_schema_coercing_tool_interceptor.py1264 "anyOf [string, null]: 'null' string -> null (null coercion still takes priority)",CODE
HIGH⚡…/interceptors/test_schema_coercing_tool_interceptor.py1270 "anyOf [string, null]: empty string -> null for nullable",CODE
HIGH…/interceptors/test_schema_coercing_tool_interceptor.py1448 "parameters": '[42, "active", true, null]',CODE
HIGH⚡tests/components/readers/nodes/test_table_nodes.py71 assert deserialized.df.equals(valid_dataframe)CODE
HIGHtests/components/readers/nodes/test_table_nodes.py54 assert node.df.equals(valid_dataframe)CODE
HIGHtests/components/readers/nodes/test_node_structure.py252 assert table_obj.df.equals(table.df)CODE
Redundant / Tautological Comments35 hits · 58 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/settings/settings.py358 # Set max_workers to None if it is less than or equal to 0COMMENT
LOWprivate_gpt/settings/settings.py1204 # Check if visibility timeout is set when broker or backend is redisCOMMENT
LOWprivate_gpt/chat/input_models.py804 # Check if this TLDR group contains left-side TLDRs.COMMENT
LOWprivate_gpt/server/ingest/ingest_service.py81 # Check if the vector index is initializedCOMMENT
LOWprivate_gpt/server/ingest/ingest_service.py159 # Check if the artifact index is initializedCOMMENT
LOWprivate_gpt/server/ingest/ingest_service.py215 # Check if the vector index is initializedCOMMENT
LOW⚡private_gpt/utils/random.py11 # Set version to 4 for "random" UUIDCOMMENT
LOWprivate_gpt/components/llm/registry.py46 # Check if any name is already registeredCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py149 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py205 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py276 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py333 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOWprivate_gpt/components/memory/trimming_memory.py212 # Check if we need to preserve system messageCOMMENT
LOW…ents/chat/processors/chat_history/memory/tldr_utils.py90 # Check if there's a next message and it's not a TLDRCOMMENT
LOW⚡private_gpt/components/ingest/utils.py261 # Open the file and calculate the hashCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py30 # Check if the file info has sizeCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py34 # Check if the file info has a supported extensionCOMMENT
LOW⚡private_gpt/components/ingest/ingest_helper.py59 # Check if the file is too largeCOMMENT
LOW⚡private_gpt/components/ingest/ingest_helper.py66 # Check if there is any errorCOMMENT
LOW⚡private_gpt/components/ingest/ingest_helper.py70 # Check if the file has too many pagesCOMMENT
LOW⚡private_gpt/components/ingest/ingest_helper.py78 # Check if the file is specialCOMMENT
LOW⚡private_gpt/components/ingest/ingest_helper.py88 # Check if the file is encrypted.COMMENT
LOW…ransformations/make_continuation_markdown_transform.py98 # Check if the current lines have an odd number of code block markersCOMMENT
LOW…te_gpt/components/ingest/processors/df_preprocessor.py55 # Check if enough values can be converted to numericCOMMENT
LOW…te_gpt/components/ingest/processors/df_preprocessor.py112 # Check if conversion was successful for most valuesCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py241 # Check if node has been processed in all directionsCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py315 # Check if adding this child would exceed token limitCOMMENT
LOWprivate_gpt/components/embedding/registry.py35 # Check if any name is already registeredCOMMENT
LOWprivate_gpt/components/engines/citations/format.py178 # Check if adding this doc (and possibly its header)COMMENT
LOWprivate_gpt/components/engines/citations/utils.py243 # Add citation to the listCOMMENT
LOWprivate_gpt/components/readers/nodes/table_node.py59 # Check if it's a number with decimal pointCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py881 # Check if there are non-general zones (zone_id != 0)COMMENT
LOWprivate_gpt/celery/model.py96 # Check if task is in progress, completed or failedCOMMENT
LOWtests/server/ingest/test_ingest_routes.py185 # Check if broker was called with the callback — the event type must useCOMMENT
LOWtests/server/ingest/test_ingest_routes.py370 # Check if broker was called with the callbackCOMMENT
Docstring Block Structure9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHprivate_gpt/settings/settings_loader.py84Discover model configurations from environment variables. This function parses environment variables with the patteSTRING
HIGHprivate_gpt/utils/async_utils.py31Convert a synchronous iterator to an async iterator with optional transformation. Args: iterator: The synchSTRING
HIGH…ssors/chat_history/multimodality/image_preprocessor.py37Preprocess a message by extracting insights from images only. Args: main_llm: The primary LLM that will proSTRING
HIGH…ssors/chat_history/multimodality/audio_preprocessor.py37Preprocess a message by extracting insights from audio only. Args: main_llm: The primary LLM that will procSTRING
HIGH…ate_gpt/components/engines/citations/term_extractor.py46Detect the language of the input text. Args: text: Text to detect language for Returns: STRING
HIGHprivate_gpt/components/readers/docling/utils.py83Convert language code to EasyOCR format. Args: lang: Language code in format like 'en-US', 'es-ES' RetSTRING
HIGHprivate_gpt/components/readers/docling/utils.py101Convert language code to Tesseract format. Args: lang: Language code in format like 'en-US', 'es-ES' RSTRING
HIGHprivate_gpt/components/readers/docling/utils.py119Convert language code to RapidOCR format. Args: lang: Language code in format like 'en-US', 'es-ES' ReSTRING
HIGHprivate_gpt/components/readers/docling/utils.py137Convert language code to OCRMac format. Args: lang: Language code in format like 'en-US', 'es-ES' RetuSTRING
AI Structural Patterns30 hits · 28 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/chat/schema_models.py253CODE
LOWprivate_gpt/chat/schema_models.py293CODE
LOWprivate_gpt/server/content/content_service.py406CODE
LOWprivate_gpt/server/mcp/_runtime.py173CODE
LOWprivate_gpt/server/primitives/primitives_router.py368CODE
LOWprivate_gpt/utils/retry.py17CODE
LOW…pt/components/tools/builders/database_query_builder.py241CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py250CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py149CODE
LOWprivate_gpt/components/memory/trimming_memory.py107CODE
LOW…ivate_gpt/components/chat/models/chat_config_models.py294CODE
LOW…ents/postprocessor/tree_expansion/document_expander.py451CODE
LOWprivate_gpt/components/tabular/pandasai_service.py60CODE
LOW…ate_gpt/components/tabular/database_query_generator.py276CODE
LOW…ponents/workflows/others/tree_summarize_synthesizer.py43CODE
LOW…pt/components/workflows/others/summary_query_engine.py77CODE
LOW…_gpt/components/workflows/retrieval/semantic_search.py89CODE
LOW…te_gpt/components/vector_store/patched_qdrant_store.py111CODE
LOW…te_gpt/components/vector_store/patched_qdrant_store.py505CODE
LOW…te_gpt/components/vector_store/patched_qdrant_store.py554CODE
LOW…components/streaming/providers/redis_stream_service.py188CODE
LOW…components/streaming/providers/redis_stream_service.py185CODE
LOWprivate_gpt/components/prompts/prompt_builder.py268CODE
LOWprivate_gpt/components/prompts/prompt_builder.py348CODE
LOWprivate_gpt/components/prompts/prompt_builder.py436CODE
LOWprivate_gpt/components/readers/docling/api_clients.py130CODE
LOWprivate_gpt/components/multimodality/image_handler.py122CODE
LOWprivate_gpt/components/multimodality/audio_handler.py994CODE
LOWprivate_gpt/components/multimodality/audio_handler.py509CODE
LOW…s/components/database/test_dabatase_query_generator.py95CODE
Verbosity Indicators14 hits · 28 pts
SeverityFileLineSnippetContext
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py195 # Step 2: Expand the node in the specified directionCOMMENT
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py198 # Step 1: Mark the node as processed in the specified directionCOMMENT
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py205 # Step 3: Process the resultCOMMENT
LOW⚡…ponents/postprocessor/tree_expansion/split_subtrees.py132 # Step 1: Rebuild the tree structure from the flat list of nodesCOMMENT
LOW⚡…ponents/postprocessor/tree_expansion/split_subtrees.py135 # Step 2: Create a new root node and add the subtrees as childrenCOMMENT
LOW…ponents/postprocessor/tree_expansion/split_subtrees.py149 # Step 3: Remove any nodes that are not within the subtreeCOMMENT
LOW…ponents/postprocessor/tree_expansion/split_subtrees.py173 # Step 4: Prune the tree to remove any empty nodesCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py861 # Step 1: Apply basic filteringCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py864 # Step 2: Expand zonesCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py870 # Step 3: Group zones by slide for processingCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py879 # Step 4: Process each slide separatelyCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py895 # Step 5: Remove high-overlap duplicatesCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py434 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py460 # Step 2: Later, full model downloadedCOMMENT
Structural Annotation Overuse14 hits · 28 pts
SeverityFileLineSnippetContext
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py195 # Step 2: Expand the node in the specified directionCOMMENT
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py198 # Step 1: Mark the node as processed in the specified directionCOMMENT
LOW⚡…ents/postprocessor/tree_expansion/document_expander.py205 # Step 3: Process the resultCOMMENT
LOW⚡…ponents/postprocessor/tree_expansion/split_subtrees.py132 # Step 1: Rebuild the tree structure from the flat list of nodesCOMMENT
LOW⚡…ponents/postprocessor/tree_expansion/split_subtrees.py135 # Step 2: Create a new root node and add the subtrees as childrenCOMMENT
LOW…ponents/postprocessor/tree_expansion/split_subtrees.py149 # Step 3: Remove any nodes that are not within the subtreeCOMMENT
LOW…ponents/postprocessor/tree_expansion/split_subtrees.py173 # Step 4: Prune the tree to remove any empty nodesCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py861 # Step 1: Apply basic filteringCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py864 # Step 2: Expand zonesCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py870 # Step 3: Group zones by slide for processingCOMMENT
LOW⚡…components/readers/pptx2md/convert_slide_into_image.py879 # Step 4: Process each slide separatelyCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py895 # Step 5: Remove high-overlap duplicatesCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py434 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py460 # Step 2: Later, full model downloadedCOMMENT
Modern AI Meta-Vocabulary8 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md137| **[Claude Code](https://docs.privategpt.dev/integrations/claude-code)** | Use your local models as the backend for ageCODE
MEDIUMprivate_gpt/initialize.py61 # Set global embedding model to Mock to prevent LlamaIndex to default to use OpenAICOMMENT
MEDIUMprivate_gpt/launcher.py273 # Set global embedding model to Mock to prevent LlamaIndex to default to use OpenAICOMMENT
MEDIUMprivate_gpt/components/llm/custom/openai.py182 # Extract reasoning_content for chain-of-thought streaming.COMMENT
MEDIUMprivate_gpt/components/ingest/ingest_component.py260 max_truncate_length=max_context_window * 10, # 10x context windowCODE
MEDIUM…ts/ingest/transformations/sentence_tree_node_parser.py159 # 1. Chunk size should be half of the context window size toCOMMENT
MEDIUM…ponents/workflows/others/tree_summarize_synthesizer.py84 # repack text_chunks so that each chunk fills the context windowCOMMENT
MEDIUM…ponents/workflows/others/tree_summarize_synthesizer.py165 # repack text_chunks so that each chunk fills the context windowCOMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHprivate_gpt/components/llm/llm_component.py0filter embedding components based on a predicate function. :param predicate: a function that takes an embedding and retuSTRING
HIGHprivate_gpt/components/llm/registry.py0filter embedding components based on a predicate function. :param predicate: a function that takes an embedding and retuSTRING
HIGHprivate_gpt/components/embedding/registry.py0filter embedding components based on a predicate function. :param predicate: a function that takes an embedding and retuSTRING
AI Slop Vocabulary6 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMprivate_gpt/server/ingest/ingest_router.py867 """Retrieves a comprehensive list of all documents ingested.STRING
LOW…ivate_gpt/components/chat/models/chat_config_models.py385 # just return the function callCOMMENT
LOW…ponents/postprocessor/tree_expansion/paper_distance.py46 # not much to do here so just return empty set,COMMENT
MEDIUM⚡tests/server/chat/test_chat_lifecycle_e2e.py144# Capture harness — hooks the *real* chain's LLM call boundary. EverythingCOMMENT
MEDIUM⚡tests/server/mcp/test_mcp_service.py220# Name normalization (mirrors the deepseek-harness mcp-client contract)COMMENT
MEDIUM⚡tests/components/processors/test_df_preprocessor.py221 """Test robust type inference with edge cases."""STRING
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOW…ponents/postprocessor/tree_expansion/paper_distance.py41COMMENT
LOW…ate_gpt/components/tabular/database_query_generator.py661 fixed_result = self._execute_db2_procedure(original_sql)COMMENT
LOW…te_gpt/components/readers/pptx2md/slides_transforms.py101 # Create text chunks from the tree nodesCOMMENT
LOWtests/server/ingest/test_file_validation.py121#COMMENT
LOWtests/server/ingest/test_file_validation.py181# """Test file validation when the PDF contains forms."""COMMENT
LOWtests/models/anthropic/test_openapi_schema.py201COMMENT
LOWtests/components/multimodality/test_describe_image.py341# async def test_error_handling_in_strategy_inference(COMMENT
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…r/chat/interceptors/test_preprocessing_interceptors.py256CODE
MEDIUM…r/chat/interceptors/test_preprocessing_interceptors.py284CODE
MEDIUMtests/components/multimodality/test_multimodality.py874CODE