Repository Analysis

HKUDS/RAG-Anything

"RAG-Anything: All-in-One RAG Framework"

34.5 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of HKUDS/RAG-Anything, a Python project with 22,199 GitHub stars. SynthScan v2.0 examined 29,856 lines of code across 81 source files, recording 734 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 34.5 places this repository in the Strong 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).

34.5
Adjusted Score
34.5
Raw Score
100%
Time Factor
2026-07-09
Last Push
22.2K
Stars
Python
Language
29.9K
Lines of Code
81
Files
734
Pattern Hits
2026-07-14
Scan Date
0.30
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 24MEDIUM 103LOW 607

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 734 distinct pattern matches across 17 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 Identifiers287 hits · 294 pts
SeverityFileLineSnippetContext
LOWREADME.md474async def process_multimodal_content():CODE
LOWREADME.md601 async def process_multimodal_content(self, modal_content, content_type, file_path, entity_name):STRING
LOWREADME.md819async def insert_content_list_example():CODE
LOWREADME_zh.md454async def process_multimodal_content():CODE
LOWREADME_zh.md581 async def process_multimodal_content(self, modal_content, content_type, file_path, entity_name):STRING
LOWREADME_zh.md798async def insert_content_list_example():CODE
LOWreproduce/llm_answer_evaluator.py46 def get_accuracy_evaluation_prompt(CODE
LOWreproduce/llm_answer_evaluator.py491 async def evaluate_multiple_results(CODE
LOWreproduce/llm_answer_evaluator.py848 async def evaluate_standard_rag_results(CODE
LOWreproduce/llm_answer_evaluator.py1058 def generate_evaluation_report(self, total_time: float):CODE
LOWreproduce/llm_answer_evaluator.py1489 def load_existing_evaluations(self):CODE
LOWreproduce/llm_answer_evaluator.py1544 def update_evaluation_results_list(self, new_results: List[Dict[str, Any]]):CODE
LOWreproduce/llm_answer_evaluator.py1566 def persist_single_evaluation(self, evaluation_result: Dict[str, Any]):CODE
LOWreproduce/llm_answer_evaluator.py89 def get_comprehensive_evaluation_prompt(STRING
LOWreproduce/llm_answer_evaluator.py213 def create_fallback_evaluation(self, response: str) -> Dict[str, Any]:STRING
LOWtests/test_full_entities_merge.py10def _load_merge_logic_function_source():CODE
LOWtests/test_full_entities_merge.py52def test_implementation_preserves_existing_metadata_fields():CODE
LOWtests/test_full_entities_merge.py59def test_create_new_full_entities_entry():CODE
LOWtests/test_full_entities_merge.py74def test_preserves_existing_fields_when_merging_multimodal_entities():CODE
LOWtests/test_full_entities_merge.py95def test_deduplicates_new_entity_names_without_reordering_existing_ones():CODE
LOWtests/test_callbacks.py36 def on_multimodal_item_complete(CODE
LOWtests/test_callbacks.py64 def test_register_and_dispatch(self):CODE
LOWtests/test_callbacks.py90 def test_register_rejects_non_callback(self):CODE
LOWtests/test_callbacks.py95 def test_dispatch_handles_callback_errors(self):CODE
LOWtests/test_callbacks.py105 def test_dispatch_unknown_event(self):CODE
LOWtests/test_callbacks.py113 def test_event_log_disabled_by_default(self):CODE
LOWtests/test_callbacks.py184 def test_process_document_emits_callbacks(self, monkeypatch, tmp_path):CODE
LOWtests/test_callbacks.py255 def test_query_emits_callbacks(self, monkeypatch):CODE
LOWtests/test_resilience.py21 def test_retries_on_transient_error(self):CODE
LOWtests/test_resilience.py39 def test_raises_after_max_attempts(self):CODE
LOWtests/test_resilience.py51 def test_does_not_retry_non_retryable(self):CODE
LOWtests/test_resilience.py110 async def test_retries_on_transient_error(self):CODE
LOWtests/test_resilience.py129 async def test_raises_after_max_attempts(self):CODE
LOWtests/test_resilience.py143 def test_retry_rejects_invalid_max_attempts(self):CODE
LOWtests/test_resilience.py156 def test_retry_rejects_invalid_delays(self):CODE
LOWtests/test_resilience.py170 async def test_async_retry_rejects_invalid_max_attempts(self):CODE
LOWtests/test_resilience.py184 async def test_async_retry_rejects_invalid_delays(self):CODE
LOWtests/test_resilience.py199 def test_default_retry_does_not_retry_oserror_subclasses(self):CODE
LOWtests/test_resilience.py217 def test_closed_state_allows_calls(self):CODE
LOWtests/test_resilience.py227 def test_opens_after_threshold(self):CODE
LOWtests/test_resilience.py243 def test_half_open_after_timeout(self):CODE
LOWtests/test_resilience.py259 def test_failure_threshold_resets_outside_window(self):CODE
LOWtests/test_resilience.py291 def test_application_error_does_not_trip_breaker(self):CODE
LOWtests/test_resilience.py307 def test_half_open_allows_single_trial_call(self):CODE
LOWtests/test_insert_content_list.py22def _install_minimal_lightrag_stubs():CODE
LOWtests/test_insert_content_list.py116 async def _ensure_lightrag_initialized(self):CODE
LOWtests/test_insert_content_list.py124 def _generate_content_based_doc_id(self, content_list):CODE
LOWtests/test_insert_content_list.py127 async def _process_multimodal_content(self, multimodal_items, file_ref, doc_id):CODE
LOWtests/test_insert_content_list.py131def test_insert_content_list_defers_status_until_after_text_insert():CODE
LOWtests/test_insert_content_list.py157def test_process_document_complete_defers_status_until_after_text_insert():CODE
LOWtests/test_insert_content_list.py179def test_process_document_complete_keeps_status_for_multimodal_only_content():CODE
LOWtests/test_insert_content_list.py196def test_insert_content_list_keeps_status_for_multimodal_only_content():CODE
LOWtests/test_doc_status_creation.py75async def test_insert_text_content_with_multimodal_falls_back_for_old_lightrag(CODE
LOWtests/test_doc_status_creation.py121async def test_process_document_complete_bootstraps_doc_status(CODE
LOWtests/test_doc_status_creation.py169 async def fake_ensure_lightrag_initialized():CODE
LOWtests/test_doc_status_creation.py196async def test_image_only_document_falls_back_when_multimodal_flag_is_unsupported(CODE
LOWtests/test_doc_status_creation.py246 async def fake_ensure_lightrag_initialized():CODE
LOWtests/test_doc_status_creation.py263 async def fake_process_multimodal_content(multimodal_items, file_name, doc_id):CODE
LOWtests/test_doc_status_creation.py292async def test_compatibility_multimodal_cache_prevents_repeat_processing(CODE
LOWtests/test_doc_status_creation.py340 async def fake_ensure_lightrag_initialized():CODE
227 more matches not shown…
Modern AI Meta-Vocabulary54 hits · 167 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md7# 🚀 RAG-Anything: All-in-One RAG FrameworkCOMMENT
MEDIUMREADME.md1069- See **[docs/multimodal_rag_failure_modes.md](docs/multimodal_rag_failure_modes.md)** for a short checklist of common pCODE
MEDIUMREADME.md1082After parsing, each non-empty `img_path`, `table_img_path`, or `equation_img_path` may gain a sibling field `*_public_urCODE
MEDIUMREADME.md1273 <a href="https://star-history.com/#HKUDS/RAG-Anything&Date">CODE
MEDIUMREADME.md1321 <span style="color: #00d9ff; font-size: 18px;">Thank you for visiting RAG-Anything!</span>CODE
MEDIUMREADME_zh.md7# 🚀 RAG-Anything: All-in-One RAG SystemCOMMENT
MEDIUMREADME_zh.md1215 <a href="https://star-history.com/#HKUDS/RAG-Anything&Date">CODE
MEDIUMreproduce/query.py315 # Process with RAGCOMMENT
MEDIUMreproduce/index.py263 # Process with RAGCOMMENT
MEDIUMreproduce/llm_answer_evaluator.py1419 # Check the RAG hybrid result error.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py1426 # Check the RAG mix result error.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py1433 # Check the RAG naive result error.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py472 # Load RAG evaluation results.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py1465 # RAG errors.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py1743 # Support multiple result-file inputs (RAG/VLM), which can coexist with the QA directory option.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py616 else: # RAG resultsCODE
MEDIUMdocs/offline_setup.md1# Running RAG-Anything in an Offline EnvironmentCOMMENT
MEDIUMdocs/batch_processing.md88### Integration with RAG-AnythingCOMMENT
MEDIUMdocs/batch_processing.md106### Process Documents with RAG IntegrationCOMMENT
MEDIUMdocs/batch_processing.md109# Process documents in batch and then add them to RAGCOMMENT
MEDIUMdocs/enhanced_markdown.md292## Integration with RAG-AnythingCOMMENT
MEDIUMdocs/enhanced_markdown.md299# Initialize RAG-AnythingCOMMENT
MEDIUMdocs/enhanced_markdown.md312# before being processed by the RAG systemCOMMENT
MEDIUMdocs/multimodal_rag_failure_modes.md1# Multimodal RAG: common failure modes and quick checksCOMMENT
MEDIUMdocs/multimodal_rag_failure_modes.md5It is meant to stay small and easy to maintain (see discussion in [#207](https://github.com/HKUDS/RAG-Anything/issues/20CODE
MEDIUMdocs/multimodal_rag_failure_modes.md59- [#48](https://github.com/HKUDS/RAG-Anything/issues/48) style: large PDFs and OCR are inherently heavy—batch size and hCODE
MEDIUMdocs/vllm_integration.md1# vLLM Integration Guide for RAG-AnythingCOMMENT
MEDIUMdocs/vllm_integration.md94### Qwen 2.5 (Recommended for RAG)COMMENT
MEDIUMdocs/vllm_integration.md148# RAG chunks are typically <4K tokens; 8192 is often sufficientCOMMENT
MEDIUMraganything/modalprocessors.py163 # Check if item is within context window and matches filter criteriaCOMMENT
MEDIUMraganything/omml_extractor.py520 # equation searchable for downstream RAG even when the operator isCOMMENT
MEDIUMraganything/batch.py380 # Step 2: Process with RAGCOMMENT
MEDIUMraganything/batch.py381 # Initialize RAG systemCOMMENT
MEDIUMraganything/batch.py388 # Then, process each successful file with RAGCOMMENT
MEDIUMraganything/batch.py396 # Process files with RAG (this could be parallelized in the future)COMMENT
MEDIUMraganything/batch.py399 # Process the successfully parsed file with RAGCOMMENT
MEDIUMraganything/batch.py408 # This would require additional tracking in the RAG systemCOMMENT
MEDIUMexamples/ollama_integration_example.py19 ollama pull nomic-embed-text # embedding model (768-dim)STRING
MEDIUMexamples/ollama_integration_example.py39# RAG-Anything importsCOMMENT
MEDIUMexamples/raganything_example.py317 # Process with RAGCOMMENT
MEDIUMexamples/batch_processing_example.py245 # Initialize RAG-Anything with temporary storageCOMMENT
MEDIUMexamples/batch_processing_example.py262 # Demonstrate batch processing with RAG integrationCOMMENT
MEDIUMexamples/batch_processing_example.py265 # Use the RAG-integrated batch processingCOMMENT
MEDIUMexamples/batch_processing_example.py281 # Demonstrate batch processing with full RAG integrationCOMMENT
MEDIUMexamples/batch_processing_example.py515 # RAG integrationCOMMENT
MEDIUMexamples/vllm_integration_example.py45# RAG-Anything importsCOMMENT
MEDIUMexamples/vllm_integration_example.py110 # RAG-Anything configurationCOMMENT
MEDIUMexamples/vllm_integration_example.py331 # Initialize RAGCOMMENT
MEDIUMexamples/minimax_integration_example.py44# RAG-Anything importsCOMMENT
MEDIUMexamples/minimax_integration_example.py57# Embedding configuration (MiniMax does not provide an embedding model;COMMENT
MEDIUMexamples/minimax_integration_example.py137 # RAG-Anything configurationCOMMENT
MEDIUMexamples/lmstudio_integration_example.py34# RAG-Anything importsCOMMENT
MEDIUMexamples/lmstudio_integration_example.py88 # RAG-Anything configurationCOMMENT
MEDIUMexamples/lmstudio_integration_example.py309 # Initialize RAGCOMMENT
Excessive Try-Catch Wrapping168 hits · 147 pts
SeverityFileLineSnippetContext
LOWreproduce/query.py270 except Exception as e:CODE
LOWreproduce/index.py218 except Exception as e:CODE
MEDIUMreproduce/llm_answer_evaluator.py1810 print(f"Error: result file does not exist: {file_path}")CODE
MEDIUMreproduce/llm_answer_evaluator.py1797 print("Error: an OpenAI API key is required")CODE
LOWreproduce/llm_answer_evaluator.py442 except Exception as e:CODE
LOWreproduce/llm_answer_evaluator.py1518 except Exception as e:CODE
LOWreproduce/llm_answer_evaluator.py1601 except Exception as e:CODE
LOWreproduce/llm_answer_evaluator.py1621 except Exception:CODE
LOWreproduce/llm_answer_evaluator.py1868 except Exception as e:CODE
LOWreproduce/llm_answer_evaluator.py209 except Exception as e:STRING
LOWtests/test_close_event_loop.py37 except Exception:CODE
LOWtests/test_close_event_loop.py41 except Exception:CODE
LOWtests/testparser_kwargs.py77 except Exception:CODE
LOWdocs/enhanced_markdown.md485 except Exception as e:CODE
LOWraganything/modalprocessors.py116 except Exception as e:CODE
LOWraganything/modalprocessors.py444 except Exception as e:CODE
LOWraganything/modalprocessors.py856 except Exception as e:CODE
LOWraganything/modalprocessors.py957 except Exception as e:CODE
LOWraganything/modalprocessors.py1024 except Exception as e:CODE
LOWraganything/modalprocessors.py1157 except Exception as e:CODE
LOWraganything/modalprocessors.py1219 except Exception as e:CODE
LOWraganything/modalprocessors.py1345 except Exception as e:CODE
LOWraganything/modalprocessors.py1402 except Exception as e:CODE
LOWraganything/modalprocessors.py1519 except Exception as e:CODE
LOWraganything/modalprocessors.py1565 except Exception as e:CODE
LOWraganything/raganything.py169 except Exception:CODE
LOWraganything/raganything.py173 except Exception:CODE
LOWraganything/raganything.py340 except Exception as e:CODE
LOWraganything/raganything.py412 except Exception as e:CODE
LOWraganything/raganything.py417 except Exception as e:CODE
LOWraganything/raganything.py470 except Exception as e:CODE
LOWraganything/raganything.py569 except Exception as e:CODE
LOWraganything/raganything.py607 except Exception as e:CODE
LOWraganything/omml_extractor.py196 except Exception as e: # pragma: no cover - defensiveCODE
LOWraganything/query.py172 except Exception as exc:CODE
LOWraganything/query.py288 except Exception as e:CODE
LOWraganything/query.py331 except Exception as e:CODE
LOWraganything/query.py343 except Exception as e:CODE
LOWraganything/query.py464 except Exception as e:CODE
LOWraganything/query.py501 except Exception as e:CODE
LOWraganything/query.py653 except Exception:CODE
LOWraganything/query.py663 except Exception:CODE
LOWraganything/query.py697 except Exception as e:CODE
LOWraganything/query.py821 except Exception as e:CODE
LOWraganything/batch.py411 except Exception as e:CODE
LOWraganything/batch.py138 except Exception as e:CODE
LOWraganything/batch.py292 except Exception:CODE
LOWraganything/processor.py315 except Exception as e:CODE
LOWraganything/processor.py385 except Exception as e:CODE
LOWraganything/processor.py553 except Exception as e:CODE
LOWraganything/processor.py679 except Exception as e:CODE
LOWraganything/processor.py716 except Exception as e:CODE
LOWraganything/processor.py801 except Exception as e:CODE
LOWraganything/processor.py841 except Exception as e:CODE
LOWraganything/processor.py906 except Exception:CODE
LOWraganything/processor.py982 except Exception as e:CODE
LOWraganything/processor.py1190 except Exception as e:CODE
LOWraganything/processor.py1210 except Exception as e:CODE
LOWraganything/processor.py1304 except Exception as e:CODE
LOWraganything/processor.py1362 except Exception as e:CODE
108 more matches not shown…
Decorative Section Separators30 hits · 104 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_close_event_loop.py15# ── Replicate the close() logic under test ──────────────────────────────COMMENT
MEDIUMtests/test_close_event_loop.py45# ── Tests ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py118# ── Content Separation Tests ─────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py177# ── Image Encoding Tests ─────────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py23# ── DocStatus Tests ──────────────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py44# ── RAGAnythingConfig Tests ──────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py201# ── Image Validation Tests ───────────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py241# ── Processor Type Mapping Tests ─────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py292# ── BatchProcessingResult Tests ──────────────────────────────────COMMENT
MEDIUMtests/test_core_modules.py355# ── BatchParser Initialization Tests ─────────────────────────────COMMENT
MEDIUMtests/test_minimax_integration.py167# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py169# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py367# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py369# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py113# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py115# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py282# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_minimax_integration.py284# ---------------------------------------------------------------------------COMMENT
MEDIUMraganything/batch.py30 # ==========================================COMMENT
MEDIUMraganything/batch.py32 # ==========================================COMMENT
MEDIUMraganything/batch.py173 # ==========================================COMMENT
MEDIUMraganything/batch.py175 # ==========================================COMMENT
MEDIUMraganything/callbacks.py71 # ── Parsing stage ─────────────────────────────────────────────COMMENT
MEDIUMraganything/callbacks.py90 # ── Text insertion stage ──────────────────────────────────────COMMENT
MEDIUMraganything/callbacks.py101 # ── Multimodal processing stage ───────────────────────────────COMMENT
MEDIUMraganything/callbacks.py126 # ── Query stage ───────────────────────────────────────────────COMMENT
MEDIUMraganything/callbacks.py149 # ── Document complete ─────────────────────────────────────────COMMENT
MEDIUMraganything/callbacks.py168 # ── Batch processing ──────────────────────────────────────────COMMENT
Magic Placeholder Names16 hits · 78 pts
SeverityFileLineSnippetContext
HIGHREADME.md338 api_key = "your-api-key"CODE
HIGHREADME.md476 api_key = "your-api-key"CODE
HIGHREADME.md694 api_key = "your-api-key"CODE
HIGHREADME.md821 api_key = "your-api-key"CODE
HIGHREADME.md1020python examples/raganything_example.py path/to/document.pdf --api-key YOUR_API_KEY --parser mineruCODE
HIGHREADME.md1023python examples/modalprocessors_example.py --api-key YOUR_API_KEYCODE
HIGHREADME_zh.md316 api_key = "your-api-key"CODE
HIGHREADME_zh.md456 api_key = "your-api-key"CODE
HIGHREADME_zh.md673 api_key = "your-api-key"CODE
HIGHREADME_zh.md800 api_key = "your-api-key"CODE
HIGHREADME_zh.md999python examples/raganything_example.py path/to/document.pdf --api-key YOUR_API_KEY --parser mineruCODE
HIGHREADME_zh.md1002python examples/modalprocessors_example.py --api-key YOUR_API_KEYCODE
HIGHexamples/minimax_integration_example.py29 export MINIMAX_API_KEY=your-api-keySTRING
HIGHexamples/minimax_integration_example.py72 "Set it with: export MINIMAX_API_KEY=your-api-key"CODE
HIGHexamples/minimax_integration_example.py154 print(" Set it with: export MINIMAX_API_KEY=your-api-key")CODE
HIGHexamples/minimax_integration_example.py266 " MINIMAX_API_KEY=your-api-key\n"CODE
Deep Nesting66 hits · 44 pts
SeverityFileLineSnippetContext
LOWsetup.py14CODE
LOWreproduce/query.py90CODE
LOWreproduce/llm_answer_evaluator.py159CODE
LOWreproduce/llm_answer_evaluator.py213CODE
LOWreproduce/llm_answer_evaluator.py286CODE
LOWreproduce/llm_answer_evaluator.py491CODE
LOWreproduce/llm_answer_evaluator.py759CODE
LOWreproduce/llm_answer_evaluator.py848CODE
LOWreproduce/llm_answer_evaluator.py1058CODE
LOWtests/test_full_entities_merge.py10CODE
LOWtests/test_close_event_loop.py18CODE
LOWraganything/modalprocessors.py68CODE
LOWraganything/modalprocessors.py139CODE
LOWraganything/modalprocessors.py179CODE
LOWraganything/modalprocessors.py212CODE
LOWraganything/modalprocessors.py244CODE
LOWraganything/modalprocessors.py285CODE
LOWraganything/modalprocessors.py603CODE
LOWraganything/raganything.py143CODE
LOWraganything/raganything.py258CODE
LOWraganything/omml_extractor.py111CODE
LOWraganything/omml_extractor.py218CODE
LOWraganything/query.py26CODE
LOWraganything/query.py195CODE
LOWraganything/query.py475CODE
LOWraganything/query.py589CODE
LOWraganything/query.py708CODE
LOWraganything/query.py618CODE
LOWraganything/processor.py202CODE
LOWraganything/processor.py388CODE
LOWraganything/processor.py609CODE
LOWraganything/processor.py727CODE
LOWraganything/processor.py1109CODE
LOWraganything/processor.py1308CODE
LOWraganything/processor.py1397CODE
LOWraganything/processor.py2104CODE
LOWraganything/parser.py2659CODE
LOWraganything/parser.py92CODE
LOWraganything/parser.py194CODE
LOWraganything/parser.py239CODE
LOWraganything/parser.py389CODE
LOWraganything/parser.py833CODE
LOWraganything/parser.py1079CODE
LOWraganything/parser.py1197CODE
LOWraganything/parser.py1277CODE
LOWraganything/parser.py1507CODE
LOWraganything/parser.py1700CODE
LOWraganything/parser.py1980CODE
LOWraganything/parser.py2233CODE
LOWraganything/parser.py2339CODE
LOWraganything/parser.py2371CODE
LOWraganything/parser.py2245CODE
LOWraganything/enhanced_markdown.py370CODE
LOWraganything/enhanced_markdown.py403CODE
LOWraganything/batch_parser.py556CODE
LOWraganything/batch_parser.py119CODE
LOWraganything/batch_parser.py353CODE
LOWraganything/resilience.py146CODE
LOWraganything/resilience.py188CODE
LOWraganything/resilience.py190CODE
6 more matches not shown…
Self-Referential Comments9 hits · 33 pts
SeverityFileLineSnippetContext
MEDIUMreproduce/llm_answer_evaluator.py1813 # Create the configuration.COMMENT
MEDIUMreproduce/llm_answer_evaluator.py1816 # Create the evaluator.COMMENT
MEDIUMraganything/query.py41 # Create a normalized representation of the query parametersCOMMENT
MEDIUMraganything/processor.py233 # Create a content signatureCOMMENT
MEDIUMraganything/parser.py134 # Create a temporary file with the correct extensionCOMMENT
MEDIUMexamples/batch_processing_example.py323 # Create a directory structure with nested filesCOMMENT
MEDIUMexamples/batch_processing_example.py326 # Create main directory filesCOMMENT
MEDIUMscripts/create_tiktoken_cache.py4# Define the directory where you want to store the cacheCOMMENT
MEDIUMscripts/create_tiktoken_cache.py9# Create the directory if it doesn't existCOMMENT
Unused Imports33 hits · 32 pts
SeverityFileLineSnippetContext
LOWtests/test_asset_urls.py3CODE
LOWtests/test_raganything_example.py1CODE
LOWtests/test_omml_extractor.py8CODE
LOWraganything/omml_extractor.py40CODE
LOWraganything/batch.py16CODE
LOWraganything/prompt_manager.py18CODE
LOWraganything/__init__.py1CODE
LOWraganything/__init__.py2CODE
LOWraganything/__init__.py5CODE
LOWraganything/__init__.py9CODE
LOWraganything/__init__.py9CODE
LOWraganything/__init__.py9CODE
LOWraganything/__init__.py9CODE
LOWraganything/__init__.py21CODE
LOWraganything/__init__.py21CODE
LOWraganything/__init__.py21CODE
LOWraganything/__init__.py35CODE
LOWraganything/__init__.py35CODE
LOWraganything/__init__.py35CODE
LOWraganything/__init__.py35CODE
LOWraganything/__init__.py48CODE
LOWraganything/__init__.py48CODE
LOWraganything/__init__.py48CODE
LOWraganything/__init__.py48CODE
LOWraganything/__init__.py48CODE
LOWraganything/processor.py7CODE
LOWraganything/parser.py24CODE
LOWraganything/asset_urls.py14CODE
LOWraganything/utils.py7CODE
LOWraganything/callbacks.py23CODE
LOWraganything/prompts_zh.py11CODE
LOWraganything/prompt.py8CODE
LOWraganything/resilience.py11CODE
Redundant / Tautological Comments19 hits · 30 pts
SeverityFileLineSnippetContext
LOWreproduce/query.py305 # Check if API key is providedCOMMENT
LOWreproduce/index.py253 # Check if API key is providedCOMMENT
LOWraganything/modalprocessors.py163 # Check if item is within context window and matches filter criteriaCOMMENT
LOWraganything/query.py125 # Check if VLM enhanced query should be usedCOMMENT
LOWraganything/query.py636 # Check if it's in the current working directory or subdirectoriesCOMMENT
LOWraganything/processor.py654 # Check if multimodal content is already processedCOMMENT
LOWraganything/parser.py1105 # Check if this subdirectory contains the expected JSON output fileCOMMENT
LOWraganything/parser.py1724 # Check if input is a URLCOMMENT
LOWraganything/enhanced_markdown.py36 # Check if pandoc module exists (not used directly, just for detection)COMMENT
LOWraganything/enhanced_markdown.py104 # Check if pandoc is installed on systemCOMMENT
LOWraganything/enhanced_markdown.py511 # Check if input file is providedCOMMENT
LOWraganything/utils.py266 # Check if file exists and is not a symlink (for security)COMMENT
LOWexamples/office_document_test.py55 # Check if file exists and is a supported Office formatCOMMENT
LOWexamples/raganything_example.py307 # Check if API key is providedCOMMENT
LOWexamples/batch_processing_example.py162 # Display resultsCOMMENT
LOWexamples/batch_processing_example.py220 # Display resultsCOMMENT
LOWexamples/image_format_test.py60 # Check if file exists and is a supported image formatCOMMENT
LOWexamples/insert_content_list_example.py415 # Check if API key is providedCOMMENT
LOWexamples/text_format_test.py43 # Check if file exists and is a supported text formatCOMMENT
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHreproduce/query.py0example script demonstrating parser integration with raganything this example shows how to: 1. process documents with raSTRING
HIGHreproduce/index.py0example script demonstrating parser integration with raganything this example shows how to: 1. process documents with raSTRING
HIGHexamples/raganything_example.py0example script demonstrating parser integration with raganything this example shows how to: 1. process documents with raSTRING
HIGHreproduce/query.py0process document with raganything args: file_path: path to the document output_dir: output directory for rag results apiSTRING
HIGHreproduce/index.py0process document with raganything args: file_path: path to the document output_dir: output directory for rag results apiSTRING
HIGHexamples/raganything_example.py0process document with raganything args: file_path: path to the document output_dir: output directory for rag results apiSTRING
Verbosity Indicators12 hits · 19 pts
SeverityFileLineSnippetContext
LOWraganything/batch.py380 # Step 2: Process with RAGCOMMENT
LOWraganything/batch.py368 # Step 1: Parse documents in batchCOMMENT
LOWraganything/processor.py1708 # Step 1: Parse documentCOMMENT
LOWraganything/processor.py1717 # Step 2: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py1741 # Step 3: Insert pure text content with all parametersCOMMENT
LOWraganything/processor.py1778 # Step 4: Process multimodal content (using specialized processors)COMMENT
LOWraganything/processor.py1974 # Step 1: Parse documentCOMMENT
LOWraganything/processor.py2021 # Step 2: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py2033 # Step 3: Insert pure text content and multimodal content with all parametersCOMMENT
LOWraganything/processor.py2179 # Step 1: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py2203 # Step 2: Insert pure text content with all parametersCOMMENT
LOWraganything/processor.py2239 # Step 3: Process multimodal content (using specialized processors)COMMENT
Structural Annotation Overuse12 hits · 18 pts
SeverityFileLineSnippetContext
LOWraganything/batch.py380 # Step 2: Process with RAGCOMMENT
LOWraganything/batch.py368 # Step 1: Parse documents in batchCOMMENT
LOWraganything/processor.py1708 # Step 1: Parse documentCOMMENT
LOWraganything/processor.py1717 # Step 2: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py1741 # Step 3: Insert pure text content with all parametersCOMMENT
LOWraganything/processor.py1778 # Step 4: Process multimodal content (using specialized processors)COMMENT
LOWraganything/processor.py1974 # Step 1: Parse documentCOMMENT
LOWraganything/processor.py2021 # Step 2: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py2033 # Step 3: Insert pure text content and multimodal content with all parametersCOMMENT
LOWraganything/processor.py2179 # Step 1: Separate text and multimodal contentCOMMENT
LOWraganything/processor.py2203 # Step 2: Insert pure text content with all parametersCOMMENT
LOWraganything/processor.py2239 # Step 3: Process multimodal content (using specialized processors)COMMENT
AI Slop Vocabulary7 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMreproduce/llm_answer_evaluator.py270 # For comprehensive evaluation, try to extract additional metrics.COMMENT
LOWtests/test_custom_parser.py167 # Do not touch the filesystem; just return a dummy result.COMMENT
MEDIUMraganything/modalprocessors.py1417 """Parse equation analysis response with robust JSON handling"""STRING
MEDIUMraganything/omml_extractor.py52# them to construct fully qualified tag names so that lookups are robust toCOMMENT
MEDIUMexamples/enhanced_markdown_example.py30 """Create comprehensive sample markdown content for testing"""STRING
MEDIUMexamples/enhanced_markdown_example.py898 # Demonstrate robust conversion with fallbacksSTRING
MEDIUMexamples/enhanced_markdown_example.py920 # Test robust conversionCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHraganything/query.py203 Multimodal query - combines text and multimodal content for querying Args: query: Base queSTRING
HIGHraganything/parser.py2628Get a parser instance by name. Checks built-in parsers first, then falls back to the custom parser registry popSTRING
Modern Structural Boilerplate9 hits · 10 pts
SeverityFileLineSnippetContext
LOWraganything/omml_extractor.py48logger = logging.getLogger(__name__)CODE
LOWraganything/omml_extractor.py754__all__ = [CODE
LOWraganything/prompt_manager.py26logger = logging.getLogger(__name__)CODE
LOWraganything/prompt_manager.py84def set_prompt_language(language: str) -> None:CODE
LOWraganything/__init__.py64__all__ = [CODE
LOWraganything/processor.py171 async def _set_multimodal_status_record(self, doc_id: str, processed: bool) -> None:CODE
LOWraganything/asset_urls.py20logger = logging.getLogger(__name__)CODE
LOWraganything/callbacks.py31logger = logging.getLogger(__name__)CODE
LOWraganything/resilience.py20logger = logging.getLogger(__name__)CODE
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWraganything/batch.py34CODE
LOWraganything/processor.py1826CODE
LOWraganything/parser.py833CODE
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1huggingface_hubCOMMENT