/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Application/Abstractions/IDocumentParsePipeline.cs
61 строка
2 KB
IBS\NAfanasev
Remote LLM base functional
01 июл 2026, 15:54
01 июл 2026, 15:54
05aa80e
Код
Авторство
О чём код?
using PdfEncoder.Application.Models; using PdfEncoder.Domain.Models; namespace PdfEncoder.Application.Abstractions; /// <summary> /// Полный pipeline: local extraction + LLM classify/extract + validate. /// </summary> public interface IDocumentParsePipeline { /// <summary> /// Выполняет полный parse pipeline до <see cref="GenericParseResult"/>. /// </summary> /// <param name="request">Параметры запуска.</param> /// <param name="ct">Токен отмены.</param> Task<DocumentParseResult> RunAsync( DocumentParseRequest request, CancellationToken ct); } /// <summary> /// Запрос полного parse pipeline. /// </summary> public sealed record DocumentParseRequest { /// <summary> /// Идентификатор документа. /// </summary> public Guid DocumentId { get; init; } /// <summary> /// Содержимое PDF. /// </summary> public ReadOnlyMemory<byte> Content { get; init; } /// <summary> /// Имя файла. /// </summary> public string FileName { get; init; } = "document.pdf"; /// <summary> /// Опции парсинга. /// </summary> public ParseOptions Options { get; init; } = new(); } /// <summary> /// Результат полного parse pipeline. /// </summary> public sealed record DocumentParseResult { /// <summary> /// Финальный результат парсинга. /// </summary> public GenericParseResult Result { get; init; } = null!; /// <summary> /// Raw document context (всегда сохраняется для Phase 3). /// </summary> public DocumentContext RawContext { get; init; } = null!; }