Repository Analysis

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.

22.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of zylon-ai/private-gpt, a Python project with 57,482 GitHub stars. SynthScan v2.0 examined 196,339 lines of code across 928 source files, recording 3511 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 22.7 places this repository in the Moderate 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).

22.7
Adjusted Score
22.7
Raw Score
100%
Time Factor
2026-08-28
Last Push
57.5K
Stars
Python
Language
196.3K
Lines of Code
928
Files
3.5K
Pattern Hits
2026-08-29
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

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.

CRITICAL 0HIGH 22MEDIUM 388LOW 3101

Directory Score Breakdown

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.

Pattern Findings

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

Hyper-Verbose Identifiers1927 hits · 1849 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.py1229 def url_with_default_database(self) -> str:CODE
LOWprivate_gpt/settings/settings.py1246 def empty_redis_database_is_none(cls, value: Any) -> Any:CODE
LOWprivate_gpt/settings/settings.py1972 def split_comma_separated_lists(cls, value: object) -> object:CODE
LOWprivate_gpt/settings/settings.py2154 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.py197 def resolve_multimodal_models(CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py122async 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
1867 more matches not shown…
Decorative Section Separators326 hits · 1126 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml57# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml59# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml69# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml71# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml82# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml84# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml94# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml96# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml164# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml166# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml176# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml178# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml220# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml222# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml231# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml233# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml294# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml296# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml301# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.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
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py119 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py121 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py130 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py132 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py74 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py76 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py88 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py90 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py102 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py104 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py265# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py267# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py285 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py287 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py347 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py349 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py412 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py414 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py540 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/ingestion/ingestion_scheduler.py542 # ------------------------------------------------------------------COMMENT
266 more matches not shown…
Excessive Try-Catch Wrapping252 hits · 259 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.py283 except Exception as e:CODE
LOW…server/chat/interceptors/loop_detection_interceptor.py133 except Exception:CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py213 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.py89 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.py52 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/tools/binary_block_decorators.py68 except Exception as e:CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py138 except Exception as e:CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py166 except Exception:CODE
LOWprivate_gpt/components/tools/tool_scheduler.py104 except Exception:CODE
LOWprivate_gpt/components/tools/tool_scheduler.py222 except Exception:CODE
LOWprivate_gpt/components/tools/remote_execution.py220 except Exception as exc:CODE
192 more matches not shown…
Unused Imports226 hits · 224 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
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
LOWprivate_gpt/components/memory/memory.py5CODE
LOWprivate_gpt/components/chunk/models.py17CODE
166 more matches not shown…
Modern Structural Boilerplate210 hits · 214 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…t/server/chat/interceptors/condensation_interceptor.py34logger = 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
LOWprivate_gpt/server/ingest/convert_service.py17logger = 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.py27logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py18logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/tool_scheduler.py34logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/remote_execution.py120 def set_tool_kwargs(self, tool_kwargs: dict[str, Any]) -> None:CODE
LOWprivate_gpt/components/tools/remote_execution.py123 def set_response(self, response: ToolExecutionResponse) -> None: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.py26logger = 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
LOWprivate_gpt/components/llm/factories/base.py13logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/custom/openai.py28logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/custom/openairesponses.py27logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py41logger = logging.getLogger(__name__)CODE
150 more matches not shown…
Fake / Example Data233 hits · 197 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/settings/settings.py1300 image_mode: Literal["embedded", "placeholder"] = Field(CODE
LOWprivate_gpt/settings/settings.py1301 "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
LOWtests/server/chat/test_schema_models.py1123 instance = model.model_validate({"name": "John Doe"})CODE
LOWtests/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
LOWtests/server/chat/test_chat_routes.py62 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py62 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py66 "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py66 "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py1790 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1790 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2569 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py2569 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/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
LOWtests/server/chat/test_chat_lifecycle_e2e.py688 "input": {"type": "text", "value": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py688 "input": {"type": "text", "value": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py696 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py722 assert "Lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py722 assert "Lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py723 assert capture.system_prompts[1].count("Lorem ipsum dolor sit amet") == 1CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py723 assert capture.system_prompts[1].count("Lorem ipsum dolor sit amet") == 1CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py917 "WORKERDOC lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py917 "WORKERDOC lorem ipsum dolor sit amet" not in capture.system_prompts[0]CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py920 capture.system_prompts[1].count("WORKERDOC lorem ipsum dolor sit amet")CODE
LOWtests/server/chat/test_chat_lifecycle_e2e.py920 capture.system_prompts[1].count("WORKERDOC lorem ipsum dolor sit amet")CODE
LOWtests/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 Nesting162 hits · 152 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.py56CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py62CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py49CODE
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.py76CODE
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.py188CODE
LOW…pt/components/tools/builders/database_query_builder.py245CODE
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
102 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
MEDIUMprivate_gpt/utils/random.py7 # Create a namespace UUID (using namespace_dns as a random choice)COMMENT
MEDIUMprivate_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.py66 # 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
MEDIUMtests/components/readers/nodes/test_node_structure.py96 # Create a sample document treeCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py99 # Create a sectionCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py106 # Create a tableCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py137 # Create a sample document treeCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py179 # Create a sample document treeCOMMENT
MEDIUMtests/components/readers/nodes/test_node_structure.py182 # Create a sectionCOMMENT
MEDIUMtests/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.py39 # Initialize parent class with only its expected parametersCOMMENT
MEDIUMtests/components/multimodality/test_describe_image.py61 # Create a minimal base64 encoded image (1x1 PNG)COMMENT
MEDIUMtests/components/multimodality/test_multimodality.py46 # Initialize parent class with only its expected parametersCOMMENT
MEDIUMtests/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
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
HIGHtests/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.py1177 # 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
LOWprivate_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
LOWprivate_gpt/components/ingest/utils.py261 # Open the file and calculate the hashCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py26 # Check if the file info has sizeCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py30 # Check if the file info has extensionCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py52 # Check if the file is too largeCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py59 # Check if there is any errorCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py63 # Check if the file has too many pagesCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py71 # Check if the file is specialCOMMENT
LOWprivate_gpt/components/ingest/ingest_helper.py81 # 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.py31Preprocess a message by extracting insights from images only. Args: main_llm: The primary LLM that will proSTRING
HIGH…ssors/chat_history/multimodality/audio_preprocessor.py31Preprocess 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
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.py410 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py436 # 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.py410 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py436 # Step 2: Later, full model downloadedCOMMENT
AI Structural Patterns29 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…_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.py263CODE
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.py120CODE
LOWprivate_gpt/components/multimodality/audio_handler.py992CODE
LOWprivate_gpt/components/multimodality/audio_handler.py507CODE
LOW…s/components/database/test_dabatase_query_generator.py95CODE
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
MEDIUMtests/server/chat/test_chat_lifecycle_e2e.py144# Capture harness — hooks the *real* chain's LLM call boundary. EverythingCOMMENT
MEDIUMtests/server/mcp/test_mcp_service.py220# Name normalization (mirrors the deepseek-harness mcp-client contract)COMMENT
MEDIUMtests/components/processors/test_df_preprocessor.py221 """Test robust type inference with edge cases."""STRING
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOW…ponents/postprocessor/tree_expansion/paper_distance.py41COMMENT
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# """Test 6: Error handling during strategy inference."""COMMENT