Back to "DocSummarizer Part 2 - Χρήση του εργαλείου"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

AI C# Docling LLM Ollama Qdrant RAG Tools

DocSummarizer Part 2 - Χρήση του εργαλείου

Sunday, 21 December 2025

Απελευθέρωση GitHub NET Έκδοση

Αυτό είναι Μέρος 2 της σειράς DocSummarizer. Μέρος 1 για την αρχιτεκτονική και τα πρότυπα, ή Μέρος 3 για τη βαθιά τεχνική κατάδυση σε ενσωμάτωση και ανάκτηση.

Μετατρέψτε τα έγγραφα ή τις διευθύνσεις URL σε περιλήψεις αποδεικτικών στοιχείων - για ανθρώπους ή πράκτορες της τεχνητής νοημοσύνης - χωρίς να στείλετε τίποτα στο σύννεφο.

Κάθε ισχυρισμός είναι ανιχνεύσιμο, κάθε γεγονός αναφέρει την πηγή του.

# Human-readable summary
docsummarizer -f contract.pdf

# JSON for agents/pipelines
docsummarizer tool -u "https://docs.example.com"

Τι καλύπτει αυτό το άρθρο: Εγκατάσταση, βασικές λειτουργίες (Auto/BertRag/Bert), πρότυπα και περιπτώσεις κοινής χρήσης.

Αυτό που δεν καλύπτει: Πλήρης εντολή αναφοράς, επιλογές ρυθμίσεων, αντιμετώπιση προβλημάτων, λεπτομέρειες αρχιτεκτονικής.

Για πλήρη τεκμηρίωση, βλέπε Readme. Για το πώς λειτουργεί εσωτερικά, δείτε Μέρος 3.

Γιατί Υπάρχει Αυτό

Οι περισσότεροι πληροφοριοδότες σου δίνουν κείμενο. στοιχεία.

  • Κάθε απαίτηση περιλαμβάνει [chunk-N] προσβολές πίσω στο αρχικό υλικό
  • Επίπεδα εμπιστοσύνης (υψηλή/μέτρια/χαμηλή) με βάση τα αποδεικτικά στοιχεία
  • Δομημένη έξοδος JSON για ενσωμάτωση παραγόντων, αγωγών CI ή διακομιστών MCP
  • Μετρήσεις ποιότητας πιάνεις παραισθήσεις πριν ξεφύγουν.

Εάν χρειάζεστε να εμπιστοσύνη Μια περίληψη - ή να την τροφοδοτήσει σε άλλο σύστημα - που έχει σημασία.

Χαρακτηριστικά

  • Αγωγός BertRag: Παραγωγή-βαθμού BERT εξαγωγή → ανάκτηση → σύνθεση LLM
  • Αυτόματη λειτουργία: Smart mode selection based on document and question
  • Λειτουργία Bert: Καθαρή εξόρυξη - δεν απαιτείται LLM, λειτουργεί εκτός λειτουργίας (~3-5s)
  • Αποδεικτικά στοιχεία-γύρω έξοδος: Παραπομπές, επίπεδα εμπιστοσύνης, ιχνηλάσιμες αξιώσεις
  • Πολλαπλές λειτουργίες: Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iteratial
  • Λειτουργία εργαλείων: Καθαρός JSON για πράκτορες LLM, διακομιστές MCP, έλεγχοι CI
  • 13 Πρότυπα: προεπιλογή, πεζογραφία, σύντομη, oneliner, σφαίρες, εκτελεστικός, λεπτομερής, τεχνική, ακαδημαϊκή, αναφορές, έκθεση βιβλίου, συνάντηση, αυστηρή
  • Μεγάλα Έγγραφα: Χειρίζεται 500+ σελίδες με ιεραρχική επεξεργασία
  • Γουέμπ Φέρνοντας: Security-harded (SSRF protection, HTML sanitization)
  • Λειτουργία θεατρικού συγγραφέα: Ακέφαλο πρόγραμμα περιήγησης για σελίδες με JavaScript (SPAs, React apps)
  • Ενσωμάτωση ONNX: Zero-config τοπικές προσθήκες - μοντέλα auto-download για την πρώτη χρήση
  • Ανάλυση Ποιότητας: Ανίχνευση ψευδαίσθησης, εξαγωγή οντότητας
  • Ανθεκτικό LLM: Polly-based retry with jitter backoff + circular breaker
  • Μόνο τοπικά: Τίποτα δεν φεύγει από το μηχάνημα σας

Χρήση ως εργαλείο LLM

Η tool Η εντολή έχει σχεδιαστεί ειδικά για την ενσωμάτωση με τους πράκτορες AI, τους διακομιστές MCP και άλλα αυτοματοποιημένα συστήματα.

Βασική χρήση εργαλείων

# Summarize a URL and get JSON output
docsummarizer tool --url "https://example.com/docs.html"

# Summarize a local file
docsummarizer tool -f document.pdf

# With a focus query
docsummarizer tool -f contract.pdf -q "payment terms and conditions"

# Pipe to jq for processing
docsummarizer tool -f doc.pdf | jq '.summary.keyFacts'

Δομή εξόδου εργαλείων

Η εντολή εργαλείων επιστρέφει δομημένη JSON με εντοπισμό στοιχείων:

{
  "success": true,
  "source": "https://example.com/docs.html",
  "contentType": "text/html",
  "summary": {
    "executive": "Brief summary of the document.",
    "keyFacts": [
      {
        "claim": "The system supports 10,000 TPS.",
        "confidence": "high",
        "evidence": ["chunk-3", "chunk-7"],
        "type": "fact"
      }
    ],
    "topics": [
      {
        "name": "Architecture",
        "summary": "The system uses microservices...",
        "evidence": ["chunk-1", "chunk-2"]
      }
    ],
    "entities": {
      "people": ["John Smith"],
      "organizations": ["Acme Corp"],
      "concepts": ["OAuth 2.0", "REST API"]
    },
    "openQuestions": ["What is the disaster recovery plan?"]
  },
  "metadata": {
    "processingSeconds": 12.5,
    "chunksProcessed": 15,
    "model": "qwen2.5:1.5b",
    "mode": "MapReduce",
    "coverageScore": 0.95,
    "citationRate": 1.2,
    "fetchedAt": "2025-01-15T10:30:00Z"
  }
}

Επιλογές εντολών εργαλείων

docsummarizer tool [options]

Επιλογή > Σύντομη Περιγραφή > |--------|-------|-------------| | --url | -u URL για να φέρει και να συνοψίσει | --file | -f Αρχείο προς σύνοψη | --query | -q Προαιρετική ερώτηση εστίασης | --mode | -m Λειτουργία Summarization (Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iterative) | --model Μοντέλο Ollama για χρήση | --config | -c Ρολόι αρχείου ρύθμισης > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > < > > > > > > > > < > > > > > > > > < > > > > > > > > > > < < > > < > > < > > < > > > > < > < > < < < < > < < < < < < < < < > > > <

Βασικές αρχές σχεδιασμού

  • Αποδείξεις Γεγονότα: Κάθε απαίτηση περιλαμβάνει evidence IDs refering source chunks
  • Επίπεδα εμπιστοσύνης: Ισχυρίζονται οι απαιτήσεις high, medium, ή low με βάση τα αποδεικτικά στοιχεία
  • Καθαρά έξοδος: Η executive περίληψη δεν έχει δείκτες αναφοράς για εύκολη εμφάνιση
  • Μεταδεδομένα: Η επεξεργασία στατιστικών βοηθά στην αποσφαλμάτωση και την αξιολόγηση της ποιότητας
  • Χειρισμός λάθους: Οι αποτυχίες επιστρέφουν success: false με error Μήνυμα

Παραδείγματα ενσωμάτωσης

Σενάριο Python:

import subprocess
import json

result = subprocess.run(
    ["docsummarizer", "tool", "-u", "https://example.com/api-docs"],
    capture_output=True, text=True
)
data = json.loads(result.stdout)

if data["success"]:
    for fact in data["summary"]["keyFacts"]:
        if fact["confidence"] == "high":
            print(f"- {fact['claim']}")

Αγωγός κελύφους:

# Extract high-confidence facts only
docsummarizer tool -f doc.pdf | jq '[.summary.keyFacts[] | select(.confidence == "high")]'

# Get just the executive summary
docsummarizer tool -u "https://example.com" | jq -r '.summary.executive'

Γρήγορη εκκίνηση

Κατεβάστε Προκατασκευασμένα Δυαδικά

Προ-χτισμένο ιθαγενή εκτελέσιμα είναι διαθέσιμα από Κυκλοφορίες GitHub:

Πλατφόρμα Αρχιτεκτονική Κατεβάστε την Πλατφόρμα

---------- -------------- ----------
Τα Windows ARM64 docsummarizer-win-arm64.zip
Λινούξ docsummarizer-linux-x64.tar.gz
Linux Linux ARM64 docsummarizer-linux-arm64.tar.gz
Μακς, Χ64 (Intel) docsummarizer-osx-x64.tar.gz
ARM64 (Apple Silicon) docsummarizer-osx-arm64.tar.gz
# Download and extract (Linux/macOS)
curl -L -o docsummarizer.tar.gz https://github.com/scottgal/mostlylucidweb/releases/download/docsummarizer-v3.1.0/docsummarizer-linux-x64.tar.gz
tar -xzf docsummarizer.tar.gz
chmod +x docsummarizer

# Download and extract (Windows PowerShell)
Invoke-WebRequest -Uri "https://github.com/scottgal/mostlylucidweb/releases/download/docsummarizer-v3.1.0/docsummarizer-win-x64.zip" -OutFile "docsummarizer.zip"
Expand-Archive -Path "docsummarizer.zip" -DestinationPath "."

Προαπαιτούμενα

Λειτουργία Bert (χωρίς εξωτερικές υπηρεσίες)

Για καθαρή εξόρυξη, δεν απαιτούνται εξωτερικές υπηρεσίες:

docsummarizer -f document.md -m Bert

ONNX μοντέλα auto-download από HuggingFace κατά την πρώτη χρήση (~23MB). Επιστρέφει σε ~3-5 δευτερόλεπτα.

LLM Modes (Auto, BertRag, MapReduce, κλπ.)

Για την LLM-powered distribution απαιτείται Ollama:

# Install Ollama from https://ollama.ai
ollama pull llama3.2:3b        # Default model - good balance of speed/quality
ollama serve

Τροχαίο άκρο: Για γρηγορότερες περιλήψεις (~3s vs ~15s), χρήση --model qwen2.5:1.5b

Προαιρετικό: Αποκωδικοποίηση (Δευτερεύουσες Μορφές)

Απαιτείται για PDF, DOCX, XLSX, PPTX, HTML, εικόνες (PNG/JPG/TIFF), CSV, VTT και AsciiDoc αρχεία. Markdown και απλά αρχεία κειμένου διαβάζονται άμεσα - δεν απαιτείται Dockling.

docker run -d -p 5001:5001 quay.io/docling-project/docling-serve

Προαιρετικό: Qdrant (Δυνατότητα αποθήκευσης διάνυσμα)

Δεν απαιτείται από προεπιλογή - BertRag χρησιμοποιεί in-memory vectors. Ενεργοποιήστε Qdrant για επίμονη αποθήκευση για να αποφύγετε την εκ νέου ενσωμάτωση εγγράφων σε επόμενες διαδρομές:

docker run -d -p 6333:6333 -p 6334:6334 qdrant/qdrant

Στη συνέχεια ρυθμίστε docsummarizer.json:

{
  "bertRag": {
    "vectorStore": "Qdrant",
    "collectionName": "docsummarizer",
    "persistVectors": true
  }
}

Προαιρετικό: Ενσωμάτωση Ollama

Εάν προτιμάτε Ollama για ενσωμάτωση αντί του ONNX:

ollama pull nomic-embed-text   # Or mxbai-embed-large
# Then use: --embedding-backend Ollama

Επιβεβαίωση εξαρτήσεων

docsummarizer check --verbose

Η αναμενόμενη έξοδος δείχνει έναν διαμορφωμένο πίνακα:

              Dependency Status              
╭─────────┬────────┬────────────────────────╮
│ Service │ Status │ Endpoint               │
├─────────┼────────┼────────────────────────┤
│ Ollama  │   OK   │ http://localhost:11434 │
│ Docling │ Optional │ http://localhost:5001 │
│ Qdrant  │ Optional │ localhost:6333        │
╰─────────┴────────┴────────────────────────╯

        Default Model Info         
╭────────────────┬────────────────╮
│ Property       │ Value          │
├────────────────┼────────────────┤
│ Name           │ llama3.2:3b    │
│ Family         │ llama          │
│ Parameters     │ 3.2B           │
│ Context Window │ 128,000 tokens │
╰────────────────┴────────────────╯

Ready to summarize! Ollama is available.

Σημείωση: Docling and Qdrant showing

Χρήση

Προκαθορισμένη συμπεριφορά

Τρέξιμο docsummarizer χωρίς επιχειρήματα:

  1. Ψάξτε για README.md στον τρέχοντα κατάλογο
  2. Συνοψίστε το χρησιμοποιώντας Αυτόματη λειτουργία (έξυπνη επιλογή τρόπου λειτουργίας)
  3. Εκτυπώστε την περίληψη στην κονσόλα με ένα ωραίο πάνελ UI
  4. Auto-αποθήκευση σε readme.summary.md
# Summarize README.md in current directory
docsummarizer

# Shows a formatted panel with:
# - Document info table (file, mode, model)
# - Progress indicators during processing
# - Summary panel with the result
# - Topics tree if available
# - Saved: readme.summary.md

Βασική ανακεφαλαίωση

# Just run it - Auto mode picks the best approach
docsummarizer -f document.pdf

# Fast mode - no LLM, pure extraction (~3-5s)
docsummarizer -f document.pdf -m Bert

# Production mode - best quality with validated citations
docsummarizer -f document.pdf -m BertRag

# Focused on specific topic
docsummarizer -f manual.pdf -m BertRag --focus "installation steps"

# Verbose progress
docsummarizer -f document.pdf -v

Τρόποι ανακεφαλαίωσης

Το εργαλείο εξελίχθηκε από το "just MapReduce" σε έναν πλήρη αγωγό.

Αυτόματη (προεπιλογή)

Επιλέγει τη σωστή λειτουργία με βάση αυτό που ζητάτε. Χρησιμοποιήστε αυτό, εκτός αν έχετε κάποιο λόγο να μην το κάνετε.

docsummarizer -f doc.pdf

BertRag (Παραγωγή)

Αυτό είναι που θέλετε για την παραγωγή.

  1. Εκχύλισμα - Μεταθέστε το έγγραφο σε τμήματα, τα ενσωματώστε με BERT
  2. Ανάκτηση - Βρείτε τα σχετικά τμήματα (σημαντική αναζήτηση + salience βαθμολόγηση)
  3. Συνθέτης - Η LLM γράφει μια άπταιστη περίληψη από αυτά τα τμήματα
docsummarizer -f doc.pdf -m BertRag
docsummarizer -f doc.pdf -m BertRag --focus "payment terms"

Γιατί να το χρησιμοποιήσετε: Κάθε απαίτηση βρίσκεται πίσω σε ένα τμήμα της πηγής. Δεν παραισθήσεις. Κλίμακα σε οποιοδήποτε μέγεθος εγγράφου. LLM λειτουργεί μόνο στο τέλος (cheap).

Bert (Τελευταία, αριθ. LLM)

Καθαρή εξαγωγή χρησιμοποιώντας τοπικά μοντέλα ONNX. Δεν LLM κλήση καθόλου.

docsummarizer -f doc.pdf -m Bert

Γιατί να το χρησιμοποιήσετε: Λειτουργεί εκτός σύνδεσης. Επιστρέφει σε 3-5 δευτερόλεπτα. Καθοριστική (ίδια είσοδος = ίδια έξοδος). Αρκετά καλή για γρήγορες σαρώσεις.

BertHybrid

BERT εκχυλίσματα, LLM γυαλίζει. Μεσαίο έδαφος μεταξύ Bert και BertRag.

docsummarizer -f doc.pdf -m BertHybrid

Χάρτης Μειώστε / Rag / Διανοητική

Η αρχική λειτουργία. Ακόμα λειτουργεί, αλλά BertRag τους αντικατέστησε για τις περισσότερες περιπτώσεις χρήσης.

  • Μειώστε το χάρτη: Παράλληλο πνιγμό, καλό για 100% κάλυψη
  • Ραγκ: Αναζήτηση διάνυσμα, καλό για εστιασμένες ερωτήσεις (legacy - BertRag κάνει αυτό καλύτερα)
  • Διανοητική: Συνεχής επεξεργασία, χρήση μόνο για μικροσκοπικά έγγραφα
docsummarizer -f doc.pdf -m MapReduce  # Full coverage
docsummarizer -f doc.pdf -m Rag --focus "query"  # Legacy focused mode

Λειτουργία ερώτησης

Αντί να κάνετε ερωτήσεις σχετικά με ένα έγγραφο:

docsummarizer -f manual.pdf --query "How do I install the software?"

Αναπαραγωγή URL ιστούName

Συνοψίστε τις ιστοσελίδες απευθείας χωρίς λήψη:

# Summarize a web article
docsummarizer --url "https://example.com/article.html" --web-enabled

# Summarize a remote PDF
docsummarizer --url "https://example.com/document.pdf" --web-enabled

# With structured JSON extraction
docsummarizer --url "https://example.com/api-docs.html" --web-enabled --structured

Υποστηριγμένο περιεχόμενο: HTML (ανθυγιεινές), PDF, Markdown, εικόνες (OCR), έγγραφα γραφείου. Μεγάλες εικόνες επαναδιαμορφώνονται αυτόματα.

Ασφάλεια: Προστασία SSRF, DNS επανασύνδεση προστασίας, περιεχόμενο τύπου gating, προστασία βόμβα αποσυμπίεσης, απολύμανση HTML.

JavaScript-διαχωρισμένες σελίδες: Χρήση --web-mode Playwright για εφαρμογές ZPA και React (αυτόματο-installs Χρώμιο κατά την πρώτη χρήση).

Δομημένη κατάσταση

Εκχύλισμα που είναι αναγνώσιμο από τη μηχανή JSON αντί της πρόζας:

docsummarizer -f document.pdf --structured -o Json

Απόσπασμα: οντότητες, λειτουργίες, βασικές ροές, γεγονότα (με τα επίπεδα εμπιστοσύνης), αβεβαιότητες, περικοπές.

Συνοπτικά πρότυπα

# Use a template
docsummarizer -f doc.pdf --template executive
docsummarizer -f doc.pdf -t bullets

# Specify custom word count with template:wordcount syntax
docsummarizer -f doc.pdf -t bookreport:500
docsummarizer -f doc.pdf -t executive:100

# Or use --words to override any template's default
docsummarizer -f doc.pdf -t detailed --words 300

Τιτλολόγιο < > Λέξεις > Best για ~ |----------|-------|----------| | default | prose ~400 ~ Καθαρό πρόζα πολλαπλών παραγράφων - χωρίς μεταδεδομένα ~ | brief Γρήγορη περίληψη 2-3 πρότασης | oneliner ~25 ~ Περίληψη ενιαίας πρότασης ~ | bullets Αυτόματη λίστα σημείων Bullet (5-7 αντικείμενα) | executive □ ~150 Ενημέρωση της Εκτελεστικής Επιτροπής με συστάσεις □ | detailed | technical ~350 ~ Τεχνικά docs με λεπτομέρειες εφαρμογής ~ | academic Ακαδημαϊκή αφηρημένη μορφή | citations Αυτόματη & & & & > Βασικά εισαγωγικά με αναφορές μόνο στην πηγή | bookreport Έκθεση βιβλίου (ρύθμιση, χαρακτήρες, οικόπεδο, θέματα) | meeting ~200 σημειώσεις συνάντησης (αποφάσεις, δράσεις, ερωτήσεις) | strict ~60 ~ Token-αποτελεσματικό, 3 σφαίρες max, χωρίς αντιστάθμιση ~

Για να δείτε όλα τα διαθέσιμα πρότυπα με περιγραφές:

docsummarizer templates

Μοντέλο συγκριτικής αξιολόγησης

Συγκρίνετε τα μοντέλα στο ίδιο έγγραφο με τη χρήση του benchmark Υποδιοικητής:

docsummarizer benchmark -f doc.pdf -m "qwen2.5:1.5b,llama3.2:3b,ministral-3:3b"

Η εντολή αναφοράς παριστάνει το έγγραφο μία φορά, στη συνέχεια τρέχει κάθε μοντέλο στα ίδια κομμάτια για δίκαιη σύγκριση.

Επεξεργασία παρτίδας

Επεξεργαστείτε όλους τους καταλόγους:

# Use BertRag for quality
docsummarizer -d ./documents -m BertRag -v

# Fast offline batch (no LLM needed)
docsummarizer -d ./documents -m Bert -o Json --output-dir ./summaries

# Process only PDFs recursively
docsummarizer -d ./documents -e .pdf --recursive -v

Επιλογές γραμμής εντολών

Επιλογή > Σύντομη Περιγραφή > Προκαθορισμένο > |--------|-------|-------------|---------| | --file | -f Διαδρομή προς το έγγραφο (DOCX, PDF, MD) | --directory | -d Διαδρομή προς τον κατάλογο για την επεξεργασία παρτίδων | --url | -u Web URL για να φέρει και να συνοψίσει | --web-enabled > Ενεργοποιήστε το web getching (απαιτείται για --url) false | | --mode | -m Λειτουργία Summarization: Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iterative Auto | | --structured | -s Χρήση δομημένου τρόπου εξαγωγής JSON false | | --focus Εστίαση ερωτημάτων για τον τρόπο λειτουργίας RAG | --query | -q Λειτουργία ερώτησης αντί για την εκκαθάριση Κανένας | --model Μοντέλο Ollama για χρήση llama3.2:3b | | --verbose | -v Εμφάνιση λεπτομερούς προόδου με ζωντανό UI false | | --config | -c Διαδρομή προς το αρχείο ρυθμίσεων Auto-ανακαλύψτε το | --output-format | -o Μορφή εξόδου: Κονσόλα, κείμενο, Markdown, Json Console | | --output-dir Ο κατάλογος εξόδου για τις εξόδους αρχείων | --extensions | -e □ Επεκτάσεις αρχείων για τη λειτουργία παρτίδας □ Όλες οι μορφές Dockling | --recursive | -r Οι κατάλογοι της διαδικασίας επανεμφανίζονται false | | --template | -t Ανακεφαλαιωτικό πρότυπο (προκαθορισμένο, σύντομο, σφαίρες, εκτελεστικό κ.λπ.) default | | --words | -w Ο αριθμός λέξεων στόχου (πρωτότυποoverrides) Το πρότυπο προεπιλεγμένο

--embedding-backend Ενσωμάτωση backend: Onnx, Ollama Onnx
--web-mode Λειτουργία Web getch: Απλός, Playwright Simple
--analyze -a Αναλύστε την ποιότητα στην περίληψη false

Τρόποι ανακεφαλαίωσης

Μειώστε (Συνιστάται)

Καλύτερα για περιεκτικές περιλήψεις με πλήρη κάλυψη εγγράφων.

docsummarizer -f document.pdf -m MapReduce -v

Πώς λειτουργεί:

  1. Διαχωρίζει το έγγραφο σε δομικά κομμάτια (κατά τίτλο)
  2. Συνοψίζει κάθε κομμάτι παράλληλα με τη χρήση LLM
  3. Μειώνει τις περιλήψεις στην εκτελεστική περίληψη με αναφορές
  4. Επικυρώνει όλες τις αναφορές αναφοράς πραγματικά κομμάτια

Ιεραρχική Μείωση για Μακρά Έγγραφα:

Για πολύ μεγάλα έγγραφα όπου οι συνδυασμένες περιλήψεις κομματιών υπερβαίνουν το παράθυρο πλαίσιο του μοντέλου, ο ΧάρτηςΜειώστε αυτόματα χρησιμοποιεί ιεραρχική μείωση:

  1. Παρτίδα: Περιλήψεις ομάδων σε παρτίδες που ταιριάζουν στο πλαίσιο
  2. Ενδιάμεση μείωση: Μειώνει κάθε παρτίδα σε μια συμπυκνωμένη περίληψη
  3. Τελική μείωση: Merges ενδιάμεσες περιλήψεις στην τελική έξοδο
  4. Αναδρομική: Εάν τα ενδιάμεσα είναι ακόμα πολύ μεγάλα, προσθέτει περισσότερα επίπεδα
100 chunks → 100 summaries → 5 batches → 5 intermediate summaries → final

Αυτό διατηρεί πλήρη κάλυψη εγγράφων ανεξάρτητα από το μήκος - κάθε κομμάτι συμβάλλει στην τελική περίληψη. Το εργαλείο εκτιμά μάρκες (~4 chars/token) και στοχεύει 60% τη χρήση παραθύρων πλαίσιο ανά κάρτα μείωσης.

Pros: Γρήγορη, πλήρης κάλυψη, παράλληλη επεξεργασία, χειρίζεται οποιοδήποτε μήκος εγγράφου ΚονςCity name (optional, probably does not need a translation): Μπορεί να χάσετε συνδέσεις διατομής, πιο αργά για πολύ μεγάλα έγγραφα

RAG (Best for Focused Querries)

Καλύτερα όταν πρέπει να επικεντρωθεί σε συγκεκριμένα θέματα ή να έχουν μια στοχευμένη ερώτηση.

docsummarizer -f document.pdf -m Rag --focus "pricing and payment terms" -v

Πώς λειτουργεί:

  1. Indexes document κομμάτια ως vector embeddings στο Qdrant
  2. Απόσπασμα βασικών θεμάτων από τίτλους εγγράφων
  3. Ανακτά σχετικά κομμάτια ανά θέμα χρησιμοποιώντας σημασιολογική αναζήτηση
  4. Συνθέτει εστιασμένη περίληψη με αναφορές

Πότε να χρησιμοποιήσετε RAG πάνω από MapReduct:

Σενάριο Βέλτιστης Λειτουργίας |----------|-----------| • "Summarize this whole document" Τι λέει αυτό για την ασφάλεια; Το εγχειρίδιο 500 σελίδων, χρειάζεται τα πάντα. Χάρτης Μείωσε (ιεραρχικό) Εγχειρίδιο 500 σελίδων, χρειάζεται ειδικό τμήμα Χρειάζεστε γρήγορα αποτελέσματα, δεν έχετε Qdrant

RAG είναι Όχι, όχι. about handling long documents - ΧάρτηςΜειώστε τις λαβές που με ιεραρχική μείωση. Φίλτρο συνάφειας: όταν θέλετε να αγνοήσετε το 90% ενός εγγράφου και να εστιάσετε σε αυτό που έχει σημασία για τη συγκεκριμένη ερώτησή σας.

Pros: Επικεντρωμένη στο θέμα, σημασιολογική κατανόηση, δείκτης επαναχρησιμοποίησης, γρηγορότερα για εστιασμένες ερωτήσεις ΚονςCity name (optional, probably does not need a translation): Μπορεί να χάσει περιεχόμενο εκτός περιοχής εστίασης, απαιτεί Qdrant, βραδύτερη αρχική ευρετηρίαση

Διανοητική

Καλύτερα για αφηγηματικά έγγραφα όπου το πλαίσιο ρέει διαδοχικά.

docsummarizer -f story.pdf -m Iterative -v

Προειδοποίηση: Πιο αργή και μπορεί να χάσει το πλαίσιο σε μακρινά έγγραφα (>10 κομμάτια).

Μεγάλος Οδηγός Εγγράφων

Επιλογή της Σωστής Λειτουργίας

~ Τύπος εγγράφου ~ Τρόπος στόχου ~ Γιατί ~ |---------------|------|------|-----| □ Τεχνικό spec (50+ σελίδες) □ Πλήρης περίληψη ΧάρτηςΜειώστε την πλήρη κάλυψη Μυθιστόρημα/Εμφάνιση άρθρων Πλήρης περίληψη ΧάρτηςΜειώστε το χρονικό πλαίσιο των αναγκών Το νομικό συμβόλαιο είναι πλήρης περίληψη Χάρτης Μειώστε τις ρήτρες που δεν μπορούν να αστοχήσουν. Το νομικό συμβόλαιο "Όροι πληρωμής"; API docs (200 pages) □ "Πώς λειτουργεί το Auth;" Δομημένος, χρειάζεται τα πάντα

Fiction vs Non-Fiction

Ο τύπος περιεχομένου είναι ο καλύτερος τρόπος σημειώσεις |--------------|-----------|-------| | Φαντασία/Εμφάνιση □ ΧάρτηςΜειώστε το οικόπεδο απαιτεί διαδοχικό πλαίσιο | Τεχνικά έγγραφα Αμφότερος Χάρτης Μειώστε για επισκόπηση, RAG για συγκεκριμένες προδιαγραφές | Νομικά/συμβάσεις Χάρτης Μειώστε κάθε ρήτρα μετράει. | Εγχειρίδια Οι ΚΓΠΕ συνήθως ρωτούν για συγκεκριμένες λεπτομέρειες.

Επιδόσεις

Το μέγεθος του εγγράφου ~ Χάρτης Μείωσε τις σημειώσεις ~ |---------------|-----------|-----|-------| 10 pages 15s 20s 20s 20s 20s 10s 10s 10s 15s 20s 20s 20s 20s 50 σελίδες 45s 30s 30s 30s 30s 30s 30s Διακόσιες σελίδες Σελ 3-5 λεπτά 1-2 λεπτά Ιεραρχική μείωση Σελίδες 500+ 10-15 λεπτά 2-3 λεπτά Σκεφτείτε πολλές ερωτήσεις RAG

Ρύθμιση

Δημιουργία προκαθορισμένης ρύθμισης

docsummarizer config --output myconfig.json

Αρχείο ρύθμισης

Η ρύθμιση ανακαλύπτεται αυτόματα από:

  1. --config επιλογή
  2. docsummarizer.json στον τρέχοντα κατάλογο
  3. .docsummarizer.json (Κρυφό αρχείο)
  4. ~/.docsummarizer.json (Σπίτι χρήστη)

Παράδειγμα docsummarizer.json:

{
  "embeddingBackend": "Onnx",
  "onnx": {
    "embeddingModel": "AllMiniLmL6V2"
  },
  "ollama": {
    "model": "llama3.2:3b",
    "embedModel": "mxbai-embed-large",
    "baseUrl": "http://localhost:11434",
    "temperature": 0.3,
    "timeoutSeconds": 1200
  },
  "docling": {
    "baseUrl": "http://localhost:5001",
    "timeoutSeconds": 1200,
    "pdfBackend": "pypdfium2",
    "pagesPerChunk": 10,
    "maxConcurrentChunks": 4,
    "enableSplitProcessing": true
  },
  "qdrant": {
    "host": "localhost",
    "port": 6333,
    "collectionName": "documents"
  },
  "processing": {
    "maxHeadingLevel": 2,
    "targetChunkTokens": 1500,
    "minChunkTokens": 200,
    "maxLlmParallelism": 2
  },
  "output": {
    "format": "Console",
    "verbose": false,
    "includeTrace": false
  },
  "webFetch": {
    "enabled": false,
    "mode": "Simple",
    "timeoutSeconds": 30,
    "userAgent": "Mozilla/5.0 DocSummarizer/1.0"
  },
  "batch": {
    "fileExtensions": [".pdf", ".docx", ".md", ".txt", ".html"],
    "recursive": false,
    "continueOnError": true
  }
}

Επιλογές επεξεργασίας

Επιλογή > Προκαθορισμένο > Περιγραφή > |--------|---------|-------------| | maxLlmParallelism Ολοκληρωτικά αιτήματα (ουρές Ollama, έτσι υψηλότερες τιμές μόνο ουρά) | maxHeadingLevel Σετ σε 3 για λεπτότερη κοκκότητα | targetChunkTokens 0 (αυτόματο) μέγεθος στόχου. 0 = αυτόματος υπολογισμός (~25% του παραθύρου πλαισίου) | minChunkTokens 0 (auto)

Μορφή εξόδου

Συνοπτική διάρθρωση

## Executive Summary
- Key finding 1 with specific details [chunk-0]
- Important point 2 with numbers and dates [chunk-3]
- Critical requirement 3 [chunk-5]

## Section Highlights
- Introduction: Overview of the system architecture [chunk-0]
- Requirements: Technical specifications detailed [chunk-3]
...

## Open Questions
- What is the timeline for Phase 2?
- How does the fallback mechanism work?

### Trace

- Document: document.pdf
- Chunks: 12 total, 12 processed
- Topics: 5
- Time: 21.4s
- Coverage: 100%
- Citation rate: 1.20

Μετρητές ιχνοστοιχείων: Coverage (% των τμημάτων που περιλαμβάνονται), Citation rate (cititions/buttle), Chunks processed (RAG may skip some).

Υπόδειγμα συστάσεων

Μοντέλο Μέγεθος Ταχύτητα Ποιότητα Χρήση Κιβωτός |-------|------|-------|---------|----------| | qwen2.5:1.5b Πολύ γρήγορος (~3s) πολύ καλός βελτιστοποιημένος ταχύτητα. | gemma3:1b ~ 815MB ~ Fast (~10s) ~ Fair ~ Alternative small model ~ | llama3.2:3b 2GB Μεσαίο (~15s) Πολύ καλό Προκαθορισμένο - καλή ισορροπία | ministral-3:3b Μεσαίο (~20s) Πολύ καλός Εστιασμένος στην ποιότητα | llama3.1:8b Αργές (~45s) Εξαιρετικές περιλήψεις υψηλής ποιότητας

Συμβουλή: Για γρηγορότερες περιλήψεις (~3s vs ~15s), χρήση --model qwen2.5:1.5b. Για τα κρίσιμα έγγραφα όπου η ποιότητα έχει μεγαλύτερη σημασία, χρήση --model llama3.1:8b.

Κατασκευή από την πηγή

# Clone the repository
git clone https://github.com/scottgal/mostlylucidweb.git
cd mostlylucidweb/Mostlylucid.DocSummarizer

# Build
dotnet build

# Run
dotnet run -- --help

Αυτοσυντηρούμενα Οικοδομήματα

Για την ανάπτυξη της παραγωγής χωρίς να απαιτείται εγκατάσταση NET runtime:

# Build self-contained executable (Windows x64)
dotnet publish -c Release -r win-x64 --self-contained

# Build for Linux
dotnet publish -c Release -r linux-x64 --self-contained

# Build for macOS
dotnet publish -c Release -r osx-x64 --self-contained

Έξοδος: bin/Release/net9.0/<runtime>/publish/docsummarizer

Αντιμετώπιση προβλημάτων

"Δεν μπορούσε να συνδεθεί με την Ollama"

  • Βεβαιωθείτε ότι η Ollama τρέχει: ollama serve
  • Τα μοντέλα ελέγχου τραβήχτηκαν: ollama list

"Docling service notable"

  • Αυτό είναι μόνο για αρχεία PDF/DOCX
  • Για αρχεία Markdown, μπορείτε να αγνοήσετε αυτό το σφάλμα
  • Για να διορθώσετε: docker run -p 5001:5001 quay.io/docling-project/docling-serve

"Η σύνδεση Qdrant απέτυχε"

  • Αυτό είναι Μόνο για τον τρόπο λειτουργίας RAG απαιτείται (--mode Rag)
  • Για τη λειτουργία μείωσης του χάρτη (προεπιλογή), μπορείτε να αγνοήσετε αυτό το σφάλμα
  • Για να διορθώσετε: docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant

"Ο διακόπτης είναι ανοιχτός"

  • Η Ολάμα είναι υπερφορτωμένη ή έχει συντριβεί.
  • Περιμένετε 30 δευτερόλεπτα για την επανεκκίνηση του διακόπτη κυκλώματος, ή επανεκκίνηση Ollama
  • Το εργαλείο χρησιμοποιεί πολιτικές ανθεκτικότητας Polly και θα auto-retry

"wsare contact" ή σφάλματα σύνδεσης (Windows)

  • Αυτό είναι ένα γνωστό θέμα Ollama στα Windows (GitHub #13340)
  • Το εργαλείο auto-handles αυτό με τη λογική ξανά δοκιμάστε και την ανάκτηση σύνδεσης
  • Εάν επιμείνετε, επανεκκινήστε την Ollama και προσπαθήστε ξανά

"Η γενιά LLM τελείωσε"

  • Αύξηση χρονικού ορίου στη διαμόρφωση
  • Διαχωρίστε πολύ μεγάλα έγγραφα
  • Check Ollama δεν υπερφορτώνεται με άλλα αιτήματα

Αντιδραστικός ή χαμηλής ποιότητας χαρακτηρισμός

Συμπτώματα: Οι πόντοι της σφαίρας αντηχούν την προτροπή ("Επιστρέψτε μόνο τα σημεία της σφαίρας," "Ο κανόνας είναι...") αντί να επαναπροσδιορίσετε το περιεχόμενο.

Αιτία: Μοντέλο που αγωνίζεται με την ταχύτητα ή το περιεχόμενο πάρα πολύ καιρό.

Επιδιόρθωση: Η προεπιλογή qwen2.5:1.5b Για προβληματικά έγγραφα, δοκιμάστε --model llama3.2:3b- Βλέπεις; Υπόδειγμα συστάσεων.

Περίληψη Αγνοεί Περιεχόμενο εγγράφου

Εάν η περίληψη φαίνεται γενική ή δεν αναφέρεται σε συγκεκριμένο περιεχόμενο:

  • Το μοντέλο μπορεί να έχει παραισθήσεις - έλεγχος Citation rate στην έξοδο ιχνοστοιχείων
  • Δοκιμάστε τη λειτουργία RAG (--mode Rag) p i ο υ p i ρ ο β λ έ p i ο ν τα ι p i ε ρ ι p i λ η ρ ο φ ο ρ ι κ έ ς p i ε ρ ι p i τ ώ σε ι ς σε ανακτημένα p i ε ρ ι σ σ σ ό τ ε ρ α
  • Χρήση --verbose για να δούμε ποια κομμάτια υποβάλλονται σε επεξεργασία

Λείπει ή μη έγκυρη αναφορά

Εάν δεν υπάρχουν περιλήψεις [chunk-N] αναφορές:

  • Μικρά μοντέλα δίνουν προτεραιότητα στο περιεχόμενο πάνω από τη μορφοποίηση παραπομπή
  • Τα κίνητρα βελτιστοποιούνται για ταχύτητα, όχι αυστηρή συμμόρφωση παραπομπή
  • Για αυστηρές αναφορές, χρησιμοποιήστε μεγαλύτερα μοντέλα όπως llama3.2:3b
  • Έλεγχος Citation rate ιχνηλάτηση - υψηλότερες τιμές δείχνουν καλύτερη ιχνηλασιμότητα

Συμβουλές απόδοσης

  • Μειώστε το χάρτη για ταχύτητα (παράλληλα κομμάτια)
  • qwen2.5:1.5b για ταχύτητα, llama3.2:3b για την ισορροπία, llama3.1:8b για την ποιότητα
  • Ενσωμάτωση ONNX (προκαθορισμένη) είναι ταχύτερη από την Ollama για τη λειτουργία RAG
  • Χαμηλότερα maxLlmParallelism εάν βιώνουν timeouts

Πόροι

Πλοήγηση σειράς

Σχετικό

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.