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.

20.0 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,332 GitHub stars. SynthScan v2.0 examined 154,511 lines of code across 753 source files, recording 2471 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 20.0 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).

20.0
Adjusted Score
20.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
57.3K
Stars
Python
Language
154.5K
Lines of Code
753
Files
2.5K
Pattern Hits
2026-07-14
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 17MEDIUM 243LOW 2211

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 2471 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 Identifiers1256 hits · 1208 pts
SeverityFileLineSnippetContext
LOWui/index.html3963 function appearanceBriefHasContent(prefix) {CODE
LOWui/index.html4402 function setAppearanceGeneratorStatus(prefix, message = "") {CODE
LOWui/index.html4412 function appearanceGeneratorPrompt(brief) {CODE
LOWui/index.html4459 function normalizeAppearanceSuggestion(candidate, fallbackBrief = "") {CODE
LOWui/index.html4536 function onboardingErrorToastMessage(check, fallback) {CODE
LOWui/index.html4815 function normalizeDocumentBackedSettings(chat) {CODE
LOWui/index.html4835 function normalizeChatContextSelections() {CODE
LOWui/index.html5492 function collectToolResultCitationSources(content, context) {CODE
LOWui/index.html5541 function renderMarkdownWithCitations(text, citationContext, explicitCitations = []) {CODE
LOWui/index.html5727 function parseMarkdownTableAlignments(line) {CODE
LOWui/index.html6897 function openProductionNoticeModal() {CODE
LOWui/index.html6976 function readSettingsConnectionForm() {CODE
LOWui/index.html6991 function readOnboardingConnectionForm() {CODE
LOWui/index.html7022 function saveAppearanceSettingsFrom(prefix) {CODE
LOWui/index.html7098 async function generateAppearanceFromBrief(prefix) {CODE
LOWprivate_gpt/initialize.py21def download_nltk_package_if_not_present(CODE
LOWprivate_gpt/initialize.py48def unzip_download_nltk_package_if_not_present(CODE
LOWprivate_gpt/initialize.py117def _initialize_arize_phoenix(settings: "Settings") -> None:CODE
LOWprivate_gpt/di.py30def create_application_injector() -> Injector: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.py188 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.py1127 def url_with_default_database(self) -> str:CODE
LOWprivate_gpt/chat/input_models.py367 def convert_from_llama_index_messages(CODE
LOWprivate_gpt/chat/input_models.py864 def _convert_into_llama_index_messages(CODE
LOWprivate_gpt/chat/input_models.py943 def _convert_assistant_message(CODE
LOWprivate_gpt/chat/input_models.py1205 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.py153def _resolve_field_name_collisions(field_name: str, used_names: set[str]) -> str:CODE
LOWprivate_gpt/chat/schema_models.py365def create_model_from_json_schema(CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py588 async def _aget_node_with_embedding(CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py651 async def _aget_node_with_embedding(CODE
LOWprivate_gpt/server/tools/tool_service.py94 async def tabular_data_analysis_tool(CODE
LOWprivate_gpt/server/chat/chat_models.py255 def __get_pydantic_json_schema__(cls, core_schema: Any, handler: Any) -> Any:CODE
LOWprivate_gpt/server/chat/chat_facade.py28 async def create_chat_event_generator(CODE
LOWprivate_gpt/server/chat/chat_request_mapper.py95 async def _configure_output_cls_from_json_schema(CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py158 def resolve_multimodal_models(CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py118async 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.py196 def _has_skill_management_tool(tools: list[ToolSpec]) -> bool:CODE
LOW…r/chat/interceptors/platform_guidelines_interceptor.py217 def _get_citation_guidelines_content(CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py44def _resolve_active_skill_names(CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py25def _extract_original_exception(exc: BaseException) -> BaseException:CODE
LOWprivate_gpt/server/ingest/ingest_service.py49 def _make_vector_artifact_index(CODE
LOWprivate_gpt/server/ingest/ingest_service.py62 def initialize_artifact_indices(self, collection: str, artifact: str) -> None:CODE
LOWprivate_gpt/server/completion/completion_service.py70 def extract_text_from_content(content: Sequence[object]) -> str:CODE
LOWprivate_gpt/server/chat_async/chat_async_facade.py69 async def _cancellable_stream_generator(CODE
LOWprivate_gpt/server/content/content_service.py270 async def retrieve_document_nodes_async(CODE
LOWprivate_gpt/server/content/content_service.py293 def retrieve_document_content(CODE
LOWprivate_gpt/server/content/content_service.py316 async def retrieve_chunked_document_content(CODE
LOWprivate_gpt/server/content/content_router.py561async def chunked_content_retrieval(CODE
LOWprivate_gpt/server/mcp/mcp_service.py54def _load_call_tool_result_type() -> type["CallToolResult"]:CODE
LOWprivate_gpt/server/mcp/mcp_service.py84def get_mcp_tool_result_content(value: object) -> list[object] | None:CODE
LOWprivate_gpt/server/mcp/mcp_service.py147def convert_mcp_blocks_to_llama_index(block: object) -> ContentBlock | None:CODE
LOWprivate_gpt/server/primitives/primitives_service.py52 def __get_pydantic_json_schema__(CODE
LOW…ivate_gpt/server/primitives/semantic_search_service.py94 def retrieve_semantic_relevant(CODE
1196 more matches not shown…
Decorative Section Separators186 hits · 645 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml56# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml58# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml68# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml70# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml81# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml83# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml93# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml95# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml159# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml161# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml171# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml173# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml215# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml217# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml226# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml228# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml290# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml292# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml297# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml299# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml31# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml33# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml129# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml131# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml143# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml145# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml201# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml203# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml246# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml248# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml274# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml276# ---------------------------------------------------------------------------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.py206 # ------------------------------------------------------------------COMMENT
MEDIUM…r/chat/interceptors/platform_guidelines_interceptor.py208 # ------------------------------------------------------------------COMMENT
MEDIUM…pt/components/llm/tokenizers/models/model_discovery.py109# ---------------------------------------------------------------------------COMMENT
MEDIUM…pt/components/llm/tokenizers/models/model_discovery.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM…pt/components/llm/tokenizers/models/model_discovery.py158# ---------------------------------------------------------------------------COMMENT
MEDIUM…pt/components/llm/tokenizers/models/model_discovery.py160# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py15# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py17# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py28# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py256# ---------------------------------------------------------------------------COMMENT
MEDIUM…te_gpt/components/llm/tokenizers/models/model_cache.py258# ---------------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/llm/custom/openai.py194 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/llm/custom/openai.py196 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/llm/custom/openairesponses.py245 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/llm/custom/openairesponses.py247 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/context/models/context_stack.py31 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/context/models/context_stack.py33 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/context/models/context_stack.py85 # ------------------------------------------------------------------COMMENT
MEDIUMprivate_gpt/components/context/models/context_stack.py87 # ------------------------------------------------------------------COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py118 # =====================================================================COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py120 # =====================================================================COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py126 # =====================================================================COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py128 # =====================================================================COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py132 # =====================================================================COMMENT
MEDIUM…expansion/tree_expansion_replacement_post_processor.py134 # =====================================================================COMMENT
126 more matches not shown…
Excessive Try-Catch Wrapping221 hits · 227 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/global_handler.py39 except Exception as exc:CODE
LOWprivate_gpt/chat/input_models.py190 except Exception as e:CODE
LOWprivate_gpt/chat/input_models.py207 except Exception as e:CODE
LOWprivate_gpt/chat/input_models.py1145 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py87 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py123 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py155 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py177 except Exception as e:CODE
LOWprivate_gpt/server/tools/tool_service.py198 except Exception as e:CODE
LOWprivate_gpt/server/chat/chat_service.py214 except Exception as e:CODE
LOWprivate_gpt/server/chat/chat_service.py226 except Exception as e:CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py200 except Exception as e:CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py156 except Exception as exc:CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py96 except Exception as e:CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py144 except Exception as e:CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py324 except Exception as e:CODE
LOW…ver/chat/interceptors/skills_validation_interceptor.py54 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.py92 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.py144 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py163 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py174 except Exception as e:CODE
LOWprivate_gpt/server/mcp/_runtime.py186 except Exception as e:CODE
LOWprivate_gpt/server/files/file_service.py31 except Exception:CODE
LOWprivate_gpt/server/files/file_service.py43 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.py117 except Exception:STRING
LOWprivate_gpt/components/database/procedure_inspector.py205 except Exception:STRING
LOWprivate_gpt/components/database/procedure_inspector.py285 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.py118 except Exception:STRING
LOWprivate_gpt/components/database/function_inspector.py206 except Exception:STRING
LOWprivate_gpt/components/database/function_inspector.py288 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
LOW…omponents/tools/builders/present_files_tool_builder.py80 except Exception as exc:CODE
LOWprivate_gpt/components/llm/llm_component.py87 except Exception as e:CODE
LOWprivate_gpt/components/llm/discovery.py65 except Exception as exc:CODE
LOWprivate_gpt/components/llm/discovery.py94 except Exception as exc:CODE
LOWprivate_gpt/components/llm/discovery.py118 except Exception as exc:CODE
LOWprivate_gpt/components/llm/utils.py17 except Exception:CODE
161 more matches not shown…
Fake / Example Data217 hits · 197 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/settings/settings.py1182 image_mode: Literal["embedded", "placeholder"] = Field(CODE
LOWprivate_gpt/settings/settings.py1183 "placeholder",CODE
LOWprivate_gpt/server/ingest/convert_router.py33 {"file_name": "document.docx", "author": "John Doe"},CODE
LOWprivate_gpt/server/ingest/ingest_router.py111 "author": "John Doe",CODE
LOWprivate_gpt/components/chunk/models.py82 "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.py60 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py60 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py64 "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py64 "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py1258 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1258 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py2038 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py2038 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py2048 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py165 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py165 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py179 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py226 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py252 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py292 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py292 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py306 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py354 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py408 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py408 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py424 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py424 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py443 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py513 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py513 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py530 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py530 "value": "Lorem ipsum dolor sit amet",CODE
LOWtests/server/chat/test_chat_routes.py550 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py599 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py639 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/test_chat_routes.py1822 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1822 tool_kwargs={"_query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1863 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1863 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/test_chat_routes.py1999 messages=[MessageInput(content="Lorem ipsum", role="user")],CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py85 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py85 tool_kwargs={"query": "Lorem ipsum dolor sit amet"},CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py90 result = [list(tool_iterator()), ["Lorem ipsum dolor sit amet"]]CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py90 result = [list(tool_iterator()), ["Lorem ipsum dolor sit amet"]]CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py260 ([], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py260 ([], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py261 ([create_semantic_tool()], "Lorem ipsum dolor sit amet", True),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py261 ([create_semantic_tool()], "Lorem ipsum dolor sit amet", True),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py262 ([create_weather_tool()], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py262 ([create_weather_tool()], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py299 ([], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py299 ([], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py300 ([create_semantic_tool()], "Lorem ipsum dolor sit amet", True),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py300 ([create_semantic_tool()], "Lorem ipsum dolor sit amet", True),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py301 ([create_weather_tool()], "Lorem ipsum dolor sit amet", False),CODE
LOWtests/server/chat/anthropic/test_anthropic_client.py301 ([create_weather_tool()], "Lorem ipsum dolor sit amet", False),CODE
157 more matches not shown…
Modern Structural Boilerplate165 hits · 169 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/initialize.py18logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/di.py24logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/di.py82def set_injector(injector: Injector) -> None:CODE
LOWprivate_gpt/di.py125def 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.py62logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/settings/settings_loader.py15logger = logging.getLogger(__name__)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.py22logger = 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.py39logger = logging.getLogger(__name__)CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py23logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/convert_service.py17logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/ingest_router.py30logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/ingest/ingest_service.py27logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/chat_async/chat_async_facade.py15logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/server/utils/auth.py37logger = logging.getLogger(__name__)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.py8logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/tools/binary_block_decorators.py18logger = 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/llm/llm_component.py18logger = 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.py45logger = 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.py22logger = logging.getLogger(__name__)CODE
LOW…_gpt/components/llm/prompt_styles/prompt_style_base.py13logger = 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.py25logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py41logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/llm/custom/structured_mixin.py17logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/broker/blocking_publisher.py13logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/broker/broker_component.py12logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/context/services/__init__.py7__all__ = ["ContextStackBuilder"]CODE
LOW…/chat/processors/chat_history/memory/tldr_processor.py35logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/model_discovery/client.py17logger = logging.getLogger(__name__)CODE
LOW…e_gpt/components/model_discovery/providers/fallback.py17logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/web/web_scraper_service.py18logger = logging.getLogger(__name__)CODE
LOW…te_gpt/components/web/web_search/web_search_service.py21logger = logging.getLogger(__name__)CODE
LOW…ivate_gpt/components/web/web_search/providers/brave.py14logger = logging.getLogger(__name__)CODE
LOW…vate_gpt/components/web/web_search/providers/cached.py12logger = logging.getLogger(__name__)CODE
LOWprivate_gpt/components/web/web_search/providers/mock.py9logger = logging.getLogger(__name__)CODE
105 more matches not shown…
Deep Nesting139 hits · 135 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/di.py37CODE
LOWprivate_gpt/di.py99CODE
LOWprivate_gpt/docs.py12CODE
LOWprivate_gpt/docs.py16CODE
LOWprivate_gpt/docs.py61CODE
LOWprivate_gpt/docs.py42CODE
LOWprivate_gpt/chat/input_models.py161CODE
LOWprivate_gpt/chat/input_models.py392CODE
LOWprivate_gpt/chat/input_models.py444CODE
LOWprivate_gpt/chat/input_models.py497CODE
LOWprivate_gpt/chat/input_models.py595CODE
LOWprivate_gpt/chat/input_models.py615CODE
LOWprivate_gpt/chat/input_models.py662CODE
LOWprivate_gpt/chat/input_models.py879CODE
LOWprivate_gpt/chat/input_models.py943CODE
LOWprivate_gpt/chat/input_models.py1219CODE
LOWprivate_gpt/chat/input_models.py1267CODE
LOWprivate_gpt/artifact_index/base_artifact_index.py289CODE
LOWprivate_gpt/server/chat/chat_models.py282CODE
LOW…/server/chat/interceptors/document_file_interceptor.py46CODE
LOW…gpt/server/chat/interceptors/multimodal_interceptor.py51CODE
LOW…t/server/chat/interceptors/condensation_interceptor.py45CODE
LOW…chat/interceptors/skill_tool_visibility_interceptor.py46CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py44CODE
LOW…pt/server/chat/interceptors/skills_loop_interceptor.py95CODE
LOWprivate_gpt/server/chat/interceptors/mcp_interceptor.py51CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py53CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py158CODE
LOW…/chat/interceptors/schema_coercing_tool_interceptor.py260CODE
LOWprivate_gpt/server/ingest/convert_service.py76CODE
LOWprivate_gpt/server/ingest/ingest_service.py127CODE
LOWprivate_gpt/server/content/content_service.py103CODE
LOWprivate_gpt/utils/async_utils.py25CODE
LOWprivate_gpt/utils/tokens.py65CODE
LOWprivate_gpt/utils/tokens.py92CODE
LOWprivate_gpt/utils/tokens.py103CODE
LOWprivate_gpt/utils/batches.py17CODE
LOWprivate_gpt/utils/batches.py58CODE
LOWprivate_gpt/components/database/procedure_inspector.py32CODE
LOWprivate_gpt/components/database/procedure_inspector.py121CODE
LOWprivate_gpt/components/database/procedure_inspector.py209CODE
LOWprivate_gpt/components/database/function_inspector.py33CODE
LOWprivate_gpt/components/database/function_inspector.py122CODE
LOWprivate_gpt/components/database/function_inspector.py210CODE
LOW…t/components/tools/builders/semantic_search_builder.py213CODE
LOW…t/components/tools/builders/semantic_search_builder.py235CODE
LOW…pt/components/tools/builders/database_query_builder.py177CODE
LOW…pt/components/tools/builders/database_query_builder.py232CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py247CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py266CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py65CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py106CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py202CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py688CODE
LOWprivate_gpt/components/llm/tokenizers/mistral.py773CODE
LOW…pt/components/llm/tokenizers/models/model_discovery.py184CODE
LOW…te_gpt/components/llm/tokenizers/models/model_cache.py138CODE
LOWprivate_gpt/components/llm/custom/openai.py83CODE
LOWprivate_gpt/components/llm/custom/openairesponses.py149CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py238CODE
79 more matches not shown…
Self-Referential Comments40 hits · 129 pts
SeverityFileLineSnippetContext
MEDIUMprivate_gpt/chat/schema_models.py438 # 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.py499 # Create a lookup dictionary for all nodesCOMMENT
MEDIUMprivate_gpt/components/readers/nodes/tree_node.py536 # 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.py301 # 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.py65 # Create a cached modelCOMMENT
MEDIUMtests/components/llm/tokenizers/models/conftest.py107 # 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/celery/test_base_task.py83 # 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
Unused Imports117 hits · 116 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/server/mcp/_runtime.py10CODE
LOWprivate_gpt/server/mcp/_runtime.py48CODE
LOWprivate_gpt/server/mcp/_runtime.py50CODE
LOWprivate_gpt/server/mcp/_runtime.py50CODE
LOWprivate_gpt/server/mcp/_runtime.py50CODE
LOWprivate_gpt/server/mcp/_runtime.py50CODE
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
LOW…ate_gpt/components/tools/builders/bash_tool_builder.py1CODE
LOW…/components/tools/builders/text_editor_tool_builder.py1CODE
LOW…omponents/tools/builders/present_files_tool_builder.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/model_discovery/service.py1CODE
LOWprivate_gpt/components/model_discovery/models.py1CODE
LOWprivate_gpt/components/model_discovery/strategies.py1CODE
LOWprivate_gpt/components/model_discovery/client.py1CODE
LOWprivate_gpt/components/model_discovery/url_utils.py1CODE
LOW…ivate_gpt/components/model_discovery/providers/vllm.py1CODE
LOW…e_gpt/components/model_discovery/providers/lmstudio.py1CODE
LOW…ate_gpt/components/model_discovery/providers/openai.py1CODE
LOW…e_gpt/components/model_discovery/providers/fallback.py1CODE
LOW…ate_gpt/components/model_discovery/providers/ollama.py1CODE
LOW…ivate_gpt/components/model_discovery/providers/base.py1CODE
LOW…e_gpt/components/model_discovery/providers/llamacpp.py1CODE
LOW…s/ingest/transformations/markdown_to_tree_transform.py1CODE
LOW…te_gpt/components/ingest/processors/df_preprocessor.py1CODE
LOWprivate_gpt/components/embedding/discovery.py1CODE
LOWprivate_gpt/components/storage/object_storage.py1CODE
LOWprivate_gpt/components/storage/s3_helper.py1CODE
LOWprivate_gpt/components/streaming/stream_component.py4CODE
LOWprivate_gpt/components/concurrency/registry.py1CODE
LOWprivate_gpt/components/concurrency/semaphore_manager.py3CODE
LOW…gpt/components/concurrency/memory_semaphore_manager.py3CODE
LOWprivate_gpt/components/sandbox/local.py1CODE
LOWprivate_gpt/components/sandbox/__init__.py1CODE
LOWprivate_gpt/components/sandbox/__init__.py1CODE
LOWprivate_gpt/components/sandbox/__init__.py1CODE
57 more matches not shown…
Redundant / Tautological Comments36 hits · 60 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/settings/settings.py351 # Set max_workers to None if it is less than or equal to 0COMMENT
LOWprivate_gpt/settings/settings.py1075 # Check if visibility timeout is set when broker or backend is redisCOMMENT
LOWprivate_gpt/chat/input_models.py748 # 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.py145 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py196 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py262 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOW…vate_gpt/components/llm/decorators/reasoning_budget.py318 # Check if reasoning_effort budget is enabled for this modelCOMMENT
LOWprivate_gpt/components/memory/trimming_memory.py209 # 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.py56 # Check if enough values can be converted to numericCOMMENT
LOW…te_gpt/components/ingest/processors/df_preprocessor.py109 # Check if conversion was successful for most valuesCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py242 # Check if node has been processed in all directionsCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py316 # 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.py171 # Check if adding this doc (and possibly its header)COMMENT
LOWprivate_gpt/components/engines/citations/utils.py232 # Add citation to the listCOMMENT
LOWprivate_gpt/components/engines/citations/utils.py316 # Check if we have a complete citationCOMMENT
LOWprivate_gpt/components/readers/nodes/table_node.py44 # Check if it's a number with decimal pointCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py883 # 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.py153 # Check if broker was called with the callbackCOMMENT
LOWtests/server/ingest/test_ingest_routes.py337 # 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
Cross-Language Confusion5 hits · 30 pts
SeverityFileLineSnippetContext
HIGHprivate_gpt/chat/schema_models.py402 # If the field already has None in its type (from anyOf with null), respect thatCOMMENT
HIGH…te_gpt/components/ingest/processors/df_preprocessor.py152 if not with_first.equals(without_first):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
Verbosity Indicators15 hits · 29 pts
SeverityFileLineSnippetContext
LOW…ents/postprocessor/tree_expansion/document_expander.py196 # Step 2: Expand the node in the specified directionCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py199 # Step 1: Mark the node as processed in the specified directionCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py206 # 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.py863 # Step 1: Apply basic filteringCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py866 # Step 2: Expand zonesCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py872 # Step 3: Group zones by slide for processingCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py881 # Step 4: Process each slide separatelyCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py897 # Step 5: Remove high-overlap duplicatesCOMMENT
LOWprivate_gpt/celery/tasks/ingestion/extraction_tasks.py57 # Firstly, we need to check if there is another taskCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py409 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py435 # Step 2: Later, full model downloadedCOMMENT
Structural Annotation Overuse14 hits · 28 pts
SeverityFileLineSnippetContext
LOW…ents/postprocessor/tree_expansion/document_expander.py196 # Step 2: Expand the node in the specified directionCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py199 # Step 1: Mark the node as processed in the specified directionCOMMENT
LOW…ents/postprocessor/tree_expansion/document_expander.py206 # 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.py863 # Step 1: Apply basic filteringCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py866 # Step 2: Expand zonesCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py872 # Step 3: Group zones by slide for processingCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py881 # Step 4: Process each slide separatelyCOMMENT
LOW…components/readers/pptx2md/convert_slide_into_image.py897 # Step 5: Remove high-overlap duplicatesCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py409 # Step 1: Initial tokenizer-only downloadCOMMENT
LOW…s/components/llm/tokenizers/models/test_concurrency.py435 # Step 2: Later, full model downloadedCOMMENT
AI Structural Patterns29 hits · 28 pts
SeverityFileLineSnippetContext
LOWprivate_gpt/launcher.py196CODE
LOWprivate_gpt/chat/schema_models.py241CODE
LOWprivate_gpt/chat/schema_models.py281CODE
LOWprivate_gpt/server/content/content_service.py316CODE
LOWprivate_gpt/server/primitives/primitives_router.py364CODE
LOWprivate_gpt/utils/retry.py14CODE
LOW…_gpt/components/tools/builders/tabular_data_builder.py247CODE
LOWprivate_gpt/components/llm/custom/sagemaker.py149CODE
LOWprivate_gpt/components/memory/trimming_memory.py104CODE
LOW…ivate_gpt/components/chat/models/chat_config_models.py179CODE
LOW…ents/postprocessor/tree_expansion/document_expander.py452CODE
LOWprivate_gpt/components/tabular/pandasai_service.py60CODE
LOW…ate_gpt/components/tabular/database_query_generator.py234CODE
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.py105CODE
LOW…te_gpt/components/vector_store/patched_qdrant_store.py499CODE
LOW…te_gpt/components/vector_store/patched_qdrant_store.py548CODE
LOW…components/streaming/providers/redis_stream_service.py164CODE
LOW…components/streaming/providers/redis_stream_service.py161CODE
LOWprivate_gpt/components/prompts/prompt_builder.py256CODE
LOWprivate_gpt/components/prompts/prompt_builder.py336CODE
LOWprivate_gpt/components/prompts/prompt_builder.py424CODE
LOWprivate_gpt/components/readers/docling/api_clients.py130CODE
LOWprivate_gpt/components/multimodality/image_handler.py120CODE
LOWprivate_gpt/components/multimodality/audio_handler.py994CODE
LOWprivate_gpt/components/multimodality/audio_handler.py508CODE
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.py60 # Set global embedding model to Mock to prevent LlamaIndex to default to use OpenAICOMMENT
MEDIUMprivate_gpt/launcher.py274 # Set global embedding model to Mock to prevent LlamaIndex to default to use OpenAICOMMENT
MEDIUMprivate_gpt/components/llm/custom/openai.py180 # 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.py156 # 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.py164 # 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
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOW…ponents/postprocessor/tree_expansion/paper_distance.py41COMMENT
LOW…ate_gpt/components/tabular/database_query_generator.py621 # if (COMMENT
LOW…te_gpt/components/readers/pptx2md/slides_transforms.py101 # Create text chunks from the tree nodesCOMMENT
LOWtests/server/ingest/test_file_validation.py121# errors, warnings = IngestionHelper.validate_file_info(file_info)COMMENT
LOWtests/server/ingest/test_file_validation.py181# def test_validate_file_info_pdf_with_forms():COMMENT
LOWtests/models/anthropic/test_openapi_schema.py201COMMENT
LOWtests/components/multimodality/test_describe_image.py341# """Test 6: Error handling during strategy inference."""COMMENT
AI Slop Vocabulary4 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMprivate_gpt/server/ingest/ingest_router.py858 """Retrieves a comprehensive list of all documents ingested.STRING
LOW…ivate_gpt/components/chat/models/chat_config_models.py263 # 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/components/processors/test_df_preprocessor.py221 """Test robust type inference with edge cases."""STRING