Частина програми DocSummarizer 2 - Користування інструментом (Українська (Ukrainian))

Частина програми DocSummarizer 2 - Користування інструментом

Sunday, 21 December 2025

//

21 minute read

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"

Обговорення цієї статті: встановлення, режими ключів (Авто/ BenrtRag/Bert), шаблони і звичайні випадки використання.

Те, чого він не покриває: Повне посилання на команди, параметри налаштування, усунення проблем, параметри архітектури.

За повною документацією дивіться README. Для того, як він працює внутрішньо, дивіться Частина 3.

Чому це існує

Більшість резюме надають вам текст. свідчення.

  • Будь- яка заява включає [chunk-N] Цитата повернутися до вихідного матеріалу
  • Рівень довіри (високий/медіум/вниз) заснований на підтримуванні доказів.
  • Structured JSON вивід для інтеграції агентів, каналів CI або серверів MCP
  • Якість вимірювачів спіймати галюцинації, перш ніж вони втечуть

Якщо треба, довіра Резюме, або подавання його іншій системі, має значення.

Можливості

  • Латка трубопроводу: Виробнича евакуація → Вхід → синтез LLM
  • } Режим авто: Вибір кмітливого режиму на основі документа і запиту
  • }Червоний режим: Чиста екстрактивна резюме - не потрібна LLM, працює у автономному режимі (~3- 5s)
  • Округлений доказ виведення: Цитування, рівень довіри, претензії
  • Декілька режимів: Auto, BertRag, BertHybrid, MapReduce, Rag, Iterative
  • Режим інструментів: Очистити JSON для агентів LLM, серверів MCP, перевірки CI
  • 13 Шаблони: типовий, проз, короткий, однолінер, кулі, виконавчий, детальний, технічний, академічний, цитати, книжковий звіт, зустріч, строгий
  • Великі документи: Опрацьовує 500+ сторінки з ієрархічною обробкою
  • Отримання інтернету: Придатний для безпеки (СРРФ захист, дезінфікація HTML)
  • Режим Playwright: Переглядач безголових для сторінок JavaScript (SPAs, React apps)
  • Вбудовування ONNX: Вбудовування з нульовим налаштуванням - автозавантаження моделей після першого використання
  • Аналіз якості: Розпізнавання галюцинацій, видобування сутностей
  • Змінний LLM: Полістична повторна спроба зі зворотним зривом + розривом зв' язку
  • Лише локальні: Ніщо не залишає вашого комп' ютера

Використовується як інструмент LLM

The tool Команда розроблена спеціально для інтеграції з агентами AI, серверами MCP та іншими автоматичними системами. Програма виведе програму JSON до stdout з умовами, накресленими на основі даних, - відмінною для побудови трубопроводів RAP або інструментів агентів.

Основне використання інструментів

# 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 location to app і підсумувати ♪ | --file | -f } Файл, щоб підсумувати ♪ | --query | -q ♪ Додатковий запит у фокусі ♪ | --mode | -m Режим =$ (Автоматичний, БертРаґ, Берт, Бертхир, MpReduce, Rag, Ітерати) | --model ♪ Ollama модель, яку слід використовувати ♪ | --config | -c шляху до файла налаштувань@ info: whatsthis

Ключові принципи дизайну

  • Нагромадження доказу: Кожна вимога evidence Ідентифікатори, що стосуються шматків джерела
  • Рівні довіри: Оголошення оцінено high, medium, або low ґрунтована на підтвердженні доказів
  • Очистити вивід: The executive резюме не має позначок посилань на простий дисплей
  • Метадані: Обробка статистики допоможе у виявленні вад і оцінці якості
  • Обробка помилок: Невдача повертається success: false з an error message

Приклади інтеграції

Скрипт мовою 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:

Теократична} Звантажте ♪

---------- -------------- ----------
Д. д. д. д. д. д. д. д. д. д. д. д. д. д. docsummarizer-win-arm64.zip
x64} docsummarizer-linux-x64.tar.gz
  • Linux'ARMSecond item of% 1% 2 Drive sentence docsummarizer-linux-arm64.tar.gz
    АРМ64 (Аплейк Кремнієвий) годин 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 "."

Передумови

Режим Берта (Без зовнішніх служб)

Для чистої екстрактної узагальнення, Зовнішні служби не потрібні:

docsummarizer -f document.md -m Bert

Моделі ONNX автоматично завантажуються з Hbacking Face після першого використання (~23MB). Повертає через ~3- 5 секунд.

Режими LLM (Автоматично, BertRag, MapReduction тощо)

Для резюме з підтримкою LLM, потрібна 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

Необов' язковий: Docling (Binary Formats)

Потрібні для PDF, DOCX, XLSX, PPTX, HTML, зображень (PNG/ JPG/TIFF), CSV, VTT і файли AsciiDoc. Відмітки і текстові файли буде прочитано безпосередньо, не обов' язково для додзвону.

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

Необов' язковий: Qdrant (Сховище вектора)

Типово не потрібен - BerterRag використовує вектори пам' яті. Увімкнути 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.

ПриміткаДзвінок і QDantrive показують, що це добре для роботи з Маркоду.

Використання

Типова поведінка

Працює docsummarizer без аргументів:

  1. Шукати README.md у поточному каталозі
  2. Підсумувати його за допомогою Автоматичний режим (смарний вибір режиму)
  3. Вивести резюме до консолі за допомогою приємного інтерфейсу панелі
  4. Автозбереження до 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

Режими опублікування

Інструмент еволюціонував від " Простої карти " до повного трубопроводу. Ось що робить кожен режим:

Авто (типове)

Вибирає правильний режим на основі того, про що ви просите. Використовуйте цей режим, якщо у вас немає причин цього.

docsummarizer -f doc.pdf

BertRag (Продукція)

Це те, що ви хочете для виробництва.

  1. Видобути - Обробіть фрагменти документа, вбудуйте їх за допомогою BERT.
  2. Отримати - Знайти відповідні сегменти (семантичний пошук + оцінка).
  3. Синтезація - LLM пише резюме з цих сегментів
docsummarizer -f doc.pdf -m BertRag
docsummarizer -f doc.pdf -m BertRag --focus "payment terms"

Навіщо використовувати його: Кожне твердження слідує за відрізком джерела. Без галюцинацій. Масштабує до будь- якого розміру документа. LLM виконується лише у кінці документа (sheap).

Берт (Fast, No LLM)

Чисте видобування з використанням локальних моделей ONNX. Жодного виклику LLM взагалі.

docsummarizer -f doc.pdf -m Bert

Навіщо використовувати його: Працює у автономному режимі. Повертає у ~3- 5 секундах. Визначити (те саме, що і вхід = той самий вивід). Добре підходить для швидкого сканування.

BertHybrid

Екскременти BERT, полірування LLM. Середина між Бертом і БертомRag.

docsummarizer -f doc.pdf -m BertHybrid

MapReduce / Rag / Ітеративний

Початкові режими. Все ще працюють, але для більшості випадків використання BertRag їх було замінено.

  • MpReduction: Паралельний шматок, придатний для 100% покриття
  • РагEthiopian weekday 2 - LongDayName: Векторний пошук, добрий для фокусованих запитів (легка - БертРаґ робить це краще)
  • Ітеративний: Послідовна обробка, використовується лише для крихітних документів
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?"

Отримання адрес інтернету

Підсумувати веб- сторінки безпосередньо без звантаження:

# 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, images (OCR), Office documents. Великі зображення автоматично змінено.

Безпека: захист від SSRF, захист від повторного прив' язання DNS, гігієна вмісту, захист від декомпресійної бомби, дезінфікація HTML.

Сторінки JavaScript: Використання --web-mode Playwright для програм SPEAs і React (встановлює зберігачій при першому використанні).

Режим структури

Видобути пристрій для читання 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

♪00. |----------|-------|----------| | default +00} Зрівноважує підсумки з темами (2 абзаци) } | prose 400 * Чищення багатоабзацового прозу - без цілих | brief Д-р Цукер: "Чудово, підсумовуй 2-3 речення" | oneliner Д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. про р. | bullets * * * * _
| executive Укорочення з'єднанням з'єднаним з' єднанням | detailed 1000}Створити з повними темами* | technical } Технічні docs with application details} | academic Абстрактний формат Academic} | citations mathicus separes with source's only | bookreport Повідомлення щодо мови +500 * (встановлення, символи, графік, теми)} | meeting Мається на увазі, що ми маємо справу з цими записами, а не з ними. | strict 60} Токен-ефективний, 3 кулі макс, ні він}

Щоб переглянути всі доступні шаблони з описами:

docsummarizer templates

Моделювання позначок

Порівняти моделі за одним документом за допомогою benchmark subcommand:

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

Команда pursemark оброблює документ один раз, а потім запускає кожну модель на однакові шматки для справедливого порівняння. Вивід показує час, кількість слів і слова/ секунду для кожної з моделей.

Пакетна обробка

Процесувати цілі каталоги:

# 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 path to document (DOCX, PDF, MD) * - * | --directory | -d Шлях до каталогу для пакетної обробки - * | --url | -u ♪ Web URL для app і підсумовування} - } | --web-enabled ▸ Увімкнути отримання Тенет (обов' язкове для -- url)} false | | --mode | -m Режим сягментації: Auto, BertRag, BerthHybrid, MapReduce, Rag, it'reate} Auto | | --structured | -s Використовує режим JSON} false | | --focus } Фокус-вправа на режим raG сяє None' s none | --query | -q Режим передач замість узагальнення} Жодного} | --model ♪ Ollama модель, яку слід використовувати ♪ llama3.2:3b | | --verbose | -v біса Показувати детальний поступ з живим UI00 false | | --config | -c Шлях до файла налаштування } Авто- } | --output-format | -o } Вихідний формат: Консоль, Текст, Маркада, Json} Console | | --output-dir }Д_ каталог для файлів виходів} Поточна} | --extensions | -e ♪ File strations для пакетного режиму} Всі маски голінга} | --recursive | -rfalse | | --template | -t шаблон rece (типовий, скорочений, куль, виконавчий тощо) default | | --words | -w кількість слів (позаді шаблоном)} 1) типово}

--embedding-backend Сервер wizard: Onx, Ollama} Onnx
--web-mode Режим веб- сторінки: простий, " Playwright" Simple
--analyze -a біса Виконувати аналіз якості з резюме false

Режими опублікування

Віддалення карти (рекомендовано)

Найкраще для детального резюме з повним покриттям документів.

docsummarizer -f document.pdf -m MapReduce -v

Як це працює:

  1. Розділяє документ на структурні шматки (за заголовками)
  2. Підсумовує кожен шматок паралельно, використовуючи LLM
  3. Зменшує підсумки до виконавчого резюме з цитатами
  4. Перевіряє всі посилання на справжні шматки

Ієрархічне відновлення довгих документів:

У дуже довгих документах, де об' єднані підсумки шматків перевищують контекстне вікно моделі, MpReduction автоматично використовує ієрархічне зменшення:

  1. Пакетне: Групи підсумовуються у пакети, які відповідають контексту
  2. Інтерактивне відновлення: Зменшує кожну партію до скороченого резюме
  3. Остаточне зменшення: Об' єднує проміжні підсумки до остаточного виводу
  4. Рекурсивний: Якщо проміжні все ще завеликі, додається більше рівнів
100 chunks → 100 summaries → 5 batches → 5 intermediate summaries → final

За допомогою цього пункту можна зберегти повний обкладинок документа незалежно від тривалості - кожен шматок додає до остаточного резюме. Інструмент оцінить позначення (~4 chars/ entry) і призначення за використання 60% контекстних вікон на проходження зменшення.

Pros: Швидка, повна обкладинка, паралельна обробка, керує будь- якою довжиною документа Консептиди: Може пропустити поперечні з' єднання, повільніші для дуже довгих документів

RAG (найкраще для фокусованих запитів)

Найкраще, коли вам потрібно зосередитись на конкретних темах або мати поставлене запитання.

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

Як це працює:

  1. Індексує шматки документа як векторні вбудовування у Qdrant
  2. Видобуває ключові теми з заголовків документів
  3. Отримання відповідних шматків на тему за допомогою семантичного пошуку
  4. Синтезація фокусованого резюме цитатами

Коли використовувати RAG над MapReduction:

} core Mode} |----------|-----------| ♪ "Summarize this entire document" ♪ MapRece} ♪ What does this says about security?) біса сягає Підручник з 500-сторінкових сторінок, потрібен будь- який рядок, що відповідає будь-якій карті (hierarchical) Підручник з 500-сторінкових сторінок, потрібен специфічний секція сяГС ♪00_00] AND AND AND AND AND AND AND AND TO THE AND AND AND AND AND

RAG - це неDescription of a condition. Do not translate key words (# V1S #, # V1 #,) щодо роботи з довгими документами - MapReduction ручки з ієрархічним зменшенням. Про RAG можна дізнатися з розділу Фільтрування з практичністю: якщо ви бажаєте ігнорувати 90% документа і зосередитися на тому, що має значення для вас.

Pros: Фокусування теми, семантичне розуміння, індекс використання, швидше для запитів з фокусуванням Консептиди: Може бракувати вмісту поза зосередженою зоною, потребує Qdrant, повільне початкове індексування

Ітеративний

Лучший для сюжетных документов, где контекст движется по всему.

docsummarizer -f story.pdf -m Iterative -v

Попередження: Повільніше і може призвести до втрати контексту на довгих документах ( >10 шматків).

Великий підручник з документа

Вибір правильного режиму

Передня частина (попередня частина) |---------------|------|------|-----| Територія (50+сторінки)} + + + + + + + + + + 00: 00: 00: 00: 00:00:00:00 ♪ Novel/Narrate сягнув кінця рядка ♪

      • +1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Д_ д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. про н. про н. про н.п. д. д.п. д. д. д. ♪ API docs (200 pages) ♪ ♪Dep appearance ♪ ["Тінка"] + 00:00; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04; 00:04:04; 00:04:04; 00:04; 00:04; 00:04; 00:04; 00:00:00:00; 00:00:00:00; 00:00; 00:00; 00:00; 00:00:00; 00:00:00; 00:00; 00:00; 00:00; 00:00; 00:00:00:00; 00:00:00; 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

Фігура проти нефіктивності

|--------------|-----------|-------| | Fiction/ Narrative } MapRece} }Вимагає sequential context } | Технічні документи } І мапРеод для огляду, SEG для специфічних | Legal/Contacts Місто/ М. | Підручники Зазвичай, запит на специфічні особливості

Швидкодія

Д_ д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. |---------------|-----------|-----|-------| Д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. ст. ст. Гортаючий 50 сторінок, 45 см, 30 см, швидше, якщо зосереджений на чомусь. 200 сторінок * 3 * 3 * 1/2 * . 500+сторінок] 10-15/год 2/3 дріть

Налаштування

Створити типові налаштування

docsummarizer config --output myconfig.json

Файл налаштувань

Налаштування буде автоматично відкрито з:

  1. --config option
  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 +8 * + + [LM] - черги (Ольяма, отже, вищі значення просто у черзі) * | maxHeadingLevel Д_ д. д. д. д. д. д. д. д. д. д. ст. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. | targetChunkTokens ♪ 0 (автоматично)} Розмір цілі. 0 = авто- обчислення (~25% контекстного вікна) | minChunkTokens * 0 (автоматично)} Мінімальний перед об' єднанням. 0 = 1/8 цілі

Формат виводу

Структура резюме

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

Межі траєкторії: Обкладинка (% sections), Частота цитування (citations/ bulet), Оброблені біти (RAG може пропустити деякі).

Рекомендації для моделей

Mode +Використовуйте |-------|------|-------|---------|----------| | qwen2.5:1.5b Д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. д. | gemma3:1b 815/5 * Time (~10s) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | llama3.2:3b } 2GB} Носій (~15s)} Дуже благодійство Типовий - Врівноважений погляд. | ministral-3:3b 9GB} Середній (~20s)} Дуже гладка}Чудово- з' єднана} | llama3.1:8b ♪----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Підказка: для швидших підрахунків (~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 serve
  • Перевіряються моделі: ollama list

"Недоступна служба Docling Service"

  • Це Потрібні лише для файлів PDF/ DOCX
  • Для файлів з розміткою ви можете ігнорувати цю помилку
  • Полагодити: docker run -p 5001:5001 quay.io/docling-project/docling-serve

"З' єднання Cdantry зазнало невдачі"

  • Це Потрібний лише для режиму REG (--mode Rag)
  • Для режиму обертання карти (типовий), ви можете ігнорувати цю помилку
  • Полагодити: docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant

"Вимикач сіндиту відкритий"

  • Ollama перевантаження або аварійне завершення
  • Зачекайте 30 секунд, щоб перезапустити або перезапустити Ollama
  • Інструмент використовує правила стійкості і буде здійснюватися автоповторення

" wsarecv " або помилки з' єднання (Windows)

  • Це відома проблема Ollama у Windows (GitHub # 13340)
  • Інструмент автоматично робить це з повторенням логіки і відновлення з' єднання
  • Якщо постійні, перезапустіть Ollama і спробуйте знов

"Покоління МВ вичерпано"

  • Збільшити час очікування у налаштуваннях
  • Розділити дуже великі документи
  • Перевірити Ollama не переобтяжено іншими запитами

Репетитивні або суми низької кварцості

Симптоми: Позначки вказують на луну запиту (" Повернути лише позначки ," " Це правило... ") замість резюме вмісту.

Причина: Модель бореться з пропозицією або змістом занадто довго.

Виправити: Типове qwen2.5:1.5b добре обробляє більшість документів. Для сумнівних документів спробуйте --model llama3.2:3b. Див. Рекомендації для моделей.

Резюме Ігнорувати вміст документа

Якщо резюме видається загальним або не посилається на специфічний вміст:

  • Ця модель може бути галюцинацією - перевірка. Citation rate у виводі трасування
  • Спробувати режим RAG (--mode Rag) підсумовування на отриманих шматках
  • Користування --verbose щоб побачити, які шматки оброблятимуться

Відсутні посилання або некоректні

Якщо немає резюме [chunk-N] Цитата:

  • Малі моделі визначають вміст над форматуванням
  • Запити оптимізовано для швидкості, а не строгого дотримання цитування
  • Для строгих цитат використовуйте більші моделі на зразок llama3.2:3b
  • Перевірити Citation rate у рівнях - вищі значення вказують на кращу здатність відслідковувати

Поради щодо швидкодії

  • MpReduction для швидкості (шарові шматки)
  • qwen2.5:1.5b для швидкості, llama3.2:3b для балансу, llama3.1:8b для якості
  • Вбудовування ONX (типовий) швидший за Ollama для режиму RAG
  • Нижній maxLlmParallelism якщо час очікування триває

Ресурси

Серія Навігація

Пов' язаний

Finding related posts...
logo

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