AI Slop Code RIsk Monitor

HKUDS/LightRAG

[EMNLP2025] LightRAG: Simple and Fast Retrieval-Augmented Generation

35.0 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for HKUDS/LightRAG, a Python project with 40,056 GitHub stars. SynthScan examined 486,298 lines of code across 1252 source files, recording 12483 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 35.0 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

35.0
Adjusted Signal
35.0
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
40.1K
Stars
Python
Language
486.3K
Lines of Code
1.3K
Files
12.5K
Pattern Hits
2026-10-12
Scan Date
0.26
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 58.8/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 7.6/100 · LOW

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

Agent Over-Engineering Ratio 77.7/100 · CRITICAL

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

PR Review Velocity Impact 83.8/100 · CRITICAL

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

What These Metrics Mean

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

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 329MEDIUM 1796LOW 10358

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 12483 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers7927 hits · 6932 pts
SeverityFileLineSnippetContext
LOWreproduce/Step_3_openai_compatible.py57def run_queries_and_save_to_json(CODE
LOWreproduce/Step_3.py26def run_queries_and_save_to_json(CODE
LOWlightrag/rerank.py36def chunk_documents_for_rerank(CODE
LOWlightrag/rerank.py142async def achunk_documents_for_rerank(CODE
LOWlightrag/addon_params.py30def _emit_deprecated_addon_warnings(params: Mapping[str, Any]) -> None:CODE
LOWlightrag/table_markup.py83def header_grid_to_thead_html(grid: list[list[str]]) -> str:CODE
LOWlightrag/llm_roles.py130 def register_role_llm_builder(CODE
LOW⚡lightrag/llm_roles.py162 def _get_effective_role_llm_kwargs(self, role: str) -> dict[str, Any]:CODE
LOW⚡lightrag/llm_roles.py170 def _get_effective_role_llm_timeout(self, role: str) -> int:CODE
LOW⚡lightrag/llm_roles.py174 def _get_effective_role_llm_max_async(self, role: str) -> int:CODE
LOWlightrag/llm_roles.py212 def _rebuild_single_role_llm_func(self, role: str) -> None:CODE
LOWlightrag/llm_roles.py228 def _schedule_retired_llm_queue_cleanup(CODE
LOW⚡lightrag/llm_roles.py256 def _finalize_retired_llm_queue_cleanup(self, task: asyncio.Task) -> None:CODE
LOW⚡lightrag/llm_roles.py265 async def wait_for_retired_llm_queues(self) -> None:CODE
LOWlightrag/llm_roles.py309 def _apply_llm_role_config_update(CODE
LOWlightrag/llm_roles.py611 async def get_embedding_queue_status(self) -> dict[str, Any]:CODE
LOW⚡lightrag/lightrag.py1426 def _set_runtime_addon_params(self, addon_params: Mapping[str, Any] | None) -> None:CODE
LOW⚡lightrag/lightrag.py1430 def _apply_chunk_size_overlay(self) -> None:CODE
LOW⚡lightrag/lightrag.py7475 def _admin_write_gate_required(self) -> bool:CODE
LOWlightrag/lightrag.py286def _default_admin_write_hold_seconds(embedding_timeout: float) -> float:CODE
LOWlightrag/lightrag.py1549 def _refresh_addon_params_cache(self) -> None:CODE
LOWlightrag/lightrag.py1569 def _ensure_addon_params_cache(self) -> None:CODE
LOWlightrag/lightrag.py1623 def _build_role_llm_cache_identity(CODE
LOWlightrag/lightrag.py2039 def _get_parse_native_executor(self) -> ThreadPoolExecutor:CODE
LOWlightrag/lightrag.py2056 def _shutdown_parser_executor(self) -> None:CODE
LOWlightrag/lightrag.py2074 async def _commit_cache_pair_before_finalize(self) -> None:CODE
LOWlightrag/lightrag.py2102 async def _quarantine_cache_before_finalize(CODE
LOWlightrag/lightrag.py2691 def _operation_truncation_record() -> dict[str, Any] | None:CODE
LOWlightrag/lightrag.py2705 def _terminal_truncation_kwargs() -> dict[str, Any]:CODE
LOWlightrag/lightrag.py2728 async def _journal_truncation_write_ahead(CODE
LOWlightrag/lightrag.py3139 async def _upsert_custom_chunk_status(CODE
LOWlightrag/lightrag.py3229 async def _union_doc_recovery_anchors(CODE
LOWlightrag/lightrag.py3269 async def arollback_failed_custom_chunk_patches(CODE
LOWlightrag/lightrag.py3436 async def _rollback_one_custom_chunk_patch(CODE
LOWlightrag/lightrag.py3568 async def _persist_custom_chunk_recovery_warning(CODE
LOWlightrag/lightrag.py3692 async def _prune_doc_recovery_anchors(CODE
LOWlightrag/lightrag.py3762 async def _process_extract_entities(CODE
LOWlightrag/lightrag.py3814 async def _discard_pending_index_ops(CODE
LOWlightrag/lightrag.py3995 async def _record_chunk_reference_commit_failure(self, reason: str) -> None:CODE
LOWlightrag/lightrag.py4184 async def _flush_cache_after_references() -> None:CODE
LOWlightrag/lightrag.py4299 async def _insert_done_with_cleanup(self) -> None:CODE
LOWlightrag/lightrag.py4387 def _normalize_custom_kg_entity_name(value: Any, *, field: str) -> str:CODE
LOWlightrag/lightrag.py5367 async def _update_delete_retry_state(CODE
LOWlightrag/lightrag.py5448 async def _get_existing_llm_cache_ids(self, cache_ids: list[str]) -> list[str]:CODE
LOWlightrag/lightrag.py5644 def _patch_journal_candidates(CODE
LOWlightrag/lightrag.py5674 async def _resolve_purge_recovery_proof(CODE
LOWlightrag/lightrag.py5882 def _raise_missing_recovery_proof(CODE
LOWlightrag/lightrag.py6265 async def _purge_derived_kg_contributions(CODE
LOWlightrag/lightrag.py7495 def _admin_write_hold_ceiling(self) -> float:CODE
LOWlightrag/lightrag.py7513 def _validate_admin_write_bounds(self) -> None:CODE
LOWlightrag/lightrag.py7557 def _admin_write_lock_namespace(self) -> str:CODE
LOWlightrag/lightrag.py7760 def _discard_uncommitted_graph_mutations(self, operation: str) -> None:CODE
LOWlightrag/lightrag.py7791 async def _drive_pipeline_if_deferred(self, workspace: str) -> None:CODE
LOWlightrag/lightrag.py7848 def _schedule_deferred_pipeline_drive(self, workspace: str) -> asyncio.Task | None:CODE
LOWlightrag/lightrag.py7910 async def _cancel_admin_release_drives(self) -> None:CODE
LOWlightrag/lightrag.py7925 async def _raise_if_recovery_required(self) -> None:CODE
LOWlightrag/query_validation.py101def meets_min_rag_query_weight(query: str) -> bool:CODE
LOWlightrag/operate.py184def _get_relationship_vdb_timeout_seconds(global_config: dict[str, Any]) -> float:CODE
LOWlightrag/operate.py201def _format_relation_edge_label(edge_key: tuple[str, str] | list[str]) -> str:CODE
LOWlightrag/operate.py209def _truncate_entity_identifier(CODE
7867 more matches not shown…
Decorative Section Separators1575 hits · 5901 pts
SeverityFileLineSnippetContext
MEDIUM⚡lightrag/lightrag.py7471 # ------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/lightrag.py7473 # ------------------------------------------------------------------COMMENT
MEDIUMlightrag/lightrag.py233# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/lightrag.py235# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/constants.py790# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/constants.py794# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils.py4006# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils.py4008# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py2880# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py2882# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3270# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3272# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3325# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3327# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3577 # -----------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3579 # -----------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3812 # -----------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils.py3814 # -----------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/pipeline.py736 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py738 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py2274 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py2276 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py6095 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py6097 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py6502 # ============================================================COMMENT
MEDIUM⚡lightrag/pipeline.py6504 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py634 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py636 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py3150 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py3156 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py4405 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py4407 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py4987 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py4989 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py6837 # ============================================================COMMENT
MEDIUMlightrag/pipeline.py6839 # ============================================================COMMENT
MEDIUM⚡lightrag/multimodal_context.py86# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/multimodal_context.py90# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/multimodal_context.py265# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/multimodal_context.py267# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/multimodal_context.py724# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/multimodal_context.py726# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py130# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py133# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py186# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py188# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py500# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/multimodal_context.py502# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils_pipeline.py1303# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils_pipeline.py1305# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils_pipeline.py1330# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/utils_pipeline.py1332# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1178# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1180# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1228# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1230# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1368# ---------------------------------------------------------------------------COMMENT
MEDIUMlightrag/utils_pipeline.py1370# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/base.py1763 # ------------------------------------------------------------------COMMENT
MEDIUM⚡lightrag/base.py1769 # ------------------------------------------------------------------COMMENT
1515 more matches not shown…
Excessive Try-Catch Wrapping844 hits · 641 pts
SeverityFileLineSnippetContext
LOWreproduce/Step_1_openai_compatible.py50 except Exception as e:CODE
LOWreproduce/Step_0.py41 except Exception as e:CODE
MEDIUMreproduce/Step_0.py42 print(f"An error occurred while processing file {filename}: {e}")CODE
LOWreproduce/Step_0.py54 except Exception as e:CODE
MEDIUMreproduce/Step_0.py55 print(f"An error occurred while saving to the file {output_filename}: {e}")CODE
LOWreproduce/Step_1.py19 except Exception as e:CODE
LOWreproduce/Step_3_openai_compatible.py53 except Exception as e:CODE
MEDIUMreproduce/Step_3_openai_compatible.py49def process_query(query_text, rag_instance, query_param):CODE
LOWreproduce/Step_3.py22 except Exception as e:CODE
MEDIUMreproduce/Step_3.py18def process_query(query_text, rag_instance, query_param):CODE
LOWlightrag/pipeline_metrics.py97 except Exception as metric_error: # pragma: no cover - defensiveCODE
LOWlightrag/pipeline_metrics.py115 except Exception as metric_error: # pragma: no cover - defensiveCODE
LOWlightrag/rerank.py84 except Exception as e:CODE
LOWlightrag/rerank.py624 except Exception as e:CODE
LOWlightrag/rerank.py639 except Exception as e:CODE
LOWlightrag/rerank.py654 except Exception as e:CODE
LOW⚡lightrag/llm_roles.py262 except Exception as e:CODE
LOWlightrag/llm_roles.py306 except Exception as e:CODE
LOWlightrag/llm_roles.py381 except Exception:CODE
LOWlightrag/lightrag.py16except Exception: # pragma: no cover - optional dependencyCODE
LOWlightrag/lightrag.py2099 except Exception as e:CODE
LOWlightrag/lightrag.py2134 except Exception as e:CODE
LOWlightrag/lightrag.py2142 except Exception as e:CODE
LOWlightrag/lightrag.py2221 except Exception as e:CODE
LOWlightrag/lightrag.py2987 except Exception as bookkeeping_error:CODE
LOWlightrag/lightrag.py3019 except Exception as ingress_error:CODE
LOWlightrag/lightrag.py3049 except Exception as probe_error:CODE
LOWlightrag/lightrag.py3120 except Exception as drain_error:CODE
LOWlightrag/lightrag.py3360 except Exception as rollback_error:CODE
LOWlightrag/lightrag.py3780 except Exception as e:CODE
LOWlightrag/lightrag.py3928 except Exception as e:CODE
LOWlightrag/lightrag.py3956 except Exception as e:CODE
LOWlightrag/lightrag.py3989 except Exception as e:CODE
LOWlightrag/lightrag.py4045 except Exception as e:CODE
LOWlightrag/lightrag.py4138 except Exception as e:CODE
LOWlightrag/lightrag.py4789 except Exception as e:CODE
LOWlightrag/lightrag.py5257 except Exception as e:CODE
LOWlightrag/lightrag.py5326 except Exception as e:CODE
LOWlightrag/lightrag.py5463 except Exception as verification_error:CODE
LOWlightrag/lightrag.py6209 except Exception as e:CODE
LOWlightrag/lightrag.py6241 except Exception as e:CODE
LOWlightrag/lightrag.py6378 except Exception as e:CODE
LOWlightrag/lightrag.py6563 except Exception as e:CODE
LOWlightrag/lightrag.py6601 except Exception as e:CODE
LOWlightrag/lightrag.py6667 except Exception as e:CODE
LOWlightrag/lightrag.py6680 except Exception as e:CODE
LOWlightrag/lightrag.py6705 except Exception as e:CODE
LOWlightrag/lightrag.py6718 except Exception as e:CODE
LOWlightrag/lightrag.py7023 except Exception as cache_err:CODE
LOWlightrag/lightrag.py7036 except Exception as e:CODE
LOWlightrag/lightrag.py7093 except Exception as cache_collect_error:CODE
LOWlightrag/lightrag.py7112 except Exception as status_write_error:CODE
LOWlightrag/lightrag.py7206 except Exception as cache_delete_error:CODE
LOWlightrag/lightrag.py7234 except Exception as e:CODE
LOWlightrag/lightrag.py7267 except Exception as status_update_error:CODE
LOWlightrag/lightrag.py7281 except Exception as e:CODE
LOWlightrag/lightrag.py7300 except Exception as status_update_error:CODE
LOWlightrag/lightrag.py7339 except Exception as ingress_error:CODE
LOWlightrag/lightrag.py7362 except Exception as probe_error:CODE
LOWlightrag/lightrag.py7401 except Exception as persistence_error:CODE
784 more matches not shown…
Cross-File Repetition120 hits · 600 pts
SeverityFileLineSnippetContext
HIGHlightrag/base.py0get multiple vector data by their ids (read-your-writes), preserving order. args: ids: list of unique identifiers returnSTRING
HIGHlightrag/kg/deprecated/chroma_impl.py0get multiple vector data by their ids (read-your-writes), preserving order. args: ids: list of unique identifiers returnSTRING
HIGHlightrag/kg/nano_vector_db_impl.py0get multiple vector data by their ids (read-your-writes), preserving order. args: ids: list of unique identifiers returnSTRING
HIGHlightrag/base.py0get all edges in the graph. returns: a list of all edges, where each edge is a dictionary of its propertiesSTRING
HIGHlightrag/kg/networkx_impl.py0get all edges in the graph. returns: a list of all edges, where each edge is a dictionary of its propertiesSTRING
HIGHlightrag/kg/mongo_impl.py0get all edges in the graph. returns: a list of all edges, where each edge is a dictionary of its propertiesSTRING
HIGHlightrag/kg/memgraph_impl.py0get all edges in the graph. returns: a list of all edges, where each edge is a dictionary of its propertiesSTRING
HIGHlightrag/kg/neo4j_impl.py0get all edges in the graph. returns: a list of all edges, where each edge is a dictionary of its propertiesSTRING
HIGHlightrag/kg/qdrant_impl.py0buffered vector upsert waiting for embedding and/or bulk flush.STRING
HIGHlightrag/kg/mongo_impl.py0buffered vector upsert waiting for embedding and/or bulk flush.STRING
HIGHlightrag/kg/opensearch_impl.py0buffered vector upsert waiting for embedding and/or bulk flush.STRING
HIGHlightrag/kg/milvus_impl.py0buffered vector upsert waiting for embedding and/or bulk flush.STRING
HIGHlightrag/kg/qdrant_impl.py0discard buffered upserts/deletes (pipeline aborting on error).STRING
HIGHlightrag/kg/mongo_impl.py0discard buffered upserts/deletes (pipeline aborting on error).STRING
HIGHlightrag/kg/postgres_impl.py0discard buffered upserts/deletes (pipeline aborting on error).STRING
HIGHlightrag/kg/opensearch_impl.py0discard buffered upserts/deletes (pipeline aborting on error).STRING
HIGHlightrag/kg/milvus_impl.py0discard buffered upserts/deletes (pipeline aborting on error).STRING
HIGHlightrag/kg/qdrant_impl.py0buffer an entity vector delete by computing its hash id.STRING
HIGHlightrag/kg/mongo_impl.py0buffer an entity vector delete by computing its hash id.STRING
HIGHlightrag/kg/opensearch_impl.py0buffer an entity vector delete by computing its hash id.STRING
HIGHlightrag/kg/milvus_impl.py0buffer an entity vector delete by computing its hash id.STRING
HIGHlightrag/kg/qdrant_impl.py0get multiple vector data by their ids (read-your-writes), preserving order.STRING
HIGHlightrag/kg/mongo_impl.py0get multiple vector data by their ids (read-your-writes), preserving order.STRING
HIGHlightrag/kg/milvus_impl.py0get multiple vector data by their ids (read-your-writes), preserving order.STRING
HIGHlightrag/kg/networkx_impl.py0record ``fingerprint`` as the file pair this process now holds.STRING
HIGHlightrag/kg/nano_vector_db_impl.py0record ``fingerprint`` as the file pair this process now holds.STRING
HIGHlightrag/kg/faiss_impl.py0record ``fingerprint`` as the file pair this process now holds.STRING
HIGHlightrag/kg/networkx_impl.py0retrieve a connected subgraph of nodes where the label includes the specified `node_label`. args: node_label: label of tSTRING
HIGHlightrag/kg/postgres_impl.py0retrieve a connected subgraph of nodes where the label includes the specified `node_label`. args: node_label: label of tSTRING
HIGHlightrag/kg/memgraph_impl.py0retrieve a connected subgraph of nodes where the label includes the specified `node_label`. args: node_label: label of tSTRING
HIGHlightrag/kg/neo4j_impl.py0retrieve a connected subgraph of nodes where the label includes the specified `node_label`. args: node_label: label of tSTRING
HIGHlightrag/kg/networkx_impl.py0get all nodes in the graph. returns: a list of all nodes, where each node is a dictionary of its propertiesSTRING
HIGHlightrag/kg/mongo_impl.py0get all nodes in the graph. returns: a list of all nodes, where each node is a dictionary of its propertiesSTRING
HIGHlightrag/kg/postgres_impl.py0get all nodes in the graph. returns: a list of all nodes, where each node is a dictionary of its propertiesSTRING
HIGHlightrag/kg/memgraph_impl.py0get all nodes in the graph. returns: a list of all nodes, where each node is a dictionary of its propertiesSTRING
HIGHlightrag/kg/neo4j_impl.py0get all nodes in the graph. returns: a list of all nodes, where each node is a dictionary of its propertiesSTRING
HIGHlightrag/kg/mongo_impl.py0check if the storage is empty for the current workspace and namespace returns: bool: true if storage is empty, false othSTRING
HIGHlightrag/kg/postgres_impl.py0check if the storage is empty for the current workspace and namespace returns: bool: true if storage is empty, false othSTRING
HIGHlightrag/kg/redis_impl.py0check if the storage is empty for the current workspace and namespace returns: bool: true if storage is empty, false othSTRING
HIGHlightrag/kg/mongo_impl.py0get counts of documents in each status for all documents returns: dictionary mapping status names to counts, including 'STRING
HIGHlightrag/kg/postgres_impl.py0get counts of documents in each status for all documents returns: dictionary mapping status names to counts, including 'STRING
HIGHlightrag/kg/json_doc_status_impl.py0get counts of documents in each status for all documents returns: dictionary mapping status names to counts, including 'STRING
HIGHlightrag/kg/redis_impl.py0get counts of documents in each status for all documents returns: dictionary mapping status names to counts, including 'STRING
HIGHlightrag/kg/mongo_impl.py0get document by file path args: file_path: the file path to search for returns: union[dict[str, any], none]: document daSTRING
HIGHlightrag/kg/postgres_impl.py0get document by file path args: file_path: the file path to search for returns: union[dict[str, any], none]: document daSTRING
HIGHlightrag/kg/redis_impl.py0get document by file path args: file_path: the file path to search for returns: union[dict[str, any], none]: document daSTRING
HIGHlightrag/kg/json_doc_status_impl.py0get document by file path args: file_path: the file path to search for returns: union[dict[str, any], none]: document daSTRING
HIGHlightrag/kg/mongo_impl.py0deterministic digest over candidate doc ids in stable sort order.STRING
HIGHlightrag/kg/postgres_impl.py0deterministic digest over candidate doc ids in stable sort order.STRING
HIGHlightrag/kg/opensearch_impl.py0deterministic digest over candidate doc ids in stable sort order.STRING
HIGHlightrag/kg/json_doc_status_impl.py0deterministic digest over candidate doc ids in stable sort order.STRING
HIGHlightrag/kg/redis_impl.py0deterministic digest over candidate doc ids in stable sort order.STRING
HIGHlightrag/kg/mongo_impl.py0get the total degree (sum of relationships) of two nodes. args: src_id: label of the source node tgt_id: label of the taSTRING
HIGHlightrag/kg/memgraph_impl.py0get the total degree (sum of relationships) of two nodes. args: src_id: label of the source node tgt_id: label of the taSTRING
HIGHlightrag/kg/neo4j_impl.py0get the total degree (sum of relationships) of two nodes. args: src_id: label of the source node tgt_id: label of the taSTRING
HIGHlightrag/kg/mongo_impl.py0check existence of multiple nodes in a single unwind query. args: node_ids: list of node ids to check. returns: set of nSTRING
HIGHlightrag/kg/postgres_impl.py0check existence of multiple nodes in a single unwind query. args: node_ids: list of node ids to check. returns: set of nSTRING
HIGHlightrag/kg/memgraph_impl.py0check existence of multiple nodes in a single unwind query. args: node_ids: list of node ids to check. returns: set of nSTRING
HIGHlightrag/kg/neo4j_impl.py0check existence of multiple nodes in a single unwind query. args: node_ids: list of node ids to check. returns: set of nSTRING
HIGHlightrag/kg/postgres_impl.py0get documents with pagination support args: status_filter: filter by document status, none for all statuses page: page nSTRING
60 more matches not shown…
Empty Error Handlers94 hits · 462 pts
SeverityFileLineSnippetContext
HIGHlightrag/llm_roles.py260except asyncio.CancelledError:CODE
HIGHlightrag/lightrag.py633except RuntimeError:CODE
HIGHlightrag/lightrag.py7922except (asyncio.CancelledError, Exception):CODE
HIGHlightrag/utils.py3424except Exception:CODE
HIGHlightrag/utils.py4683except RuntimeError:CODE
HIGHlightrag/utils.py6599except Exception:CODE
HIGHlightrag/utils.py6616except Exception:CODE
HIGHlightrag/utils.py86except (ValueError, OSError):CODE
HIGHlightrag/utils.py94except (ValueError, OSError):CODE
HIGHlightrag/utils.py3108except RuntimeError:CODE
HIGHlightrag/utils.py4697except (RuntimeError, DeprecationWarning):CODE
HIGHlightrag/utils.py2214except asyncio.CancelledError:CODE
HIGHlightrag/utils.py2253except asyncio.CancelledError:CODE
HIGHlightrag/utils.py2274except Exception:CODE
HIGHlightrag/utils.py2279except Exception:CODE
HIGHlightrag/utils.py2267except Exception:CODE
HIGHlightrag/utils.py1689except asyncio.TimeoutError:CODE
HIGHlightrag/utils.py1703except asyncio.TimeoutError:CODE
HIGHlightrag/tools/clean_llm_query_cache.py1235except Exception:CODE
HIGHlightrag/tools/clean_llm_query_cache.py1227except Exception:CODE
HIGHlightrag/tools/chunk_tracking_repair.py157except (AttributeError, sqlite3.Error):CODE
HIGHlightrag/tools/rebuild_vdb.py1196except Exception:CODE
HIGHlightrag/tools/rebuild_vdb.py1190except Exception:CODE
HIGHlightrag/tools/migrate_llm_cache.py1558except Exception:CODE
HIGHlightrag/tools/migrate_llm_cache.py1545except Exception:CODE
HIGHlightrag/tools/migrate_llm_cache.py1550except Exception:CODE
HIGHlightrag/tools/migrate_graph_storage.py1105except Exception:CODE
HIGHlightrag/llm/gemini.py533except Exception:CODE
HIGHlightrag/parser/llm_bridge.py100except Exception:CODE
HIGHlightrag/parser/markdown/parser.py587except OSError:CODE
HIGHlightrag/parser/markdown/raw_cache.py201except OSError:CODE
HIGHlightrag/parser/external/mineru/ir_builder.py533except json.JSONDecodeError:CODE
HIGHlightrag/parser/external/mineru/client.py516except OSError:CODE
HIGHlightrag/parser/docx/numbering_resolver.py269except Exception:CODE
HIGHlightrag/parser/docx/numbering_resolver.py318except Exception:CODE
HIGHlightrag/parser/docx/parse_document.py374except Exception:CODE
HIGHlightrag/parser/docx/omml/ommlparser.py216except TypeError:CODE
HIGHlightrag/parser/docx/omml/ommlparser.py556except TypeError:CODE
HIGHlightrag/kg/shared_storage.py1906except Exception:CODE
HIGHlightrag/kg/shared_storage.py4053except Exception:CODE
HIGHlightrag/kg/shared_storage.py4071except Exception:CODE
HIGHlightrag/kg/shared_storage.py290except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py4716except ConflictError:CODE
HIGHlightrag/kg/opensearch_impl.py7027except OpenSearchException:CODE
HIGHlightrag/kg/opensearch_impl.py7079except OpenSearchException:CODE
HIGHlightrag/kg/opensearch_impl.py7135except OpenSearchException:CODE
HIGHlightrag/kg/opensearch_impl.py4237except NotFoundError:CODE
HIGHlightrag/kg/opensearch_impl.py4990except NotFoundError:CODE
HIGHlightrag/kg/opensearch_impl.py5257except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py5372except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py6058except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py1222except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py2524except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py2639except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py4131except OpenSearchException:CODE
HIGHlightrag/kg/opensearch_impl.py4452except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py4663except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py5129except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py5174except Exception:CODE
HIGHlightrag/kg/opensearch_impl.py5893except Exception:CODE
34 more matches not shown…
Unused Imports410 hits · 375 pts
SeverityFileLineSnippetContext
LOWlightrag/pipeline_metrics.py34CODE
LOWlightrag/rerank.py1CODE
LOWlightrag/file_atomic.py29CODE
LOWlightrag/addon_params.py15CODE
LOWlightrag/table_markup.py17CODE
LOWlightrag/llm_roles.py11CODE
LOWlightrag/lightrag.py1CODE
LOWlightrag/lightrag.py215CODE
LOWlightrag/query_validation.py3CODE
LOWlightrag/__init__.py3CODE
LOWlightrag/types.py1CODE
LOWlightrag/operate.py1CODE
LOWlightrag/utils.py1CODE
LOWlightrag/utils.py431CODE
LOWlightrag/utils.py431CODE
LOWlightrag/utils.py431CODE
LOWlightrag/pipeline.py12CODE
LOWlightrag/pipeline.py133CODE
LOWlightrag/pipeline.py133CODE
LOWlightrag/storage_migrations.py14CODE
LOWlightrag/exceptions.py1CODE
LOWlightrag/multimodal_context.py62CODE
LOWlightrag/utils_graph.py1CODE
LOWlightrag/prompt.py1CODE
LOWlightrag/utils_pipeline.py10CODE
LOWlightrag/namespace.py1CODE
LOWlightrag/chunk_schema.py24CODE
LOWlightrag/base.py1CODE
LOWlightrag/prompt_multimodal.py31CODE
LOWlightrag/tools/kg_integrity_repair.py38CODE
LOWlightrag/tools/source_conflict_repair.py92CODE
LOWlightrag/tools/source_conflict_repair.py738CODE
LOWlightrag/tools/chunk_tracking_repair.py19CODE
LOWlightrag/tools/migrate_graph_storage.py67CODE
LOWlightrag/llm/_error_utils.py14CODE
LOWlightrag/llm/gemini.py10CODE
LOWlightrag/llm/_vision_utils.py20CODE
LOWlightrag/llm/azure_openai.py12CODE
LOWlightrag/llm/azure_openai.py12CODE
LOWlightrag/llm/azure_openai.py12CODE
LOWlightrag/parser/plugins.py25CODE
LOWlightrag/parser/param_schema.py30CODE
LOWlightrag/parser/native_dispatch.py16CODE
LOWlightrag/parser/registry.py16CODE
LOWlightrag/parser/registry.py32CODE
LOWlightrag/parser/_html_table.py13CODE
LOWlightrag/parser/llm_bridge.py17CODE
LOWlightrag/parser/cli.py20CODE
LOWlightrag/parser/_markdown.py10CODE
LOWlightrag/parser/routing.py1CODE
LOWlightrag/parser/debug.py17CODE
LOWlightrag/parser/noop.py18CODE
LOWlightrag/parser/native_base.py15CODE
LOWlightrag/parser/native_base.py33CODE
LOWlightrag/parser/exceptions.py10CODE
LOWlightrag/parser/base.py22CODE
LOWlightrag/parser/base.py31CODE
LOWlightrag/parser/markdown/ir_builder.py20CODE
LOWlightrag/parser/markdown/ir_builder.py23CODE
LOWlightrag/parser/markdown/parser.py41CODE
350 more matches not shown…
Over-Commented Block482 hits · 323 pts
SeverityFileLineSnippetContext
LOWdocker-compose.podman.yml1# Podman-compatible compose file for LightRAGCOMMENT
LOWdocker-compose.podman.yml21 tags:COMMENT
LOWREADME-id.md161# make dev installs the test toolchain plus the full offline stackCOMMENT
LOWREADME-ja.md161# make dev はテストツールチェーンに加えて、完全なオフラインスタックCOMMENT
LOWREADME.md161COMMENT
LOWdocker-entrypoint.sh1#!/bin/shCOMMENT
LOWdocker-entrypoint.sh21 # process can read/write them, covering bind-mounts/PVCs whose host contentCOMMENT
LOWrequirements-offline-smart-heading.txt1# LightRAG Offline Dependencies - Native docx smart_heading (optional)COMMENT
LOWdocker-compose.yml41 # .env holds host paths so one file can serve both a source run and thisCOMMENT
LOWREADME-zh.md161# make dev 会安装测试工具链以及完整的离线依赖栈COMMENT
LOWlightrag/file_atomic.py41COMMENT
LOWlightrag/lightrag.py221 _RoleLLMMixin,COMMENT
LOWlightrag/lightrag.py241# On a graph storage that declares ``requires_single_writer`` (onlyCOMMENT
LOWlightrag/lightrag.py261# manual operations, so queueing them is the point; the bound only keeps aCOMMENT
LOWlightrag/lightrag.py341# ``_schedule_deferred_pipeline_drive``); a task held only by the loop's weakCOMMENT
LOWlightrag/lightrag.py661 # stranded mid-operation. The token is reset in a finally, so a nested orCOMMENT
LOWlightrag/lightrag.py1501 # when the caller hands us a partial ``addon_params['chunker']``COMMENT
LOWlightrag/lightrag.py1581 # Restore the tokenizer object itself, the same way __post_init__ restoresCOMMENT
LOWlightrag/lightrag.py2481 )COMMENT
LOWlightrag/lightrag.py2641 )COMMENT
LOWlightrag/lightrag.py2761 },COMMENT
LOWlightrag/lightrag.py2921 # Patch mode AND resumed creates, not patch alone. PatchCOMMENT
LOWlightrag/lightrag.py3001 # The handoff decision consults the ingress mailbox: work thatCOMMENT
LOWlightrag/lightrag.py3081 # cannot skip them: _exit_action keeps busy=True for aCOMMENT
LOWlightrag/lightrag.py3381 # every id first would have kept the sweep O(N) on the assumption thatCOMMENT
LOWlightrag/lightrag.py3881 # placed beside the cache flush below would find nothing left. CommitCOMMENT
LOWlightrag/lightrag.py3961 # that takes the buffered DELETES with the upserts, andCOMMENT
LOWlightrag/lightrag.py4021 reachability* in the contract doc,COMMENT
LOWlightrag/lightrag.py4121 # (``NetworkXStorage.index_done_callback``'s first block).COMMENT
LOWlightrag/lightrag.py4141 ):COMMENT
LOWlightrag/lightrag.py4181 # the abort decision, and a second failing sibling would surface as aCOMMENT
LOWlightrag/lightrag.py4201 # ``use_llm_func_with_cache``; the lock and why an in-process oneCOMMENT
LOWlightrag/lightrag.py4361 offline ``lightrag.tools.kg_integrity_repair`` audit canCOMMENT
LOWlightrag/lightrag.py4801 # (the hold ceiling's, a disconnected client's). The flushCOMMENT
LOWlightrag/lightrag.py5341 # are not on disk either -- recorded like every other failedCOMMENT
LOWlightrag/lightrag.py5501 returnCOMMENT
LOWlightrag/lightrag.py6961 )COMMENT
LOWlightrag/lightrag.py7141 #COMMENT
LOWlightrag/lightrag.py7321 # so concurrent enqueues are permitted the whole time: anCOMMENT
LOWlightrag/lightrag.py7701 raise AdminWriteGateRefusedError(COMMENT
LOWlightrag/lightrag.py7721 # the pipeline, and the "no other writer" clause above is exactlyCOMMENT
LOWlightrag/query_validation.py1"""Shared validation for query text entering the server and the core API."""COMMENT
LOWlightrag/query_validation.py21# minimum they should not. The cost of that is one retrieval that findsCOMMENT
LOWlightrag/constants.py121# Bounds on any separator cascade, wherever it comes from. The recursive splitterCOMMENT
LOWlightrag/constants.py141# CHUNK_SIZE default — heading-aligned paragraph merging needs moreCOMMENT
LOWlightrag/constants.py161# the ingestion path bounds: MAX_UPLOAD_SIZE bounds the compressed artifact onCOMMENT
LOWlightrag/constants.py181# class — so the DOCX_* knobs below bound all three, enforced in the legacyCOMMENT
LOWlightrag/constants.py201# above, these cap the bytes materialized into ``*.blocks.assets``: one imageCOMMENT
LOWlightrag/constants.py221# Overall wall-clock budget for downloading the result bundle from doclingCOMMENT
LOWlightrag/constants.py241# Native docx smart_heading (opt-in engine param) tunables. Each DEFAULT_*COMMENT
LOWlightrag/constants.py261 "年,月,日,时,分,秒,个,人,只,条,次,项,天,号,元,角,件,名,台,种,倍,"COMMENT
LOWlightrag/constants.py281# anchor, which is why there is no longer an IMPRINT_SPACE_PREFIXES knob);COMMENT
LOWlightrag/constants.py301# rich physical outline naturally admits more candidates, so the effectiveCOMMENT
LOWlightrag/constants.py321# CB4 per-sub-document gate: once the whole document clears the gate above,COMMENT
LOWlightrag/constants.py341# paragraphs (0 disables the auxiliary body-run break; the primary closeCOMMENT
LOWlightrag/constants.py361# Marker prefix for full_docs.content when format=lightrag.COMMENT
LOWlightrag/constants.py381# Reserved doc_status.metadata key recording how far this document's KG writeCOMMENT
LOWlightrag/constants.py421)COMMENT
LOWlightrag/constants.py521# Whether a doc_status backend missing a strict capability is a startup failureCOMMENT
LOWlightrag/constants.py541# retries and ``/documents/scan`` bulk enqueues deliberately break through theCOMMENT
422 more matches not shown…
Modern AI Meta-Vocabulary102 hits · 313 pts
SeverityFileLineSnippetContext
MEDIUMREADME-id.md260### Framework RAG Berbasis Graph yang RinganCOMMENT
MEDIUMREADME-ja.md7# 🚀 LightRAG: シンプルかつ高速な検索拡張生成(RAG)COMMENT
MEDIUMREADME-ja.md260### 軽量なグラフベース RAG フレームワークCOMMENT
MEDIUMREADME.md261### A Lightweight, Graph-Based RAG FrameworkCOMMENT
MEDIUMREADME-zh.md7# 🚀 LightRAG: 简单且快速的检索增强生成(RAG)框架COMMENT
MEDIUMreproduce/Step_1_openai_compatible.py77 # Initialize RAG instanceCOMMENT
MEDIUMreproduce/Step_1.py42 # Initialize RAG instanceCOMMENT
MEDIUMlightrag/lightrag.py5012 # `bypass` skips retrieval, so the RAG minimum does not apply to it —COMMENT
MEDIUMlightrag/lightrag.py5135 # `bypass` skips retrieval, so the RAG minimum does not apply to it —COMMENT
MEDIUMlightrag/constants.py41# pushing an otherwise-valid chunk past the provider context window; over budgetCOMMENT
MEDIUMlightrag/constants.py720# over the embedding model's context limit after chunking. Independent fromCOMMENT
MEDIUMlightrag/operate.py323 # embedding model's own context limit — not a real-world budget.COMMENT
MEDIUMlightrag/operate.py4117 # an otherwise-valid chunk past the provider context window. When theCOMMENT
MEDIUM⚡lightrag/pipeline.py2275 # Pipeline orchestrationCOMMENT
MEDIUMlightrag/pipeline.py184# fully event-driven (``await get_document()``) and never polls.COMMENT
MEDIUMlightrag/pipeline.py7245 # absolute legacy RAG-Anything/MinerU path, a ``..`` escape)COMMENT
MEDIUMlightrag/pipeline.py7473 # it for their model's context window.COMMENT
MEDIUM⚡lightrag/tools/download_cache.py158 "text-embedding-ada-002", # Legacy embedding modelCODE
MEDIUM⚡lightrag/tools/download_cache.py159 "text-embedding-3-small", # Small embedding modelCODE
MEDIUM⚡lightrag/tools/download_cache.py160 "text-embedding-3-large", # Large embedding modelCODE
MEDIUMlightrag/tools/source_conflict_repair.py762 # embedding model — full_docs is a plain KV, and reading it is what lets theCOMMENT
MEDIUM⚡lightrag/tools/migrate_graph_storage.py605# Async orchestration — preconditions, write pipeline, compensationCOMMENT
MEDIUMlightrag/llm/gemini.py586 # model that burned the whole output budget on its reasoning trace isCOMMENT
MEDIUMlightrag/llm/gemini.py646 # A thinking model that spent its whole budget on the reasoning traceCOMMENT
MEDIUMlightrag/llm/binding_options.py632 # Whether the model may emit a hidden reasoning trace before its answer.COMMENT
MEDIUMlightrag/llm/ollama.py398 # the reasoning trace). Raise like the OpenAI binding does,COMMENT
MEDIUMlightrag/parser/docx/parse_document.py668 # (guardrails.is_visually_centered).COMMENT
MEDIUMlightrag/parser/docx/parse_document.py1170 # --- smart path (pipeline + landing guardrails) ---------------COMMENT
MEDIUMlightrag/parser/docx/parse_document.py1190 # Landing guardrails: any violation abandons the smart output for THISCOMMENT
MEDIUMlightrag/parser/docx/parse_document.py1244 # three counts come from guardrails.plan_toc_output — the single visibilityCOMMENT
MEDIUMlightrag/parser/docx/smart_heading/features.py341 #: is not visually centered (``guardrails.is_visually_centered``).COMMENT
MEDIUMlightrag/parser/docx/smart_heading/features.py431#: unit :func:`leading_pad_em` reports and ``guardrails.CENTER_MAX_LEADING_PAD_EM``COMMENT
MEDIUM⚡lightrag/parser/docx/smart_heading/heading_flow.py2712# whole-document orchestrationCOMMENT
MEDIUMlightrag/parser/docx/smart_heading/heading_flow.py1844#: - _Medical Graph RAG.docx's author line (96) absorbing its affiliation lineCOMMENT
MEDIUM⚡lightrag/parser/docx/smart_heading/guardrails.py560# Landing guardrails: canonicalization, I1/I2/I3 machine checks, TOCCOMMENT
MEDIUMlightrag/parser/docx/smart_heading/guardrails.py246 # dependency parser hallucinates sentence boundaries mid-word on shortCOMMENT
MEDIUMlightrag/parser/docx/smart_heading/title_block.py1046 # candidate reuses single=True judge semantics (± context window; aCOMMENT
MEDIUMlightrag/kg/mongo_impl.py4510 # built under a *different* embedding model must NOT beCOMMENT
MEDIUM⚡lightrag/kg/postgres_impl.py2314 # with proper embedding model and dimension suffix for data isolationSTRING
MEDIUMlightrag/kg/faiss_impl.py1160 # the `is pdoc` identity check is defensive scaffolding: today theCOMMENT
MEDIUMlightrag/kg/scan_job_store.py227 # Timestamps, version, counters_dropped and the JSON scaffolding.COMMENT
MEDIUMlightrag/api/config.py394 # RAG configurationCOMMENT
MEDIUMlightrag/api/utils_api.py714 # RAG ConfigurationSTRING
MEDIUMlightrag/api/lightrag_server.py737 # embedding model is configured. Without this, the provider's decoratorCOMMENT
MEDIUMlightrag/api/lightrag_server.py1426 # ValueError inside a validator (the RAG query minimum, the non-emptyCOMMENT
MEDIUMlightrag/api/lightrag_server.py1437 # A server with no configured embedding model cannot protect its vectors.COMMENT
MEDIUMlightrag/api/lightrag_server.py2511 # Initialize RAG with unified configurationCOMMENT
MEDIUMlightrag/api/lightrag_server.py3003 # embedding model configuration binding/host address (if applicable)/model (if applicable)COMMENT
MEDIUMlightrag/api/routers/ollama_api.py459 # Direct-LLM path: exempt from the RAG minimum, not fromCOMMENT
MEDIUMlightrag/api/routers/ollama_api.py679 # the RAG branches normalize it themselves.COMMENT
MEDIUMlightrag/api/routers/query_routes.py172 # Mode-independent: `bypass` is exempt from the RAG minimum below, notCOMMENT
MEDIUMlightrag/evaluation/eval_rag_quality.py19 # Specify custom RAG endpointSTRING
MEDIUM⚡lightrag/evaluation/eval_rag_quality.py430 # all RAG responses from being generated at once when eval is slowCOMMENT
MEDIUM⚡lightrag/evaluation/eval_rag_quality.py435 # Stage 1: Generate RAG responseCOMMENT
MEDIUMlightrag/evaluation/eval_rag_quality.py542 # down as if the RAG answer itself were bad.COMMENT
MEDIUMlightrag/evaluation/eval_rag_quality.py589 # Stage 1: RAG generation - allow x2 concurrency to keep evaluation fedCOMMENT
MEDIUMlightrag/evaluation/eval_rag_quality.py615 max_connections=(max_async + 1) * 2, # Allow buffer for RAG stageCODE
MEDIUMlightrag/evaluation/eval_rag_quality.py808 # Every case failed (e.g. an all-NaN RAGAS result, or every RAGCOMMENT
MEDIUMlightrag/evaluation/eval_rag_quality.py996 # Specify custom RAG endpointCOMMENT
MEDIUM…ation/sample_documents/05_evaluation_and_deployment.md1# RAG Evaluation Metrics and DeploymentCOMMENT
42 more matches not shown…
Deep Nesting403 hits · 276 pts
SeverityFileLineSnippetContext
LOWreproduce/Step_0.py7CODE
LOWreproduce/Step_3_openai_compatible.py57CODE
LOWreproduce/Step_3.py26CODE
LOWlightrag/rerank.py36CODE
LOWlightrag/rerank.py165CODE
LOWlightrag/rerank.py240CODE
LOWlightrag/table_markup.py133CODE
LOWlightrag/llm_roles.py309CODE
LOWlightrag/lightrag.py1638CODE
LOWlightrag/lightrag.py2102CODE
LOWlightrag/lightrag.py2163CODE
LOWlightrag/lightrag.py2394CODE
LOWlightrag/lightrag.py3692CODE
LOWlightrag/lightrag.py4340CODE
LOWlightrag/lightrag.py5114CODE
LOWlightrag/lightrag.py6265CODE
LOWlightrag/lightrag.py6727CODE
LOWlightrag/operate.py249CODE
LOWlightrag/operate.py372CODE
LOWlightrag/operate.py1102CODE
LOWlightrag/operate.py1508CODE
LOWlightrag/operate.py1755CODE
LOWlightrag/operate.py2027CODE
LOWlightrag/operate.py2429CODE
LOWlightrag/operate.py2782CODE
LOWlightrag/operate.py3514CODE
LOWlightrag/operate.py3942CODE
LOWlightrag/operate.py5051CODE
LOWlightrag/operate.py5280CODE
LOWlightrag/operate.py6350CODE
LOWlightrag/operate.py6621CODE
LOWlightrag/operate.py4094CODE
LOWlightrag/utils.py156CODE
LOWlightrag/utils.py1193CODE
LOWlightrag/utils.py4265CODE
LOWlightrag/utils.py4581CODE
LOWlightrag/utils.py4707CODE
LOWlightrag/utils.py5515CODE
LOWlightrag/utils.py6458CODE
LOWlightrag/utils.py6486CODE
LOWlightrag/utils.py6724CODE
LOWlightrag/utils.py6924CODE
LOWlightrag/utils.py7055CODE
LOWlightrag/utils.py7183CODE
LOWlightrag/utils.py7562CODE
LOWlightrag/utils.py1240CODE
LOWlightrag/utils.py3707CODE
LOWlightrag/utils.py3832CODE
LOWlightrag/utils.py3917CODE
LOWlightrag/utils.py1451CODE
LOWlightrag/utils.py1550CODE
LOWlightrag/utils.py1655CODE
LOWlightrag/utils.py1813CODE
LOWlightrag/utils.py1912CODE
LOWlightrag/pipeline.py740CODE
LOWlightrag/pipeline.py1724CODE
LOWlightrag/pipeline.py2507CODE
LOWlightrag/pipeline.py2913CODE
LOWlightrag/pipeline.py3924CODE
LOWlightrag/pipeline.py4409CODE
343 more matches not shown…
Docstring Block Structure50 hits · 250 pts
SeverityFileLineSnippetContext
HIGHlightrag/lightrag.py572Drive an async coroutine to completion from a synchronous wrapper. The synchronous wrappers (``insert``, ``query``,STRING
HIGHlightrag/utils.py2438 Execute function with enhanced priority-based concurrency control and timeout handling Args: STRING
HIGHlightrag/utils.py7878Validate a workspace name used to build per-workspace directories. File-based storages place their data in a subdirSTRING
HIGHlightrag/utils.py8179Reject a node/edge attribute mapping no graph backend could store. Args: attributes: Attribute mapping abouSTRING
HIGHlightrag/utils.py8201Reject attribute names a backend would read as something other than a name. The *interpretation* rule, not the seriSTRING
HIGHlightrag/utils.py8251Reject attribute names or values XML cannot encode. For a GraphML-backed store. Names are checked as well as valuesSTRING
HIGHlightrag/utils.py8278Reject attribute values no graph backend can store. See ``graph_attribute_value_rejection`` for the rules and `STRING
HIGHlightrag/pipeline.py753 Pipeline for Processing Documents 1. Validate ids if provided or generate MD5 hash IDs and remove duplSTRING
HIGHlightrag/utils_graph.py65Return *data* reduced to well-typed, storable graph attributes. Two call shapes, because the two families of callerSTRING
HIGHlightrag/tools/clean_llm_query_cache.py252Initialize storage instance with fallback to config.ini and defaults Args: storage_name: Storage imSTRING
HIGHlightrag/tools/migrate_llm_cache.py289Initialize storage instance with fallback to config.ini and defaults Args: storage_name: Storage imSTRING
HIGHlightrag/llm/jina.py85Generate embeddings for a list of texts using Jina AI's API. Args: texts: List of texts to embed. mSTRING
HIGHlightrag/llm/voyageai.py64Generate embeddings for a list of texts using VoyageAI's API. Args: texts: List of texts to embed. STRING
HIGHlightrag/llm/gemini.py331 Complete a prompt using Gemini's API with Chain of Thought (COT) support. This function supports automatic intSTRING
HIGHlightrag/llm/gemini.py742Generate embeddings for a list of texts using Gemini's API. This function uses Google's Gemini embedding model to gSTRING
HIGHlightrag/llm/openai.py323Complete a prompt using OpenAI's API with caching support and Chain of Thought (COT) integration. This function supSTRING
HIGHlightrag/llm/openai.py1070Generate embeddings for a list of texts using OpenAI's API with automatic text truncation. This function supports bSTRING
HIGHlightrag/parser/docx/utils.py96 Create Gemini client for AI Studio or Vertex AI. Supports two modes: - AI Studio (default): Uses GOOGLE_APSTRING
HIGHlightrag/parser/docx/utils.py173 Create OpenAI client with optional custom base URL. Environment variables: - OPENAI_API_KEY: Required API STRING
HIGHlightrag/parser/docx/table_extractor.py250 Extract table to 2D string array with metadata (paraIds, header info). Vertical merge behavior: STRING
HIGHlightrag/kg/postgres_impl.py790 Execute a database operation with automatic retry for transient failures. Args: operation:STRING
HIGHlightrag/kg/memgraph_impl.py135 Check if a node exists in the graph. Args: node_id: The ID of the node to check. STRING
HIGHlightrag/kg/memgraph_impl.py175 Check if an edge exists between two nodes in the graph. Args: source_node_id: The ID of thSTRING
HIGHlightrag/kg/memgraph_impl.py223Get node by its label identifier, return only node properties Args: node_id: The node label to lookSTRING
HIGHlightrag/kg/memgraph_impl.py278Get the degree (number of relationships) of a node with the given label. If multiple nodes have the same label, STRING
HIGHlightrag/kg/memgraph_impl.py396Retrieves all edges (relationships) for a particular node identified by its label. Args: source_nodSTRING
HIGHlightrag/kg/memgraph_impl.py471Get edge properties between two nodes. Args: source_node_id: Label of the source node tSTRING
HIGHlightrag/kg/neo4j_impl.py487 Check if a node with the given label exists in the database Args: node_id: Label of the noSTRING
HIGHlightrag/kg/neo4j_impl.py521 Check if an edge exists between two nodes Args: source_node_id: Label of the source node STRING
HIGHlightrag/kg/neo4j_impl.py563Get node by its label identifier, return only node properties Args: node_id: The node label to lookSTRING
HIGHlightrag/kg/neo4j_impl.py654Get the degree (number of relationships) of a node with the given label. If multiple nodes have the same label, STRING
HIGHlightrag/kg/neo4j_impl.py791Get edge properties between two nodes. Args: source_node_id: Label of the source node tSTRING
HIGHlightrag/kg/neo4j_impl.py925Retrieves all edges (relationships) for a particular node identified by its label. Args: source_nodSTRING
HIGHlightrag/api/auth.py186 Validate JWT token Args: token: JWT token Returns: dict: Dictionary cSTRING
HIGHlightrag/api/routers/graph_routes.py881 Delete an entity and all its relationships from the knowledge graph. Args: request (DeleteSTRING
HIGHlightrag/api/routers/graph_routes.py923 Delete a relationship between two entities from the knowledge graph. Args: request (DeleteSTRING
HIGHlightrag/api/routers/query_routes.py519 Comprehensive RAG query endpoint with non-streaming response. Parameter "stream" is ignored. **Query MSTRING
HIGHlightrag/api/routers/query_routes.py838 Advanced RAG query endpoint with flexible streaming response. This endpoint provides the most flexibleSTRING
HIGHlightrag/api/routers/query_routes.py1424 Advanced data retrieval endpoint for structured RAG analysis. This endpoint provides raw retrieval resSTRING
HIGHlightrag/api/routers/document_routes.py266 Validate an uploaded filename and return it unchanged when safe. Uploaded filenames are document identifiers aSTRING
HIGHlightrag/api/routers/document_routes.py5232 Upload a file to the input directory and index it. This API endpoint accepts a file through an HTTP POSTRING
HIGHlightrag/api/routers/document_routes.py5568 Insert text into the RAG system. This endpoint allows you to insert text data into the RAG system for STRING
HIGHlightrag/api/routers/document_routes.py5700 Insert multiple texts into the RAG system. This endpoint allows you to insert multiple text entries inSTRING
HIGHlightrag/api/routers/document_routes.py6507 Delete documents and all their associated data by their IDs using background processing. Deletes speciSTRING
HIGHlightrag/api/routers/document_routes.py6630 Get the processing status of documents by tracking ID. This endpoint retrieves all documents associateSTRING
HIGHlightrag/api/routers/document_routes.py6706 Get documents with pagination support. This endpoint retrieves documents with pagination, filtering, aSTRING
HIGHlightrag/evaluation/eval_rag_quality.py306 Generate RAG response by calling LightRAG API. Args: question: The user query. STRING
HIGHlightrag/chunker/paragraph_semantic.py2069Paragraph Semantic Chunking — the ``chunking="P"`` strategy. Reads structured blocks from a ``.blocks.jsonl`` sidecSTRING
HIGHlightrag/chunker/recursive_character.py444Recursive character splitter — the ``"R"`` chunking strategy. Args: tokenizer: LightRAG tokenizer; used as STRING
HIGHtests/api/test_lightrag_ollama_chat.py147Send an HTTP request with retry mechanism Args: url: Request URL data: Request data stream: STRING
Magic Placeholder Names37 hits · 195 pts
SeverityFileLineSnippetContext
HIGHtests/setup/test_misc.py297 "LLM_BINDING_API_KEY=your_api_key",STRING
HIGHtests/setup/test_misc.py302 "EMBEDDING_BINDING_API_KEY=your_api_key",STRING
HIGHdocs/LightRAG-API-Server.md149LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server.md155# EMBEDDING_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server.md166# LLM_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server.md174# EMBEDDING_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server.md311LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server.md322EMBEDDING_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server.md833LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server.md1132LLM_BINDING_API_KEY=your-api-keyCODE
HIGHdocs/ParserServiceDeployment.md48 "api_key": "your_api_key",CODE
HIGHdocs/ProgramingWithCore.md1233export OPENAI_API_KEY=your-api-keyCODE
HIGHdocs/ProgramingWithCore.md1247OPENAI_API_KEY=your-api-key \CODE
HIGHdocs/ParserServiceDeployment-zh.md48 "api_key": "your_api_key",CODE
HIGHdocs/RoleSpecificLLMConfiguration-zh.md26LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration-zh.md132LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration-zh.md213LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration-zh.md230LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration-zh.md343LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server-zh.md149LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server-zh.md155# EMBEDDING_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server-zh.md166# LLM_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server-zh.md174# EMBEDDING_BINDING_API_KEY=your_api_keyCOMMENT
HIGHdocs/LightRAG-API-Server-zh.md311LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server-zh.md322EMBEDDING_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server-zh.md833LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/LightRAG-API-Server-zh.md1132LLM_BINDING_API_KEY=your-api-keyCODE
HIGHdocs/RoleSpecificLLMConfiguration.md26LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration.md132LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration.md213LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration.md230LLM_BINDING_API_KEY=your_api_keyCODE
HIGHdocs/RoleSpecificLLMConfiguration.md343LLM_BINDING_API_KEY=your_api_keyCODE
HIGHexamples/lightrag_gemini_postgres_demo.py28 GEMINI_API_KEY=your-api-keySTRING
HIGH⚡examples/lightrag_gemini_demo.py37 "Please set it with: export GEMINI_API_KEY='your-api-key'"CODE
HIGHexamples/lightrag_openai_opensearch_graph_demo.py23 OPENAI_API_KEY=your-api-keySTRING
HIGH…s/unofficial-sample/lightrag_llamaindex_direct_demo.py29OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "your-api-key-here")CODE
HIGH⚡examples/unofficial-sample/lightrag_cloudflare_demo.py20cloudflare_api_key = "YOUR_API_KEY"CODE
Redundant / Tautological Comments136 hits · 185 pts
SeverityFileLineSnippetContext
LOWdocker-build-push.sh38# Check if buildx builder exists, create if notCOMMENT
LOWlightrag/lightrag.py5223 # Check if query_result is NoneCOMMENT
LOWlightrag/operate.py3079 # Check if this is a placeholder recordCOMMENT
LOWlightrag/operate.py3999 # Check if JSON structured output mode is enabledCOMMENT
LOWlightrag/operate.py4581 # Check if any task raised an exception and ensure all exceptions are retrieved.COMMENT
LOWlightrag/operate.py4996 # Check if pre-defined keywords are already providedCOMMENT
LOWlightrag/operate.py6714 # Check if any relations still have chunks after deduplicationCOMMENT
LOWlightrag/utils.py311 # Check if the resolved path is within the base directoryCOMMENT
LOWlightrag/utils.py520 # Check if record has the required attributes for an access logCOMMENT
LOWlightrag/utils.py721 # Check if func is already an EmbeddingFunc instance and unwrap itCOMMENT
LOWlightrag/utils.py778 # Check if user provided embedding_dim parameterCOMMENT
LOWlightrag/utils.py802 # Check if underlying function supports max_token_size and inject if not providedCOMMENT
LOWlightrag/utils.py1580 # Check if task was cancelled before worker startedCOMMENT
LOWlightrag/utils.py4515 # Check if we already have identical content cachedCOMMENT
LOWlightrag/utils.py6709 # Check if there are still unused chunksCOMMENT
LOWlightrag/utils.py6981 # Check if results are in the new index-based formatCOMMENT
LOWlightrag/pipeline.py2975 # Check if corresponding content exists in full_docs. Strict whereCOMMENT
LOWlightrag/pipeline.py2984 # Check if this is a failed document that should be preservedCOMMENT
LOWlightrag/storage_migrations.py35 # Check if migration is needed:COMMENT
LOWlightrag/storage_migrations.py55 # Check if full_entities and full_relations are emptyCOMMENT
LOWlightrag/utils_graph.py619 # Check if the entity existsCOMMENT
LOWlightrag/utils_graph.py819 # Check if the relation existsCOMMENT
LOWlightrag/utils_graph.py2007 # Check if storage has existing dataCOMMENT
LOWlightrag/utils_graph.py2375 # Check if the normalized entity already exists.COMMENT
LOWlightrag/utils_graph.py2560 # Check if both entities existCOMMENT
LOWlightrag/utils_graph.py2569 # Check if relation already existsCOMMENT
LOWlightrag/base.py368 # Check if model_name exists (model_name is optional in EmbeddingFunc)COMMENT
LOWlightrag/tools/clean_llm_query_cache.py207 # Check if config.ini has configurationCOMMENT
LOWlightrag/tools/clean_llm_query_cache.py971 # Check if choice is validCOMMENT
LOWlightrag/tools/clean_llm_query_cache.py1069 # Check if user cancelledCOMMENT
LOWlightrag/tools/clean_llm_query_cache.py1131 # Check if there are any records to deleteCOMMENT
LOWlightrag/tools/download_cache.py131 # Check if TIKTOKEN_CACHE_DIR is already set in environmentCOMMENT
LOWlightrag/tools/check_initialization.py101 # Print resultsCOMMENT
LOW⚡lightrag/tools/migrate_llm_cache.py237 # Check if storage requires configurationCOMMENT
LOW⚡lightrag/tools/migrate_llm_cache.py244 # Check if has environment variablesCOMMENT
LOW⚡lightrag/tools/migrate_llm_cache.py249 # Check if has config.ini configurationCOMMENT
LOWlightrag/tools/migrate_llm_cache.py216 # Check if config.ini has configurationCOMMENT
LOWlightrag/tools/migrate_llm_cache.py1068 # Check if choice is validCOMMENT
LOWlightrag/tools/migrate_llm_cache.py1438 # Check if user cancelled (setup_storage returns None for all fields)COMMENT
LOWlightrag/tools/migrate_llm_cache.py1442 # Check if there are at least 2 storage types availableCOMMENT
LOWlightrag/llm/jina.py28 # Check if the error response is HTML (common for 502, 503, etc.)COMMENT
LOWlightrag/llm/gemini.py284 # Check if this part is thought content using the 'thought' attributeCOMMENT
LOWlightrag/llm/binding_options.py296 # Check if this is a dataclass and use dataclass fieldsCOMMENT
LOW⚡lightrag/llm/openai.py589 # Check if this chunk has usage information (final chunk)COMMENT
LOW⚡lightrag/llm/openai.py596 # Check if choices exists and is not emptyCOMMENT
LOW⚡lightrag/llm/openai.py604 # Check if delta existsCOMMENT
LOWlightrag/llm/openai.py53 # Check if required Langfuse environment variables are setCOMMENT
LOWlightrag/llm/openai.py820 # Check if we should include reasoning contentCOMMENT
LOWlightrag/parser/docx/utils.py373 # Check if it mentions billing which indicates permanent quota issueCOMMENT
LOWlightrag/kg/qdrant_impl.py369 # Check if legacy collection has workspace_id to determine migration strategyCOMMENT
LOWlightrag/kg/qdrant_impl.py480 # Check if we've reached the endCOMMENT
LOW⚡lightrag/kg/networkx_impl.py1197 # Add neighbors to the queue with their degreesCOMMENT
LOW⚡lightrag/kg/networkx_impl.py1202 # Check if there are unexplored neighbors (skipped due to depth limit)COMMENT
LOW⚡lightrag/kg/networkx_impl.py1210 # Check if we've reached max_nodesCOMMENT
LOW⚡lightrag/kg/networkx_impl.py1219 # Check if graph is truncated - either due to max_nodes limit or depth limitCOMMENT
LOWlightrag/kg/networkx_impl.py1135 # Check if graph is truncatedCOMMENT
LOWlightrag/kg/networkx_impl.py1146 # Check if node existsCOMMENT
LOW⚡lightrag/kg/mongo_impl.py4075 # Check if we're using MongoDB Atlas (has search index capabilities)COMMENT
LOW⚡lightrag/kg/mongo_impl.py4079 # Check if we need to rebuild the indexCOMMENT
LOW⚡lightrag/kg/mongo_impl.py4085 # Check if index exists and drop itCOMMENT
76 more matches not shown…
Self-Referential Comments46 hits · 136 pts
SeverityFileLineSnippetContext
MEDIUMreproduce/Step_1_openai_compatible.py77 # Initialize RAG instanceCOMMENT
MEDIUMreproduce/Step_1.py42 # Initialize RAG instanceCOMMENT
MEDIUM⚡lightrag/lightrag.py1789 # Create a NEW EmbeddingFunc instance with the wrapped func to avoid mutating the caller's objectCOMMENT
MEDIUMlightrag/lightrag.py5020 # Create a copy of param to avoid modifying the originalCOMMENT
MEDIUMlightrag/operate.py6935 # Create a preliminary system prompt with empty content_data to calculate overhead.COMMENT
MEDIUMlightrag/utils.py7764 # Create a list of (file_path, count, first_index) tuplesCOMMENT
MEDIUMlightrag/pipeline.py1431 # Create a new record with unique ID for this duplicate attemptCOMMENT
MEDIUMlightrag/tools/migrate_llm_cache.py716 # Create a snapshot of matching items while holding the lockCOMMENT
MEDIUMlightrag/llm/openai.py229 # Create a merged config dict with precedence: explicit params > client_configsCOMMENT
MEDIUMlightrag/llm/openai.py263 # Create a merged config dict with precedence: explicit params > client_configs > defaultsCOMMENT
MEDIUMlightrag/llm/openai.py443 # Create the OpenAI client (supports both OpenAI and Azure)COMMENT
MEDIUMlightrag/llm/openai.py1166 # Create the OpenAI client (supports both OpenAI and Azure)COMMENT
MEDIUMlightrag/llm/bedrock.py348 # Create a session that will be used throughout the streaming processCOMMENT
MEDIUMlightrag/llm/bedrock.py359 # Define the generator function that will manage the client lifecycleCOMMENT
MEDIUM⚡lightrag/kg/mongo_impl.py4090 # Create the improved search index (async, no waiting)COMMENT
MEDIUMlightrag/kg/mongo_impl.py534 # Create a copy of v for $set operation, excluding create_time to avoid conflictsCOMMENT
MEDIUMlightrag/kg/mongo_impl.py4664 # Define the aggregation pipeline with the converted query vectorCOMMENT
MEDIUMlightrag/kg/postgres_impl.py2171 # Define the field changes neededCOMMENT
MEDIUMlightrag/kg/faiss_impl.py159 # Create an empty Faiss index for inner product (useful for normalized vectors = cosine similarity).COMMENT
MEDIUMlightrag/kg/shared_storage.py63# Define a direct print function for critical logs that must be visible in all processesCOMMENT
MEDIUMlightrag/kg/shared_storage.py1672 # Create a shared list object for history_messagesCOMMENT
MEDIUMlightrag/kg/shared_storage.py3725 # Create a simple mutable object to store boolean value for compatibility with mutiprocessCOMMENT
MEDIUMlightrag/api/run_with_gunicorn.py147 # Define a custom application class that loads our configCOMMENT
MEDIUMlightrag/api/run_with_gunicorn.py277 # Create the applicationCOMMENT
MEDIUMlightrag/api/lightrag_server.py1047 # Create the EmbeddingFunc instance (now returns complete EmbeddingFunc with max_token_size)COMMENT
MEDIUMlightrag/api/routers/ollama_api.py240 # Create an instance of the modelCOMMENT
MEDIUMlightrag/api/routers/query_routes.py623 # Create a mapping from reference_id to chunk contentCOMMENT
MEDIUMlightrag/api/routers/document_routes.py4730 # Create the bounded job record BEFORE publishing the manual intentCOMMENT
MEDIUMtests/kg/test_graph_storage.py152 # Initialize the storage instanceCOMMENT
MEDIUMtests/kg/postgres_impl/test_postgres_index_name.py84 # Create a table name that results in exactly 63 bytesCOMMENT
MEDIUMtests/chunker/test_rerank_chunking.py90 # Create a very long document that exceeds character limitCOMMENT
MEDIUMexamples/graph_visual_with_html.py15# Create a Pyvis networkCOMMENT
MEDIUMexamples/lightrag_openai_compatible_demo.py150 # Initialize RAG instanceCOMMENT
MEDIUMexamples/lightrag_openai_mongodb_graph_demo.py72 # Initialize RAG instanceCOMMENT
MEDIUMexamples/lightrag_openai_demo.py119 # Initialize RAG instanceCOMMENT
MEDIUMexamples/lightrag_ollama_demo.py139 # Initialize RAG instanceCOMMENT
MEDIUMexamples/graph_visual_with_neo4j.py159 # Create a Neo4j driverSTRING
MEDIUM…mples/unofficial-sample/lightrag_embedding_prefixes.py156 # Initialize RAG instanceCOMMENT
MEDIUM…/unofficial-sample/lightrag_llamaindex_litellm_demo.py103 # Initialize RAG instanceCOMMENT
MEDIUM…cial-sample/lightrag_openai_neo4j_milvus_redis_demo.py73 # Initialize RAG instanceCOMMENT
MEDIUM…s/unofficial-sample/lightrag_llamaindex_direct_demo.py101 # Initialize RAG instanceCOMMENT
MEDIUM…ficial-sample/lightrag_llamaindex_litellm_opik_demo.py114 # Initialize RAG instanceCOMMENT
MEDIUMexamples/unofficial-sample/lightrag_cloudflare_demo.py251 # Initialize RAG instanceCOMMENT
MEDIUMexamples/unofficial-sample/lightrag_lmdeploy_demo.py69 # Initialize RAG instanceCOMMENT
MEDIUMexamples/unofficial-sample/lightrag_nvidia_demo.py123 # Initialize RAG instanceCOMMENT
MEDIUMscripts/setup/apple-container.sh272 # This file is a copy of the user's .env (real API keys) — keep it private.COMMENT
Cross-Language Confusion24 hits · 124 pts
SeverityFileLineSnippetContext
HIGHlightrag/utils.py7371 ``{"chunk_ids": null}``), which mean UNKNOWN. Only in the UNKNOWN case may aSTRING
HIGHlightrag/utils.py8141 ``SET n += {k: null}`` silently *deletes* the property.STRING
HIGHlightrag/parser/docx/parser.py149 # ``positions: [{"type": "paraid", "range": null}]``.COMMENT
HIGHlightrag/parser/docx/smart_heading/title_block.py1129- If false: set all six text fields to null, and classify EVERY index — {indices} — into exactly one of "headings" (a reCODE
HIGHlightrag/parser/docx/smart_heading/title_block.py1132{{"is_title_block": true|false, "main_title": string|null, "sub_title": string|null, "doc_number": string|null, "classifCODE
HIGHlightrag/kg/pgtable_impl.py753 properties = lightrag_graph_nodes.properties || EXCLUDED.properties,CODE
HIGHlightrag/kg/pgtable_impl.py1573 properties = lightrag_graph_nodes.properties || EXCLUDED.properties,CODE
HIGHlightrag/kg/mongo_impl.py1394 # every doc with a real (non-null, existing) value.COMMENT
HIGHlightrag/kg/postgres_impl.py7236 " $1::text || E'\\x01' ||"CODE
HIGHlightrag/kg/postgres_impl.py5996 CURRENT_TIMESTAMP) sort FIRST and encode as ``[null, id]`` so theSTRING
HIGHlightrag/api/lightrag_server.py148 if (!data || data.type !== 'lightrag:set-docs-theme') return;CODE
HIGHlightrag/api/routers/graph_routes.py427 "merge_error": null,STRING
HIGHlightrag/api/routers/graph_routes.py429 "target_entity": null,STRING
HIGHlightrag/api/routers/graph_routes.py455 "merge_error": null,STRING
HIGH⚡…kg/redis_impl/test_redis_kv_create_time_integration.py356# pattern must REFUSE (tail position, float, null, quoted) plus non-JSON.COMMENT
HIGH⚡…kg/redis_impl/test_redis_kv_create_time_integration.py364 '{"create_time": null}',CODE
HIGH⚡tests/kg/postgres_impl/test_pg_scheduling_pages.py199 the cursor encodes [null, id] instead of failing closed — a row-valueSTRING
HIGH…sts/kg/postgres_impl/test_postgres_cypher_injection.py202 "formula": "x < 5 && y > 3",CODE
HIGH…sts/kg/postgres_impl/test_postgres_cypher_injection.py213 assert '`formula`: "x < 5 && y > 3"' in call["sql"]CODE
HIGH…s/kg/postgres_impl/test_postgres_upsert_edge_cypher.py183 assert "$1::text || E'\\x01' ||" in lock_sqlCODE
HIGHtests/kg/neo4j_impl/test_search_labels_sanitize.py34 ("foo && bar", "foo bar"),CODE
HIGH⚡tests/kg/pgtable_impl/test_pgtable_graph_storage.py350 assert "lightrag_graph_nodes.properties || EXCLUDED.properties" in sqlCODE
HIGH⚡tests/kg/pgtable_impl/test_pgtable_graph_storage.py366 assert "lightrag_graph_nodes.properties || EXCLUDED.properties" in sqlCODE
HIGH⚡tests/api/test_webui_title_injection.py129 # null, not "": the client tests one falsy value, and the guard in theCOMMENT
Fake / Example Data77 hits · 76 pts
SeverityFileLineSnippetContext
LOWlightrag/api/routers/document_routes.py1151 "metadata": {"author": "John Doe", "year": 2025},CODE
LOWlightrag/api/routers/document_routes.py1190 "metadata": {"author": "John Doe", "year": 2025},CODE
LOWlightrag/api/routers/document_routes.py1308 "metadata": {"author": "John Doe", "year": 2025},CODE
LOWtests/setup/test_collect.py860prompt_secret_until_valid_with_default() {{ printf 'fake-key'; }}CODE
LOWtests/parser/docx/test_smart_heading_flow.py3778 logs = [m for m in _log_messages(caplog) if "placeholder" in m]CODE
LOWtests/kg/json_impl/test_write_json_optimization.py30 "name": "John Doe",CODE
LOW⚡tests/api/config/test_api_config_vlm_enable.py76 monkeypatch.setenv("VLM_LLM_BINDING_API_KEY", "placeholder")CODE
LOW⚡tests/api/routes/test_description_api_validation.py229 ["entity", "Alice", "Acme Corp", "founded", "Alice founded Acme Corp."],CODE
LOWtests/api/routes/test_description_api_validation.py241 assert relation["tgt_id"] == "Acme Corp"CODE
LOWtests/api/routes/test_description_api_validation.py262 ["entity", "Alice", "Acme Corp", "founded", " "],CODE
LOWtests/api/routes/test_description_api_validation.py277 ["edge", "Alice", "Acme Corp", "founded", "Alice founded Acme Corp."],CODE
LOWtests/extraction/test_relation_evidence_floor_repair.py265@pytest.mark.parametrize("placeholder", sorted(RELATION_NO_EVIDENCE_SOURCE_IDS))CODE
LOWtests/extraction/test_relation_evidence_floor_repair.py327@pytest.mark.parametrize("placeholder", sorted(RELATION_NO_EVIDENCE_SOURCE_IDS))CODE
LOW⚡tests/extraction/test_entity_extraction_stability.py510 assert set(nodes) == {"Alice", "Acme Corp"}CODE
LOW⚡tests/extraction/test_entity_extraction_stability.py511 assert ("Alice", "Acme Corp") in edgesCODE
LOW⚡tests/extraction/test_entity_extraction_stability.py702 assert set(entities.keys()) == {"Alice", "Acme Corp"}CODE
LOW⚡tests/extraction/test_entity_extraction_stability.py706 assert relation_data["tgt_id"] == "Acme Corp"CODE
LOWtests/extraction/test_entity_extraction_stability.py185 "name": "Acme Corp",CODE
LOWtests/extraction/test_entity_extraction_stability.py193 "target": "Acme Corp",CODE
LOWtests/extraction/test_entity_extraction_stability.py660 assert next(iter(relationships.keys())) == ("Alice", "Acme Corp")CODE
LOWtests/extraction/test_entity_extraction_stability.py683 assert relation_data["tgt_id"] == "Acme Corp"CODE
LOWlightrag_webui/src/locales/zh.json397 "placeholder": "页面内搜索节点...",CODE
LOWlightrag_webui/src/locales/zh.json404 "placeholder": "搜索节点名称...",CODE
LOWlightrag_webui/src/locales/zh.json444 "placeholder": "输入查询内容 (支持模式前缀: /<Query Mode>)",CODE
LOWlightrag_webui/src/locales/zh.json509 "placeholder": "请输入 API Key",CODE
LOWlightrag_webui/src/locales/ja.json397 "placeholder": "ページ内のノードを検索...",CODE
LOWlightrag_webui/src/locales/ja.json404 "placeholder": "ノード名を検索...",CODE
LOWlightrag_webui/src/locales/ja.json444 "placeholder": "クエリを入力(プレフィックス対応: /<クエリモード>)",CODE
LOWlightrag_webui/src/locales/ja.json509 "placeholder": "APIキーを入力",CODE
LOWlightrag_webui/src/locales/de.json397 "placeholder": "Knoten auf der Seite suchen...",CODE
LOWlightrag_webui/src/locales/de.json404 "placeholder": "Knotenname suchen...",CODE
LOWlightrag_webui/src/locales/de.json444 "placeholder": "Geben Sie Ihre Abfrage ein (Präfix unterstützt: /<Abfragemodus>)",CODE
LOWlightrag_webui/src/locales/de.json509 "placeholder": "API-Schlüssel eingeben",CODE
LOWlightrag_webui/src/locales/ru.json397 "placeholder": "Поиск узлов на странице...",CODE
LOWlightrag_webui/src/locales/ru.json404 "placeholder": "Поиск имени узла...",CODE
LOWlightrag_webui/src/locales/ru.json444 "placeholder": "Введите ваш запрос (Поддержка префикса: /<Режим запроса>)",CODE
LOWlightrag_webui/src/locales/ru.json509 "placeholder": "Введите ваш API ключ",CODE
LOWlightrag_webui/src/locales/uk.json397 "placeholder": "Шукати вузли на сторінці...",CODE
LOWlightrag_webui/src/locales/uk.json404 "placeholder": "Шукати ім'я вузла...",CODE
LOWlightrag_webui/src/locales/uk.json444 "placeholder": "Введіть ваш запит (Підтримка префіксу: /<Режим запиту>)",CODE
LOWlightrag_webui/src/locales/uk.json509 "placeholder": "Введіть ваш API ключ",CODE
LOWlightrag_webui/src/locales/en.json397 "placeholder": "Search nodes in page...",CODE
LOWlightrag_webui/src/locales/en.json404 "placeholder": "Search node name...",CODE
LOWlightrag_webui/src/locales/en.json444 "placeholder": "Enter your query (Support prefix: /<Query Mode>)",CODE
LOWlightrag_webui/src/locales/en.json509 "placeholder": "Enter your API key",CODE
LOWlightrag_webui/src/locales/fr.json397 "placeholder": "Rechercher des nœuds dans la page...",CODE
LOWlightrag_webui/src/locales/fr.json404 "placeholder": "Rechercher le nom du nœud...",CODE
LOWlightrag_webui/src/locales/fr.json444 "placeholder": "Tapez votre requête (Préfixe de requête : /<Query Mode>)",CODE
LOWlightrag_webui/src/locales/fr.json509 "placeholder": "Entrez votre clé API",CODE
LOWlightrag_webui/src/locales/ko.json397 "placeholder": "페이지 내 노드 검색...",CODE
LOWlightrag_webui/src/locales/ko.json404 "placeholder": "노드 이름 검색...",CODE
LOWlightrag_webui/src/locales/ko.json444 "placeholder": "질문을 입력하세요 (접두사 지원: /<쿼리 모드>)",CODE
LOWlightrag_webui/src/locales/ko.json509 "placeholder": "API 키 입력",CODE
LOWlightrag_webui/src/locales/vi.json397 "placeholder": "Tìm kiếm nút trong trang...",CODE
LOWlightrag_webui/src/locales/vi.json404 "placeholder": "Tìm kiếm tên nút...",CODE
LOWlightrag_webui/src/locales/vi.json444 "placeholder": "Nhập truy vấn của bạn (Hỗ trợ tiền tố: /<Chế Độ Truy Vấn>)",CODE
LOWlightrag_webui/src/locales/vi.json509 "placeholder": "Nhập khóa API của bạn",CODE
LOWlightrag_webui/src/locales/id.json397 "placeholder": "Cari node di halaman...",CODE
LOWlightrag_webui/src/locales/id.json404 "placeholder": "Cari nama node...",CODE
LOWlightrag_webui/src/locales/id.json444 "placeholder": "Masukkan query Anda (mendukung prefix: /<Query Mode>)",CODE
17 more matches not shown…
Structural Annotation Overuse31 hits · 48 pts
SeverityFileLineSnippetContext
LOW⚡lightrag/lightrag.py1788 # Step 2: Apply priority wrapper decorator to EmbeddingFunc's inner funcCOMMENT
LOWlightrag/lightrag.py1770 # Step 1: Capture embedding_func and max_token_size before applying rate_limit decoratorCOMMENT
LOW⚡lightrag/operate.py6503 # Step 5: Batch retrieve chunk dataCOMMENT
LOW⚡lightrag/operate.py6509 # Step 6: Build result chunks with valid data and update chunk trackingCOMMENT
LOW⚡lightrag/operate.py6800 # Step 5: Batch retrieve chunk dataCOMMENT
LOW⚡lightrag/operate.py6806 # Step 6: Build result chunks with valid data and update chunk trackingCOMMENT
LOWlightrag/operate.py6372 # Step 1: Collect all text chunks for each entityCOMMENT
LOWlightrag/operate.py6399 # Step 2: Count chunk occurrences and deduplicate (keep chunks from earlier positioned entities)COMMENT
LOWlightrag/operate.py6434 # Step 3: Sort chunks for each entity by occurrence count (higher count = higher priority)COMMENT
LOWlightrag/operate.py6447 # Step 4: Apply the selected chunk selection algorithmCOMMENT
LOWlightrag/operate.py6643 # Step 1: Collect all text chunks for each relationshipCOMMENT
LOWlightrag/operate.py6678 # Step 2: Count chunk occurrences and deduplicate (keep chunks from earlier positioned relationships)COMMENT
LOWlightrag/operate.py6727 # Step 3: Sort chunks for each relationship by occurrence count (higher count = higher priority)COMMENT
LOWlightrag/operate.py6742 # Step 4: Apply the selected chunk selection algorithmCOMMENT
LOW⚡lightrag/utils.py7329 # Step 1: Remove chunks that are no longer neededCOMMENT
LOW⚡lightrag/utils.py7335 # Step 2: Append genuine additions only (preserving order from new_chunk_ids).COMMENT
LOW⚡lightrag/api/lightrag_server.py810 # Step 3: Create optimized embedding function (calls underlying function directly)COMMENT
LOWlightrag/api/lightrag_server.py683 # Step 1: Import provider function and extract default attributesCOMMENT
LOWlightrag/api/lightrag_server.py790 # Step 2: Apply priority (user config > provider default)COMMENT
LOWlightrag/api/lightrag_server.py1006 # Step 4: Wrap in EmbeddingFunc and returnCOMMENT
LOWlightrag/chunker/paragraph_semantic.py1351 # Step 1: expand each oversized table paragraph into row-boundedCOMMENT
LOWlightrag/chunker/paragraph_semantic.py1375 # Step 2: greedy-pack pieces into chunks ≤ target_max. A pieceCOMMENT
LOWtests/kg/postgres_impl/test_postgres_migration.py662 # Step 1: Simulate workspace_a initialization (Case 3 - only legacy exists)COMMENT
LOWtests/kg/postgres_impl/test_postgres_migration.py760 # Step 2: Simulate workspace_b initialization (Case 3 - both exist, but legacy has B's data)COMMENT
LOWdocs/OfflineDeployment.md212### Step 1: Prepare in Online EnvironmentCOMMENT
LOWdocs/OfflineDeployment.md231### Step 2: Transfer to Offline EnvironmentCOMMENT
LOWdocs/OfflineDeployment.md241### Step 3: Install in Offline EnvironmentCOMMENT
LOWdocs/OfflineDeployment.md262### Step 4: Verify InstallationCOMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py267 # Step 1: Set up LightRAG (async, runs on the background loop)COMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py270 # Step 2: Create AG2 agents with LightRAG toolsCOMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py273 # Step 3: Ask a complex questionCOMMENT
AI Slop Vocabulary16 hits · 43 pts
SeverityFileLineSnippetContext
MEDIUMlightrag/tools/clean_llm_query_cache.py872 """Print comprehensive cleanup reportSTRING
MEDIUM⚡lightrag/tools/migrate_llm_cache.py1526 # Print comprehensive migration reportCOMMENT
MEDIUMlightrag/tools/migrate_llm_cache.py1358 """Print comprehensive migration reportSTRING
MEDIUMlightrag/kg/mongo_impl.py3828 """Try Atlas Search using compound query for comprehensive matching."""STRING
MEDIUMlightrag/kg/shared_storage.py1296 """Release all locks with comprehensive error handling, protected from cancellation"""STRING
MEDIUMlightrag/api/routers/document_routes.py6680 # Handle both DocStatus enum and string cases for robust deserializationCOMMENT
MEDIUMtests/tools/test_migrate_graph_storage_networkx.py53# the pgtable harness exercises.COMMENT
LOWtests/workspace/test_workspace_isolation.py696 # back in Test 8.2 and is legitimately False here, while ns_a/ns_b were just set.COMMENT
MEDIUM⚡tests/parser/docx/test_smart_heading_e2e.py321# harnessCOMMENT
MEDIUM⚡tests/kg/postgres_impl/test_postgres_graph_batch.py16# Capture harnessCOMMENT
MEDIUMtests/api/routes/test_aquery_data_endpoint.py493 "mode": "mix", # Use mixed mode to get the most comprehensive resultsCODE
MEDIUM⚡…sts/chunker/test_paragraph_semantic_drop_references.py122# Filtering behaviour (assert on content markers, robust to LevelMerge)COMMENT
MEDIUM⚡tests/chunker/test_chunking_raw_lightrag_parity.py62# Shared fixtures (mirrors the harness used by test_pipeline_release_closure)COMMENT
MEDIUM…ghtrag_webui/src/features/retrieval/useQuerySession.ts359 // Use the robust COT parsing functionCOMMENT
MEDIUMlightrag_webui/src/features/retrieval/MessageList.tsx210 // Handle copying message content with robust clipboard supportCOMMENT
MEDIUM.github/workflows/webui-tests.yml55 # proves the test harness stayed out of the bundle.COMMENT
Verbosity Indicators27 hits · 43 pts
SeverityFileLineSnippetContext
LOW⚡lightrag/lightrag.py1788 # Step 2: Apply priority wrapper decorator to EmbeddingFunc's inner funcCOMMENT
LOWlightrag/lightrag.py1770 # Step 1: Capture embedding_func and max_token_size before applying rate_limit decoratorCOMMENT
LOW⚡lightrag/operate.py6503 # Step 5: Batch retrieve chunk dataCOMMENT
LOW⚡lightrag/operate.py6509 # Step 6: Build result chunks with valid data and update chunk trackingCOMMENT
LOW⚡lightrag/operate.py6800 # Step 5: Batch retrieve chunk dataCOMMENT
LOW⚡lightrag/operate.py6806 # Step 6: Build result chunks with valid data and update chunk trackingCOMMENT
LOWlightrag/operate.py6372 # Step 1: Collect all text chunks for each entityCOMMENT
LOWlightrag/operate.py6399 # Step 2: Count chunk occurrences and deduplicate (keep chunks from earlier positioned entities)COMMENT
LOWlightrag/operate.py6434 # Step 3: Sort chunks for each entity by occurrence count (higher count = higher priority)COMMENT
LOWlightrag/operate.py6447 # Step 4: Apply the selected chunk selection algorithmCOMMENT
LOWlightrag/operate.py6643 # Step 1: Collect all text chunks for each relationshipCOMMENT
LOWlightrag/operate.py6678 # Step 2: Count chunk occurrences and deduplicate (keep chunks from earlier positioned relationships)COMMENT
LOWlightrag/operate.py6727 # Step 3: Sort chunks for each relationship by occurrence count (higher count = higher priority)COMMENT
LOWlightrag/operate.py6742 # Step 4: Apply the selected chunk selection algorithmCOMMENT
LOW⚡lightrag/utils.py7329 # Step 1: Remove chunks that are no longer neededCOMMENT
LOW⚡lightrag/utils.py7335 # Step 2: Append genuine additions only (preserving order from new_chunk_ids).COMMENT
LOW⚡lightrag/api/lightrag_server.py810 # Step 3: Create optimized embedding function (calls underlying function directly)COMMENT
LOWlightrag/api/lightrag_server.py683 # Step 1: Import provider function and extract default attributesCOMMENT
LOWlightrag/api/lightrag_server.py790 # Step 2: Apply priority (user config > provider default)COMMENT
LOWlightrag/api/lightrag_server.py1006 # Step 4: Wrap in EmbeddingFunc and returnCOMMENT
LOWlightrag/chunker/paragraph_semantic.py1351 # Step 1: expand each oversized table paragraph into row-boundedCOMMENT
LOWlightrag/chunker/paragraph_semantic.py1375 # Step 2: greedy-pack pieces into chunks ≤ target_max. A pieceCOMMENT
LOWtests/kg/postgres_impl/test_postgres_migration.py662 # Step 1: Simulate workspace_a initialization (Case 3 - only legacy exists)COMMENT
LOWtests/kg/postgres_impl/test_postgres_migration.py760 # Step 2: Simulate workspace_b initialization (Case 3 - both exist, but legacy has B's data)COMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py267 # Step 1: Set up LightRAG (async, runs on the background loop)COMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py270 # Step 2: Create AG2 agents with LightRAG toolsCOMMENT
LOW⚡examples/lightrag_ag2_multiagent_demo.py273 # Step 3: Ask a complex questionCOMMENT
Modern Structural Boilerplate40 hits · 40 pts
SeverityFileLineSnippetContext
LOWlightrag/llm_roles.py139 def set_role_llm_metadata(self, role: str, **metadata: Any) -> None:CODE
LOW⚡lightrag/lightrag.py1426 def _set_runtime_addon_params(self, addon_params: Mapping[str, Any] | None) -> None:CODE
LOWlightrag/__init__.py5__all__ = [CODE
LOW⚡lightrag/multimodal_context.py83logger = logging.getLogger(__name__)CODE
LOWlightrag/multimodal_context.py1099__all__ = [CODE
LOWlightrag/chunk_schema.py376__all__ = [CODE
LOWlightrag/prompt_multimodal.py352__all__ = [STRING
LOWlightrag/tools/chunk_tracking_repair.py160 def set_metadata(self, **values: str) -> None:CODE
LOWlightrag/llm/gemini.py865__all__ = [CODE
LOWlightrag/llm/azure_openai.py18__all__ = [CODE
LOWlightrag/parser/_html_table.py208__all__ = [CODE
LOWlightrag/parser/_markdown.py68__all__ = [CODE
LOWlightrag/parser/markdown/ir_builder.py230__all__ = ["NativeMarkdownIRBuilder"]CODE
LOWlightrag/parser/markdown/raw_cache.py249__all__ = ["NativeImageRawCache", "native_md_options_signature"]CODE
LOWlightrag/parser/legacy/__init__.py14__all__ = ["LegacyExtractionError", "extract_text"]CODE
LOWlightrag/parser/external/_manifest.py159__all__ = [CODE
LOWlightrag/parser/external/_zip.py99__all__ = ["result_bundle_limits", "safe_extract_zip"]CODE
LOWlightrag/parser/external/_common.py326__all__ = [CODE
LOWlightrag/parser/external/__init__.py35__all__ = [CODE
LOWlightrag/parser/external/docling/ir_builder.py1068__all__ = ["DoclingIRBuilder"]CODE
LOWlightrag/parser/external/docling/manifest.py126__all__ = [CODE
LOWlightrag/parser/external/docling/client.py523__all__ = [CODE
LOWlightrag/parser/external/docling/cache.py250__all__ = [CODE
LOWlightrag/parser/external/docling/__init__.py33__all__ = [CODE
LOWlightrag/parser/external/mineru/ir_builder.py885__all__ = ["MinerUIRBuilder"]CODE
LOWlightrag/parser/external/mineru/manifest.py155__all__ = [CODE
LOWlightrag/parser/external/mineru/client.py742__all__ = ["MinerURawClient", "CONTENT_LIST_FILENAME"]CODE
LOWlightrag/parser/external/mineru/cache.py421__all__ = [CODE
LOWlightrag/parser/external/mineru/__init__.py21__all__ = [CODE
LOWlightrag/parser/docx/ir_builder.py335__all__ = ["NativeDocxIRBuilder"]CODE
LOWlightrag/parser/docx/zip_budget.py199__all__ = [CODE
LOWlightrag/api/routers/__init__.py14__all__ = ["OllamaAPI"]CODE
LOWlightrag/evaluation/__init__.py16__all__ = ["RAGEvaluator"]CODE
LOWlightrag/sidecar/__init__.py29__all__ = [CODE
LOWlightrag/chunker/__init__.py97__all__ = [CODE
LOW⚡tests/llm/bedrock_impl/test_bedrock_llm.py643 def set_role_llm_metadata(self, _role: str, **_metadata) -> None:CODE
LOWtests/parser/docx/_native_docx_fixtures.py329__all__ = ["Scenario", "SCENARIOS", "_block"]CODE
LOW…ts/parser/docx/test_extract_blocks_characterization.py54def _set_para_id(para, hex_id: str) -> None:CODE
LOWtests/parser/docx/test_smart_heading_features.py40def _set_doc_default_size(doc: Document, half_points: int) -> None:CODE
LOWtests/api/test_lightrag_ollama_chat.py70 def set_verbose(cls, verbose: bool) -> None:CODE
Synthetic Comment Markers4 hits · 30 pts
SeverityFileLineSnippetContext
HIGHlightrag/api/config.py857 # AI-generated content notice shown under every answer in the two queryCOMMENT
HIGHlightrag/api/lightrag_server.py1710 # Whether the two query UIs label every answer as AI-generatedCOMMENT
HIGHlightrag_webui/src/components/retrieval/ChatMessage.tsx180 // AI-generated content notice (ENABLE_AI_CONTENT_NOTICE): a trailing item onCOMMENT
HIGHlightrag_webui/src/lib/aiContentNotice.test.ts29 // AI-generated would be false.COMMENT
AI Structural Patterns31 hits · 23 pts
SeverityFileLineSnippetContext
LOWlightrag/llm_roles.py309CODE
LOWlightrag/llm_roles.py393CODE
LOWlightrag/llm_roles.py428CODE
LOWlightrag/operate.py2782CODE
LOWlightrag/operate.py3514CODE
LOWlightrag/utils.py5515CODE
LOWlightrag/pipeline.py740CODE
LOWlightrag/llm/gemini.py312CODE
LOWlightrag/llm/gemini.py730CODE
LOWlightrag/llm/openai.py305CODE
LOWlightrag/llm/openai.py1032CODE
LOWlightrag/llm/openai.py1054CODE
LOWlightrag/llm/openai.py1216CODE
LOWlightrag/llm/openai.py1298CODE
LOWlightrag/llm/openai.py1307CODE
LOWlightrag/llm/llama_index_impl.py224CODE
LOWlightrag/llm/bedrock.py187CODE
LOWlightrag/llm/bedrock.py551CODE
LOWlightrag/llm/hf.py290CODE
LOWlightrag/parser/external/mineru/cache.py278CODE
LOWlightrag/parser/docx/utils.py752CODE
LOWlightrag/parser/docx/utils.py803CODE
LOWlightrag/parser/docx/smart_heading/heading_flow.py391CODE
LOWlightrag/parser/docx/smart_heading/title_block.py504CODE
LOWlightrag/kg/opensearch_impl.py5714CODE
LOWlightrag/kg/scan_job_store.py258CODE
LOWlightrag/chunker/semantic_vector.py464CODE
LOWtests/pipeline/test_insert_done_error_handling.py91CODE
LOWtests/parser/external/docling/test_client.py65CODE
LOWtests/kg/mongo_impl/test_mongo_scheduling_pages.py102CODE
LOWtests/api/routes/test_document_routes_docx_archive.py126CODE
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM⚡examples/unofficial-sample/lightrag_cloudflare_demo.py32WORKING_DIR = "../dickens" # you can change output as desiredCODE
MEDIUMexamples/unofficial-sample/lightrag_nvidia_demo.py112 # so you can adjust to be able to fit the NVIDIA model (future work)COMMENT
Example Usage Blocks3 hits · 5 pts
SeverityFileLineSnippetContext
LOWdocker-compose.podman.yml3# Usage:COMMENT
LOW⚡lightrag/llm/binding_options.py792# Usage:COMMENT
LOWscripts/setup/apple-container.sh35# Usage:COMMENT
Dead Code2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMlightrag/base.py1131CODE
MEDIUMlightrag/base.py1254CODE