/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Domain/Models/GenericParseResult.cs
64 строки
2 KB
IBS\NAfanasev
Parse results functional update
07 июл 2026, 00:06
07 июл 2026, 00:06
8e97443
Код
Авторство
О чём код?
using PdfEncoder.Domain.Enums; namespace PdfEncoder.Domain.Models; /// <summary> /// Универсальный результат парсинга документа (API output). /// </summary> public sealed record GenericParseResult { /// <summary> /// Идентификатор документа. /// </summary> public Guid DocumentId { get; init; } /// <summary> /// Тип документа, определённый LLM или переданный явно. /// </summary> public string DetectedDocumentType { get; init; } = "unknown"; /// <summary> /// Технический тип PDF. /// </summary> public PdfDocumentKind PdfKind { get; init; } /// <summary> /// Общая уверенность результата (0..1). /// </summary> public double OverallConfidence { get; init; } /// <summary> /// Извлечённые поля. /// </summary> public IReadOnlyList<KeyValueField> Fields { get; init; } = []; /// <summary> /// Извлечённые таблицы. /// </summary> public IReadOnlyList<ExtractedTable> Tables { get; init; } = []; /// <summary> /// Текстовые блоки. /// </summary> public IReadOnlyList<TextBlock> TextBlocks { get; init; } = []; /// <summary> /// Предупреждения pipeline. /// </summary> public IReadOnlyList<string> Warnings { get; init; } = []; /// <summary> /// Журнал шагов обработки. /// </summary> public IReadOnlyList<ProcessingStep> Steps { get; init; } = []; /// <summary> /// Сводка LLM usage; <see langword="null"/> при <c>SkipLlm</c>. /// </summary> public LlmUsageSummary? LlmUsage { get; init; } /// <summary> /// Краткое описание содержимого при <see cref="DetectedDocumentType"/> = unknown. /// </summary> public DocumentContentHint? ContentHint { get; init; } }