DocSummarizer Del 2 - Använda verktyget (Svenska (Swedish))

DocSummarizer Del 2 - Använda verktyget

Sunday, 21 December 2025

//

21 minute read

Utgivning från GitHub .NET (netto) Ansökan ska innehålla följande uppgifter:

Det här är Häfte 2 i DocSummarizer serien. Se Häfte 1 för arkitektur och mönster, eller Häfte 3 för den djupa tekniska dykningen i inbäddningar och hämtning.

Förvandla dokument eller webbadresser till faktabaserade sammanfattningar - för människor eller AI agenter - utan att skicka något till molnet.

Varje påstående är spårbart, alla fakta anger dess källa, fristående binär, körs 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 behandlar: Installation, nyckellägen (Auto/BertRag/Bert), mallar och vanliga användningsfall.

Vad det inte täcker: Fullständig kommandoreferens, inställningsalternativ, felsökning, arkitekturdetaljer.

För fullständig dokumentation, se INLEDNING. För hur det fungerar internt, se Häfte 3.

Varför detta existerar

De flesta sammanfattningar ger dig text. bevis.

  • I varje påstående ingår [chunk-N] hänvisningar Tillbaka till källmaterial
  • Förtroendenivåer (högt/medelhögt/lågt) baserat på bevisning
  • Strukturerad JSON-utmatning för agentintegration, CI-rörledningar eller MCP-servrar
  • Kvalitetsmått Fånga hallucinationer innan de rymmer.

Om du behöver Tillit En sammanfattning - eller mata den till ett annat system - som är viktig.

Kännetecken

  • och BertRag Pipeline: Produktionskvalitet BERT extraktion → hämtning → LLM syntes
  • Automatiskt läge: Smart läge val baserat på dokument och fråga
  • på Bert- läge: Ren extraherande sammanfattning - ingen LLM behövs, fungerar offline (~3-5s)
  • Avrundad utmatning av bevis: Citeringar, konfidensnivåer, spårbara påståenden
  • Flera lägen: Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iterativ
  • Verktygsläge: Ren JSON för LLM-agenter, MCP-servrar, CI-kontroller
  • 13 Mallar: standard, prosa, kort, oneliner, kulor, verkställande, detaljerad, teknisk, akademiska, citeringar, bokrapport, möte, strikt
  • Stora dokument: Hanterar 500+ sidor med hierarkisk bearbetning
  • Webbhämtning: Säkerhetshärdad (SSRF-skydd, HTML-sanering)
  • Uppspelningsrätt läge: Huvudlös webbläsare för JavaScript-renderade sidor (SPA, React apps)
  • ONNX-inbäddningar: Zero-config lokala inbäddningar - modeller automatisk nedladdning vid första användning
  • Kvalitetsanalys: Detektion av hallucination, extraktion av entiteter
  • Motståndskraftig LLM: Polly-baserade försök med jitter backoff + brytare
  • Endast lokalt: Ingenting lämnar din maskin

Använda som ett LLM-verktyg

och tool kommando är speciellt utformad för integration med AI-agenter, MCP-servrar och andra automatiserade system. Det ger strukturerade JSON att stdout med bevis-grundade påståenden - perfekt för att bygga RAG rörledningar eller agent verktyg.

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'

Verktygsutmatningsstruktur

Verktygskommandot returnerar 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"
  }
}

Verktygskommandoalternativ

docsummarizer tool [options]

tillval och kort beskrivning på plats |--------|-------|-------------| | --url | -u på webbadressen för att hämta och sammanfatta | --file | -f Fil för att sammanfatta | --query | -q Obligatorisk fokusfråga | --mode | -m Sammanfattande läge (Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iterative) | --model Ollama modell att använda | --config | -c Inställningsfilsökväg

Principer för utformning

  • Bevisupptagning: Varje fordran inkluderar evidence ID:n som refererar till källbitar
  • Förtroendenivåer: Fordringar är betygsatta high, medium, eller low på grundval av bevisning som ligger till grund för detta beslut,
  • Ren utmatning: för executive sammanfattning har inga citeringsmarkörer för enkel visning
  • Metadata: Bearbetningsstatistik hjälper till med felsökning och kvalitetsbedömning
  • Felhantering: Misslyckanden återvänder success: false med en error meddelande

Exempel på integration

Pythonskript:

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

Skalledning:

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

Snabbstart

Ladda ner förbyggda binärer

Förbyggda inhemska körbara program finns tillgängliga från Utgåvor av GitHub:

Ladda ner ladda ner ladda ner

---------- -------------- ----------
Fönster på ARM64 docsummarizer-win-arm64.zip
Obligatoriskt för Linux på x64 docsummarizer-linux-x64.tar.gz
Obligatoriskt för Linux på ARM64 docsummarizer-linux-arm64.tar.gz
och macOS på x64 (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 "."

Förutsättningar

Bert Mode (inga externa tjänster)

För ren utvinningssammanfattning, Inga externa tjänster krävs:

docsummarizer -f document.md -m Bert

ONNX modeller automatisk nedladdning från HuggingFace vid första användning (~23MB). Returnerar i ~3-5 sekunder.

LLM Modes (Auto, BertRag, MapReduce, etc.)

För LLM-driven summering krävs Ollama:

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

Hastighetstips: För snabbare sammanfattningar (~3s vs ~15s), använd --model qwen2.5:1.5b

Valfritt: Dockning (binära format)

Krävs för PDF, DOCX, XLSX, PPTX, HTML, bilder (PNG/JPG/TIFF), CSV, VTT och AsciiDoc-filer. Markering och enkla textfiler läses direkt - ingen dockning krävs.

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

Valfritt: Qdrant ( Persistent Vector Storage)

Krävs inte som standard - BertRag använder vektorer i minnet. Aktivera Qdrant för ihållande lagring för att undvika att återinbädda dokument i efterföljande körningar:

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

Anpassa sedan in docsummarizer.json:

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

Valfritt: Ollama-inbäddningar

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

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

Verifiera beroenden

docsummarizer check --verbose

Förväntad effekt 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.

Anmärkning: Dockning och Qdrant som visar till är bra för arbetsflöden endast Markdown.

Användning

Förvalt beteende

Kör docsummarizer utan några argument kommer att

  1. Leta efter README.md i aktuell katalog
  2. Sammanfatta det med hjälp av Automatiskt läge (val av smartläge)
  3. Skriv ut sammanfattningen till konsolen med en trevlig panel UI
  4. Spara automatiskt 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

Grundläggande sammanfattning

# 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

Sammanställningsläge

Verktyget utvecklades från "bara MapReduce" till en full pipeline. Här är vad varje läge faktiskt gör:

Automatisk (förval)

Väljer rätt läge baserat på vad du ber om. Använd detta om du inte har en anledning att inte.

docsummarizer -f doc.pdf

BertRag (Produktion)

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

  1. Extrahera - Tolkning av dokumentet i segment, bädda in dem med BERT
  2. Hämta - Hitta de relevanta segmenten (semantisk sökning + salience scoring)
  3. Syntetisk storlek - 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 spårar tillbaka till en källa segment. Ingen hallucination. Skalar till någon dokumentstorlek. LLM bara körs i slutet (billig).

Bert (Snabb, ingen LLM)

Ren extraktion med lokala ONNX-modeller, inget LLM-samtal alls.

docsummarizer -f doc.pdf -m Bert

Varför använda den: Fungerar offline. Returnerar i ~3-5 sekunder. Deterministisk (samma indata = samma utdata). Tillräckligt bra för snabbsökning.

BertHybrid Ordförande

BERT-extrakt, LLM-lack. Mellanmark mellan Bert och BertRag.

docsummarizer -f doc.pdf -m BertHybrid

KartaReduce / Rag / Iterativ

De ursprungliga lägena. Fungerar fortfarande, men BertRag ersatte dem för de flesta användningsfall.

  • KartaReduce: Parallell kapning, bra för 100% täckning
  • Släpkärra: Vector search, bra för fokuserade frågor (legacy - BertRag gör detta bättre)
  • Iterativt: Sekventiell bearbetning, endast för små dokument
docsummarizer -f doc.pdf -m MapReduce  # Full coverage
docsummarizer -f doc.pdf -m Rag --focus "query"  # Legacy focused mode

Frågeläge

I stället för att sammanfatta, ställ frågor om ett dokument:

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

Webbadresshämtning

Sammanfatta webbsidor direkt utan att ladda ner:

# 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

Innehåll som stöds: HTML (sanitized), PDF, Markdown, bilder (OCR), Office-dokument. Stora bilder ändras automatiskt.

Säkerhet: SSRF-skydd, DNS-rebindande skydd, innehållsliknande gating, dekompressionsbombskydd, HTML-sanering.

JavaScript-renderade sidor: Användning --web-mode Playwright för SPA och React-appar (auto-installationer Krom vid första användningen).

Strukturerat läge

Extrahera maskinläsbar JSON istället för prosa:

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

Utdrag: enheter, funktioner, nyckelflöden, fakta (med konfidensnivåer), osäkerheter, koncisa passager.

Sammanfattande mallar

# 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 med ord på bästa sätt |----------|-------|----------| | default på ~300 på balanserad sammanfattning med ämnen (2 stycken) | prose på ~400 på ren flerpunktsprosa - inga metadata | brief Kort sammanfattning på 2-3 meningar | oneliner Sammanfattning av enkel mening | bullets Skottpunktslista (5-7 objekt) | executive på ~150 på Executive information med rekommendationer | detailed på ~1000 på ett heltäckande sätt med alla ämnen | technical på ~350 på tekniska dokument med genomförandedetaljer på | academic på ~250 på Akademiskt abstrakt format på engelska | citations på auto på nyckelcitat med källciteringar endast på | bookreport på ~500 på bok rapport (inställning, tecken, tomt, teman) på | meeting på ~200 på Möteskommentarer (beslut, åtgärder, frågor) | strict på ~60 på Token-effektiva, 3 kulor max, ingen säkring

För att se alla tillgängliga mallar med beskrivningar:

docsummarizer templates

Förlaga till benchmarking

Jämför 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"

Kommandot benchmarking tolkar dokumentet en gång, kör sedan varje modell på samma bitar för rättvis jämförelse. Utmatning visar timing, ordräkning och ord/sekund för varje modell.

Bearbetning av tillverkningssatser

Behandla 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

Kommandoradsväljare

Förvalt alternativ och kort beskrivning på grund av förvalda värden |--------|-------|-------------|---------| | --file | -f Sökväg till dokument (DOCX, PDF, MD) på engelska | --directory | -d Sökväg till katalog för batch-bearbetning | --url | -u Webbadress för att hämta och sammanfatta | --web-enabled Aktivera webbhämtning (krävs för --url) false | | --mode | -m Sammanfattande läge: Auto, BertRag, Bert, BertHybrid, MapReduce, Rag, Iterative Auto | | --structured | -s Använd strukturerat JSON-extraktionsläge false | | --focus Inriktningsfråga för RAG-läge | --query | -q och frågeläge istället för summering | --model Ollama modell att använda llama3.2:3b | | --verbose | -v på Visa detaljerade framsteg med live UI false | | --config | -c Sökväg till inställningsfil med automatisk upptäckt | --output-format | -o Utmatningsformat: Konsol, Text, Markering, Json Console | | --output-dir Utmatningskatalog för filutmatningar | --extensions | -e på Filtillägg för batch-läge på alla dockningsformat | --recursive | -r Processkataloger rekursivt false | | --template | -t En sammanfattning av mallen (standard, kort, kulor, verkställande, etc.) default | | --words | -w Obligatoriskt antal målord (överskrider mall)

--embedding-backend Inbäddad backend: Onnx, Ollama Onnx
--web-mode Webbhämtningsläge: Enkelt, Playwright Simple
--analyze -a till Kör kvalitetsanalys på sammanfattning på false

Sammanställningsläge

MapReduce (rekommenderas)

Bästa för omfattande sammanfattningar med fullständig dokumenttäckning.

docsummarizer -f document.pdf -m MapReduce -v

Hur det fungerar:

  1. Dela upp dokumentet i strukturella bitar (per rubrik)
  2. Sammanfattar varje bit parallellt med LLM
  3. Reducerar sammanfattningar till sammanfattningar med citeringar
  4. Validerar alla citeringar referens verkliga bitar

Hierarkisk reduktion för långa dokument:

För mycket långa dokument där den kombinerade bitsammanfattningen överskrider modellens sammanhangsfönster använder MapReduce automatiskt hierarkisk reduktion:

  1. Slagning: Gruppsammanfattningar i partier som passar in i sammanhanget
  2. Intermediär minskning: Reducerar varje sats till en kondenserad sammanfattning
  3. Slutlig minskning: Sammanställer delsammanfattningar i slutresultatet
  4. Rekursiv: Om intermediärer fortfarande är för stora, lägger till fler nivåer
100 chunks → 100 summaries → 5 batches → 5 intermediate summaries → final

Detta bevarar full dokumenttäckning oavsett längd - varje bit bidrar till den slutliga sammanfattningen. Verktyget uppskattar tokens (~4 tecken / token) och riktar 60% sammanhangsfönster utnyttjande per minskning pass.

Förmåner: Snabb, komplett täckning, parallell bearbetning, hanterar dokumentlängd Nackdelar: Kan missa tvärsnittsanslutningar, långsammare för mycket långa dokument

RAG (bästa för fokuserade frågor)

Bäst 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. Indexerar dokumentbitar som vektorbäddar i Qdrant
  2. Extraherar viktiga ämnen från dokumentrubriker
  3. Hämtar relevanta bitar per ämne med semantisk sökning
  4. Synthesizes fokuserad sammanfattning med citeringar

När du ska använda RAG över MapReduce:

Scenario på bästa sätt |----------|-----------| på "Summarisera hela detta dokument" på kartanReduce "Vad säger det här om säkerhet?" 500-sidig manual, behöver allt på kartanReduce (hierarkisk) på 500 sidor manual, behöver specifik avsnitt på RAG på Behöver snabba resultat, har inte Qdrant på kartanReduce

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

Förmåner: Ämnesfokuserad, semantisk förståelse, återanvändning index, snabbare för fokuserade frågor Nackdelar: Kan missa innehåll utanför fokusområdet, kräver Qdrant, långsammare initial indexering

Iterativt

Bästa för berättande dokument där kontexten flödar sekventiellt.

docsummarizer -f story.pdf -m Iterative -v

Varning: Långsammare och kan förlora sammanhang på långa dokument (>10 bitar).

Stor dokumentguide

Välja rätt läge

på dokumenttyp på mål och läge på grund av detta |---------------|------|------|-----| Tekniska specifikationer (50+ sidor) en fullständig sammanfattning på kartanReduce med fullständig täckning på Novel/Narrative med fullständig sammanfattning på kartanReduce och behöver tidskontext till Juridiskt avtal och fullständig sammanfattning på kartanReduce på sidan Kan inte missa klausuler • Lagligt kontrakt • "Betalningsvillkor?" • RAG • Fokusera på specifika avsnitt på API-dokument (200 sidor) på "Hur fungerar auth?" på forskningsrapport och fullständig sammanfattning på kartanReduce med struktur, behöver allt

Fiktion vs icke- fiktion

på innehållstyp på bästa sätt . Anteckningar . |--------------|-----------|-------| | Fiktion/Narrativ på kartanReduce och Plot kräver sekventiellt sammanhang | Tekniska dokument på båda sidor av kartanReduce for overview, RAG for specifics | Rättsliga/avtal på kartanReducera alla klausuler som är viktiga | Handböcker på RAG på Vanligen fråga efter detaljer

Prestanda

på dokumentstorlek på kartanReducera RAG-anteckningar |---------------|-----------|-----|-------| 10 sidor 15s 20s båda snabbt på 50 sidor 45s 30s på RAG snabbare om det är fokuserat på 200 sidor 3-5 min på 1–2 min på Hierarkisk reduktion på 500+ sidor 10–15 min på 2-3 min Överväg flera RAG-frågor

Inställning

Skapa standardinställning

docsummarizer config --output myconfig.json

Inställningsfil

Inställningen är automatiskt upptäckt från:

  1. --config alternativ
  2. docsummarizer.json i aktuell katalog
  3. .docsummarizer.json (dold fil)
  4. ~/.docsummarizer.json (användarhem)

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

Hanteringsalternativ

Obligatoriskt förvald beskrivning |--------|---------|-------------| | maxLlmParallelism Ollama köer (Ollama köer, så högre värden bara kö) | maxHeadingLevel på endast H1/H2. Ställ in till 3 för finare granularitet | targetChunkTokens 0 (auto) 0 = automatisk beräkning (~25% av sammanhangsfönstret) | minChunkTokens 0 (auto) på minsta möjliga före sammanslagningen. 0 = 1/8 av målet

Utmatningsformat

Sammanfattning

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

Spårmått: Täckning (% avsnitt ingår), Citeringshastighet (citeringar / bult), Chunks bearbetade (RAG kan hoppa över några).

Förlaga till rekommendationer

på modell på storlek på hastighet och kvalitet på användningsfallet på plats |-------|------|-------|---------|----------| | qwen2.5:1.5b på 986MB och mycket snabb (~3s) | gemma3:1b 815MB på snabb (~10s) på ett rättvist sätt på en alternativ liten modell | llama3.2:3b 2GB på medellång (~15s) på mycket bra Förval - bra balans | ministral-3:3b 2.9GB på medellång (~20s) på ett mycket bra sätt, kvalitetsfokuserad | llama3.1:8b Slow (~45s) på 4,7GB (~45s)

Tips: För snabbare sammanfattningar (~3s vs ~15s), använd --model qwen2.5:1.5b. För kritiska dokument där kvalitet betyder mer, använd --model llama3.1:8b.

Bygg från källa

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

# Build
dotnet build

# Run
dotnet run -- --help

Självbevarade byggnader

För produktion utan krav på .NET runtime installation:

# 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

Utmatning: bin/Release/net9.0/<runtime>/publish/docsummarizer

Felsökning

"Kan inte ansluta till Ollama"

  • Se till att Ollama kör: ollama serve
  • Kontrollera att modellerna dras: ollama list

"Doclingtjänst inte tillgänglig"

  • Det här är krävs endast för PDF/DOCX-filer
  • För Markdown-filer kan du ignorera detta fel
  • För att fixa: docker run -p 5001:5001 quay.io/docling-project/docling-serve

"Qdrantanslutning misslyckades"

  • Det här är endast krävs för RAG-läge (--mode Rag)
  • För MapReduce- läge (standard), kan du ignorera detta fel
  • För att fixa: docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant

"Circuit breaker är öppen"

  • Ollama är överbelastad eller har kraschat
  • Vänta 30 sekunder för brytaren att återställa, eller starta om Ollama
  • Verktyget använder Polly resilience policys och kommer auto-retry

"Wsarecv" eller anslutningsfel (Windows)

  • Detta är en känd Ollama fråga om Windows (GitHub #13340)
  • Verktyget automatiskt hanterar detta med försök logik och anslutning återhämtning
  • Om ihållande, starta om Ollama och försök igen

"LLM-generationen har gått ut"

  • Öka tidsgränsen i konfigurationen
  • Dela upp mycket stora dokument
  • Kontrollera att Ollama inte är överbelastad med andra förfrågningar

Repetitiva eller lågkvalitativa sammanfattningar

Symtom: Kul poäng ekar prompten ("Återvänd endast kul poäng", "Reglen är...") i stället för att sammanfatta innehållet.

Orsak: Modell kämpar med snabb eller innehåll för länge.

Rätta: Standardvärdet qwen2.5:1.5b hanterar de flesta dokument bra. För problematiska dokument, försök --model llama3.2:3b. Se också Förlaga till rekommendationer.

Sammanfattning Ignorerar dokumentinnehåll

Om sammanfattningen verkar generisk eller inte refererar till specifikt innehåll:

  • Modellen kan vara hallucinerande - kontroll Citation rate i spårutgång
  • Försök med RAG- läge (--mode Rag) som motiverar sammanfattningar i återvunna bitar
  • Användning --verbose för att se vilka bitar som bearbetas

Omnämnanden saknas eller är ogiltiga

Om sammanfattningar saknas [chunk-N] Hänvisningar:

  • Små modeller prioriterar innehåll framför citeringsformatering
  • Prompterna är optimerade för hastighet, inte strikt citering överensstämmelse
  • För strikta citeringar, använd större modeller som llama3.2:3b
  • Kontrollera Citation rate I spår – högre värden tyder på bättre spårbarhet

Prestandatips

  • KartaReduce för hastighet (parallellbitar)
  • qwen2.5:1.5b för hastighet, llama3.2:3b för balans, llama3.1:8b för kvalitet
  • ONNX-inbäddningar (standard) är snabbare än Ollama för RAG-läge
  • Lägre maxLlmParallelism om du upplever timeout

Resurser

Serienavigering

Relaterade

Finding related posts...
logo

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