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
DocSummarizer Part 2 - Genom att använda verktyget
Sunday, 21 December 2025
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
evidenceIDs som referenserar källskivor - Konfidensnivåer: Krävande bedöms
high,medium, ellerlowbaserat på stödjande bevis - Klara utgång: Den
executivesummary 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: falsemed enerrormeddelande
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:
- Leta efter
README.mdi det nuvarande kataloget - sammanfatta det med Auto-läge (smart-modusval
- Druk sammanfattningen till konsolen med en fin panel-UI
- 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.
- Utvinna - analysera dokumentet i segmenter , lägga in dem med BERT
- Ta tillbaka - Hitta de relevanta segmenten
- 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:
- Splitter dokument i strukturella chunks (med underkategorier)
- sammanfattar varje del parallellt med hjälp av LLM
- Reducer sammanfattningar till Executive Summary med citat
- 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
- Batchning: Summaryr i lager som passar in i sammanhanget
- Intermediat minskning: Reducer varje lager till en sammanfattad summary
- slutgiltiga minskning: Merger mellanförteckningar till slutresultatet
- 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:
- Indekserar dokumentskivor som vektorbäddar i Qdrant
- Extraherar nyckelämnen från dokumentens titre
- Retriever relevanta chunks per tema med hjälp av semantisk sök
- 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.
--configalternativdocsummarizer.jsoni det nuvarande gids.docsummarizer.json( gömd file)~/.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 ratei spårresultatet - Försök RAG-läge (
--mode Rag) som baserar sammanfattningar i uppfunna chunks - Använda
--verbosefö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 ratei spår - högre värden indikerar bättre spårbarhet
Performance-tips
- Reduktion för hastighet (parallela chunks)
qwen2.5:1.5bför hastighet,llama3.2:3bför saldot,llama3.1:8bför kvalitet- Inbäddar för ONNX (default) är snabbare än Ollama för RAG-läger
- Nedre
maxLlmParallelismom du upplever avbrott
resurser
- källkod
- GitHub-utsläpp
- Dokling / Docling-Serve
- Qdrant - Lokala vektordatabas
- Ollama / Ollamascharp
- Polly - .NETs motståndskraft och tillfälliga handlingar
- Spectre.Konsole - vackra terminalgränssnitt
Seri Navigation
- Del 1: Att bygga en dokumentuppfattare med RAG - Architekturen och mönsterna
- Del 2: Att använda verktyget (den här artikeln
- Del 3: avancerade koncept - djupt dyka in i BERT