Back to "DocSummarizer Part 2 - Genom att använda verktyget"

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 - Genom att använda verktyget

Sunday, 21 December 2025

GitHub-utsläpp .NET

Det här är Del 2 av DocSummarizer-serien. Se Del 1 för arkitektur och mönster, Del 3 för den djupa tekniska dykning in i inbäddar och återtaganden, eller Del 4 att använda NuGet biblioteket för att bygga sina egna RAG-apps.

Förvandla dokument eller URLs till bevis-grundade sammanfattningar | - | för människor eller AI-agenter |- | utan att skicka något till molnet

Alla påståenden är spårbara. Alla fakta citerar dess källa . Själva-contained binaryM SK3 kör helt på din maskin

# Human-readable summary
docsummarizer -f contract.pdf

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

Vad den här artikeln handlar om: installering , nyckelmodi | | ( | Auto | МSK3 | BertRag | / |Bert

Vad den inte täcker: Den fulla kommandoreferensen

För den kompletta dokumentationen, ,, se README. För hur det fungerar internt, se Del 3.

Varför finns detta?

De flesta summerare ger dig text. Det här ger dig bevis.

  • Varje claim inkluderar [chunk-N] citationer tillbaka till källmaterial
  • Förtroende nivåer (
  • Strukturerad JSON-output för agentintegration, ,, CI-rör, , eller MCP-server
  • Kwaliteitsmått fånga hallucinationer innan de flyr

Om du behöver tillit en sammanfattning - eller mata den till ett annat system - som är viktigt

Mönster

  • 🚀 BertRag Pipeline: Tillverkning-grad BERT extraktion → uppfinning → LLM-synthes
  • 🤖 Auto-läger: Smarta Modusval baserad på dokument och fråga
  • ⚡ Bert Modus: Rent extraktiv sammanfattning - inget LLM behövs
  • Evidens-Grounded Output: Citationer
  • Flera former: Auto, BertRag, BertM SK3 BertHybridMska4 MapReduceMske5 RagM Ska6 Iterativ
  • Apparaten: Rent JSON för LLM-agenter, MCP-serverM SK2 CI-kontroller
  • 13 Templates: avvikande , pröss, , kort, M SK3 enlig, , kular,, ansvarig, MST6 detaljerad, MSV7 tekniskt,MST8 akademiskt,MSV9 citationer, MSP10, bokförslag, MSS11, möte, MSM12, strikt
  • Stora Dokument: Handler 500+ sidor med hierarkisk bearbetande
  • Fetching på nätet: säkerhet-hardenerad ( SSRF skyddM SK3 HTML sanitiseringMSC4
  • Spelningsstil: Hjärnlös webblader för JavaScript- skickade sidor (SPAsM SK3 React-apps)
  • ONNX Embeddings: Noll - konfigurera lokala inbäddar | - | modeller automatiskt |- | ladda ner på första användning
  • Kvaliteanalys: Halluktionsdetektion , väsenextraktion
  • Robust LLM: PollyM SK1based retry with jitter backoff + circuit breaker
  • Lokalt Bara: Inget lämnar maskinen

Att använda som ett LLM-verktyg

Den tool kommandot är speciellt konstruerat för integration med AI-agenter, MCP servern, och andra automatiserade systemM SK2 Det utsätter strukturerad JSON för att stdout med bevis

grundläggande verktygsanvändning

# 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'

verktygs-utgångsstrukturen

verktygsbevelet ger tillbaka strukturerad JSON med bevisspårning:

{
  "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"
  }
}

Vad kan jag göra med det här?

docsummarizer tool [options]
Option Kort Beschreibung
--url -u URL att hämta och summera
--file -f Att sammanfatta
--query -q Optionell fokusfråga
--mode -m Summariseringsmöjlighet ( Automatiskt , BertRagM SK3 Bert, BertHybridMska5 MapReduceMske6 RagM Ska7 Iterativt)
--model Ollama-modellen för att använda
--config -c Konfigurationspfad

Nyckel till designprinciper

  • Evidensgrundering: Varje claim inkluderar evidence IDs som referenserar källskivor
  • Konfidensnivåer: Krävande bedöms high, medium, eller low baserat på stödjande bevis
  • Klara utgång: Den executive summary har inga citationsmarkörer för att se det enkelt ut
  • Metadata: Bewerkingsstatistiker hjälper med avbugning och kvalitetbedömande
  • Fehler i hantering: Misslyckanden återvänder success: false med en error meddelande

Integrationsexempler

Python skrip:

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']}")

Kolledning:

# 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'

Vinnig Start

Download Pre-byggda binärer

Pre-byggda infödda executables är tillgängliga från GitHub-utsläpp:

Platten Arkitektur ladda ner
Windows docsummarizer-win-x64.zip
Windows ARM docsummarizer-win-arm64.zip
Linux x64 docsummarizer-linux-x64.tar.gz
Linux ARM docsummarizer-linux-arm64.tar.gz
macOS docsummarizer-osx-x64.tar.gz
macOS 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 "."

Förberedelser

Bert Modus ( Inga yttre tjänster)

För rent extraktiv summerning, inga externa tjänster nödvändiga:

docsummarizer -f document.md -m Bert

ONNX-modeller automatiskt-download från HuggingFace på första användning (~23MBM SK2 Omgångar i ~3-5 sekunderMSC4

LLM-läger (Auto, BertRagM SK2 MapReduce , etcMSC4

För LLM-motoriserad sammanfattning , Ollama är nödvändigt:

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

Spodspets: För snabbare sammanfattningar (~3s jämfört med --model qwen2.5:1.5b

facultativt: Dokling (Binärformat

Erforderliga för PDF, DOCX, XLSXM SK2 PPTX , HTMLMska4 bilder MSC5PNGM Ska6JPGMskar7TIFFMskan8 CSVMsaka9 VTTMaskan10 och AsciiDoc-DaterMskka11 Markdown och enkla textdater kan läsas direkt - inget dokumentering krävs.

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

Optionellt: Qdrant (Persistent vektorförvarandeM SK2

Det är inte standardmässigt nödvändigt. - BertRag använder i-memory-vektorer

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

Sedan konfigurera i docsummarizer.json:

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

Optional: Ollama-beläggningar

Om du föredrar Ollama för inbäddar istället för ONNX:

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

Verifiera beroenden

docsummarizer check --verbose

Den förväntade utgången visar en formaterad tabell:

              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.

Beteckning: Dokling och Qdrant som visar att ✗ är bra för Markdown

Användning

Standardbeteende

Running docsummarizer utan argument kommer:

  1. Leta efter README.md i det nuvarande kataloget
  2. sammanfatta det med Auto-läge (smart-modusval
  3. Druk sammanfattningen till konsolen med en fin panel-UI
  4. Auto- spara till 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

Grundbeteckningar

# 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

Summariseringsmodi

verktyget utvecklades från " bara MapReduce " till en hel pipeline

Auto (Default)

Kieser den rätta metoden baserat på vad du vill ha.

docsummarizer -f doc.pdf

BertRag (Produktion

Det här är vad du vill ha för produktion.

  1. Utvinna - analysera dokumentet i segmenter , lägga in dem med BERT
  2. Ta tillbaka - Hitta de relevanta segmenten
  3. Synthesera - LLM skriver en flytande sammanfattning från dessa segment.
docsummarizer -f doc.pdf -m BertRag
docsummarizer -f doc.pdf -m BertRag --focus "payment terms"

Varför använda den: Varje påstående sträcker sig tillbaka till ett källsegment

Bert (FastM SK1 Nej LLM)

Rent extraktion med hjälp av lokala ONNX-modeller. Ingen LLM sändning alls

docsummarizer -f doc.pdf -m Bert

Varför använda den: Fungerar offline. Grönar tillbaka i ~3-5 sekunder . Deterministiskt | ( | Samma inmatning |= | samma utputning ♫ ). | Bra nog för snabb skanning

Berthybrid

BERT-extrakter, LLM-polisser . Mellanrumbet mellan Bert och BertRag

docsummarizer -f doc.pdf -m BertHybrid

MapReduce / Rag / Iterativ

De ursprungliga modellerna. fungerar fortfarande, men BertRag erbjöd dem för de flesta användande fallen

  • Reduktion: Parallell chunking, bra för 100% yta
  • Rag: Vektorsökningen, bra för koncentrerade frågor (legas - BertRag gör det här bättre
  • Iterativ: Sekvationell bearbetande , bara för små dokument
docsummarizer -f doc.pdf -m MapReduce  # Full coverage
docsummarizer -f doc.pdf -m Rag --focus "query"  # Legacy focused mode

Fråga Modus

Istället för att sammanfatta

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

Att hämta web-URL

sammanfatta webbsidor direkt utan att ladda ned:

# 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

Ondersteund innehåll: HTML | ( | städat | ), | PDF | , | markering |, | bilder | SKS5 | OCR | SMk6 | kontorsdokument | MSN | Large images automatically resized

säkerhet: SSRF skydd , DNS återkoppelning skydd, , innehåll, M SK3 typ av gating, , dekompressionsbomb skydd.

JavaScript-överlämnade sidor: Använd --web-mode Playwright för SPAs och React-apps (automatiskt - installerar Chromium vid första användning).

Strukturerad Modus

Extrahera maskinen- läsbar JSON istället för prose:

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

Extrakts: entityder , funktioner, nyckelflödenM SK3 fakta Mska4 med tillitnivåer Mska5 osäkerhetenM Ska6 citera passagerMka7

Summary- Templates

# 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
Template Words Det bästa
default ♫ ~300 ♫ ♫ ♫ En balanserad sammanfattning med ämnena ♫
prose ♫ ~400 ♫ ♫ ♫ Klara flertal ♫
brief
oneliner
bullets automatiskt Bullet point list 5-7 Items
executive ~150 ♫ ♫ ♫ Executive briefing with recommendations ♫
detailed
technical ♫ ~350 ♫ ♫ ♫ Teknikdokument med implementeringsdetails ♫
academic ♫ ~250 ♫ ♫ ♫ Akademisk abstrakt format ♫
citations automatiskt Nyckelcitater med enbart källkodscitater
bookreport ~500 bokrapport bestämning , tecken , kurva , tema
meeting ~200
strict ~60

För att se alla tillgängliga templater med Beschreibungar:

docsummarizer templates

Modell Benchmarking

Vergleicha modeller på samma dokument med hjälp av benchmark underkommando:

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

Benchmarkkommandot analyserar dokumentet en gång, sen kör varje modell på samma bitar för att göra en rättvis jämförelse . utgången visar timing , ordtal M SK3 och ord MSC4 sekund för varje modell Mska5

Batchprocessing

Fördela hela kataloger:

# 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

Kommandot-Rysoptioner

Option Kort Beschreibung Standard
--file -f Gidsväg till dokumentet (DOCX, PDFM SK3 MD
--directory -d Gidsväg till katalog för slagprocessing
--url -u Web-URL för att få fram och summera
--web-enabled Aktivera att få fram webbsidor ♫ ♫ ( ♫ är nödvändigt för ♫ false
--mode -m Summariseringsmöjlighet : Automatiskt , BertRagM SK3 Bert, BertHybridMska5 MapReduceMske6 RagM Ska7 Iterativt Mska8 Auto
--structured -s Använd strukturerad JSON extraktionsmodi false
--focus Fokusfrågan för RAG-läger ♫ ♫ ♫ Ingen ♫
--query -q sökmodi istället för sammanfattning Ingen
--model Ollama-modellen för att använda llama3.2:3b
--verbose -v Se detaljerad utveckling med live UI false
--config -c Gidsväg till Konfigurationsdatet Omedelbart
--output-format -o utgångsformatet : konsolen , text, , markering Console
--output-dir ♫ ♫ utgångskatalog för lêerutsläpp ♫ ♫ Current dir ♫
--extensions -e Dateiextensioner för slagläger Alla dokumenteringsformat
--recursive -r Processkataloger rekursivt false
--template -t Syntaxbetecknings- -( default , brief , bullets , executive , etc default
--words -w Bestämde ordtal ( överrider templaten )

| --embedding-backend | | Embedding backend: OnnxM SK3 Ollama | Onnx | | --embedding-model | | Modell namn på ONNX | | | RAG-läger AllMiniLmL6V2 | | --web-mode | | Web-fetch-läger: EnkeltM SK3 Playwright | Simple | | --analyze | -a | Runa kvalitetanalys på sammanfattningen | false |

Summariseringsmodi

Reduktion av kartan (Empfohlen )

Det är bäst för komplexa sammanfattningar med hela dokumentskydd.

docsummarizer -f document.pdf -m MapReduce -v

Hur det fungerar:

  1. Splitter dokument i strukturella chunks (med underkategorier)
  2. sammanfattar varje del parallellt med hjälp av LLM
  3. Reducer sammanfattningar till Executive Summary med citat
  4. Validaterar alla citationer som referens till verkliga chunks

Hierarkisk minskning för långa dokument:

För väldigt långa dokument där sammansatta chunkbeteckningar överträffar modellen's kontextfenster, MapReduce använder automatiskt hierarkisk reduktionM SK2

  1. Batchning: Summaryr i lager som passar in i sammanhanget
  2. Intermediat minskning: Reducer varje lager till en sammanfattad summary
  3. slutgiltiga minskning: Merger mellanförteckningar till slutresultatet
  4. Rekursiv: Om mellanmålen fortfarande är för storaM SK1 lägger till fler nivåer
100 chunks → 100 summaries → 5 batches → 5 intermediate summaries → final

Detta bevarar den fulla dokumentationen oberoende av längden. - varje chunk bidrar till den slutliga sammanfattningen.

Förmågor: snabb , komplett täckning , parallell processing M SK3 hanterar vilken dokumentlängd som helst Olyckor: Kan misslyckas med korsning - sektioner

RAG (Best for Focused Queries)

Det bästa när du behöver fokusera på specifika ämnen eller har en riktad fråga.

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

Hur det fungerar:

  1. Indekserar dokumentskivor som vektorbäddar i Qdrant
  2. Extraherar nyckelämnen från dokumentens titre
  3. Retriever relevanta chunks per tema med hjälp av semantisk sök
  4. Syntheserar koncentrerad sammanfattning med citat

När använda RAG över MapReduce:

| Scenario | | | bästa mode || |----------|-----------| | "Sämma hela dokumentet "" Vad säger detta om säkerhet? "" | 500-bokhandboken, behöver allting | | | MapReduce | 500-bokhandboken, kräver särskild sektion | | | RAG | | Bra snabba resultat , inte möjliga

RAG är inte om att hantera långa dokument - MapReduce hanterar det med hierarkisk reduktion . RAG är ungefär relevansfiltering: när du vill ignorera 90% av ett dokument och fokusera på vad som är viktigt för din specifika fråga

Förmågor: Topic Olyckor: Kan missa innehåll utanför fokusområdet , kräver Qdrant

Iterativ

Det bästa för berättelsedokument där kontexten strömmar i ordning

docsummarizer -f story.pdf -m Iterative -v

Varning: långsammare och kan förlora kontext på långa dokument

Den stora dokumentführern

Att välja den rätta metoden

Dokumentets typ mål sätt МSK3 varför
Technische specifikation (50+ sidor) Tillvägagångsförfattning Reduktion av kartan Hela omfång
Den nya / Berättelse ♫ Executive summary MapReduce ♫
Rättsöverenskommelse Executive summary MapReduce Kan ' Missklagar
Rätts contract " Zahlungsbedingungen ?" МSK4 RAG
API-docs ♫ (200 ♫ sidor ♫ МSK2 ♫ ♫
forskningssatsen översiktfull MapReduce 3 Strukturerad 4 behöver allt 5

Fiction vs Non-Fiction

innehållstyp bästa modet
Fiction/Berättelse MapReduce Plott kräver sekvenserad kontext
Teknikdokument Båda MapReduce för överblick , RAG för specifikation
lagliga/överdrag Reduktion av kartan Varje klausl spelar roll
Instruktioner RAG ♫ ♫ ♫ Vanligtvis frågar man efter specifika ♫

Förmågor

Dokumentsstorlek MapReduce RAG МSK3 Anteckningar
10 sidor ♫ ♫ 15 ♫
50 sidor МSK3s
200 sidor ♫ ♫ 3-5 ♫ min ♫
500+ sidor ♫ ♫ ♫

Konfiguration

Generera standardkonfiguration

docsummarizer config --output myconfig.json

Konfigurationsdatet

Konfigurationen är automatiserad.

  1. --config alternativ
  2. docsummarizer.json i det nuvarande gids
  3. .docsummarizer.json ( gömd file)
  4. ~/.docsummarizer.json (användaren hem )

exempel 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
  }
}

Bearbetande alternativ

Option Standard Beschreibung
maxLlmParallelism ♫ 8 ♫ ♫ ♫ Samma LLM-delar ♫
maxHeadingLevel 2 Splitt på H 1/ H , 2 bara . Set till 3 för finare granularitet
targetChunkTokens 0 automatiserad 3 4 Target chunk size 5 6 7 Automatiserad
minChunkTokens 0 ♫ ♫ ( ♫ automatiserat ♫

Utgångsformat

sammanfattningsstruktur

## 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

Träg mätningar: Omfattning (% inbegripande sektioner ), Citationsgrad (citationer/bulletM SK5 Fördelade skräddar ♫ ( ♫ RAG kan hoppa över vissa ♫). ♫

Rekommendationer för modeller

Modell Storlek МSK2 Spod Jakt
qwen2.5:1.5b 986MB Väldigt snabbt ♫ (~3s ♫) ♫ ♫ Bra ♫ ♫ Görligt optimerat ♫ ♫
gemma3:1b 815 MB МSK2 Fast 3 4 5 Fair 6 Alternativ liten modell
llama3.2:3b 2GB Medel (~15s) 5 Mycket bra Default - bra balans
ministral-3:3b 2.9GB Medel (~20s) 5 Mycket bra Kvalite - fokuserad
llama3.1:8b 4.7GB långsamt (~45s) 5 Utmärkt Hög - Kvalitesuppfattningar

Tipp: För snabbare sammanfattningar (~3s jämfört med --model qwen2.5:1.5b. För kritiska dokument där kvalitet spelar större roll --model llama3.1:8b.

bygga från källan

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

# Build
dotnet build

# Run
dotnet run -- --help

Self-Inbyggda byggnader

För produktionsimplementering utan att behöva .NET runtime installering:

# 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

utgång: bin/Release/net9.0/<runtime>/publish/docsummarizer

Troubleshooting

"Kan inte koppla till Ollama

  • Se till att Ollama kör: ollama serve
  • Kontrollmodellerna drars ut: ollama list

"Docling-tjänsterna är inte tillgängliga

  • Det här är som bara behövs för PDF/DOCX-Dater
  • För Markdown- filer, kan du ignorera den här felen
  • Att fixa: docker run -p 5001:5001 quay.io/docling-project/docling-serve

"Kdrantuppkoppling fel

  • Det här är som bara krävs för RAG-läger (--mode Rag)
  • För MapReduce-modus (default), kan du ignorera den här felen
  • Att fixa: docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant

"Kircuitbreaker är öppen

  • Ollama är överfull eller har kraschat
  • Vänta 30 sekunder till att kretsbrytare ska återställa , eller starta igen Ollama
  • verktyget använder Pollys motståndskraftspolitiker och kommer att

"wsarecv

  • Detta är ett känt Ollama-problem på Windows (GitHub #13340)
  • verktyget auto- hanterar detta med återproberad logik och kopplings återhämtning
  • Om persistent, fortsätter Ollama och försöker igen

"LLM generation tog slut

  • Höj tidutbrottet i konfigurationen
  • Splittra väldigt stora dokument
  • kolla om Ollama inte är överfull med andra begäran

Repetitiv eller lågt-Kataluppfattningar

Symptom: Bullet points echo the prompt

Saken: Modell som kämpar med efterfrågan eller innehållet för långt

Fixera: Standard qwen2.5:1.5b hanterar de flesta dokument väl. För problematiska dokument, försök --model llama3.2:3b. Se Rekommendationer för modeller.

sammanfattning Ignor dokumentinnehåll

Om sammanfattningen verkar generisk eller inte

  • Modellet kan ha hallucinationer - kontroll Citation rate i spårresultatet
  • Försök RAG-läge (--mode Rag) som baserar sammanfattningar i uppfunna chunks
  • Använda --verbose för att se vilka bitar som processas

Citationer saknas eller inte är korrekta

Om sammanfattningar saknas [chunk-N] citationer:

  • Små modeller prioriterar innehåll jämfört med citationsformatering
  • Sprängarna är optimerade för hastigheten, inte strikt citation conformitet
  • För strikta citat, använder större modeller som llama3.2:3b
  • Kontroller Citation rate i spår - högre värden indikerar bättre spårbarhet

Performance-tips

  • Reduktion för hastighet (parallela chunks)
  • qwen2.5:1.5b för hastighet, llama3.2:3b för saldot, llama3.1:8b för kvalitet
  • Inbäddar för ONNX (default) är snabbare än Ollama för RAG-läger
  • Nedre maxLlmParallelism om du upplever avbrott

resurser

Seri Navigation

Binärligt

logo

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