IAIDocProcessingService.SummarizeAsync(RichEditDocumentServer, SummarizationMode, CancellationToken) Method
Generates a brief summary of a document content.
Namespace: DevExpress.AIIntegration.Docs
Assembly: DevExpress.AIIntegration.Docs.v25.2.dll
NuGet Package: DevExpress.AIIntegration.Docs
Declaration
Task<string> SummarizeAsync(
RichEditDocumentServer wordProcessor,
SummarizationMode mode = SummarizationMode.Abstractive,
CancellationToken cancellationToken = default(CancellationToken)
)
Parameters
| Name | Type | Description |
|---|---|---|
| wordProcessor | RichEditDocumentServer | The |
Optional Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| mode | SummarizationMode | Abstractive | An enumeration value that indicates summarization mode. |
| cancellationToken | CancellationToken | null | The token that cancels the task. |
Returns
| Type | Description |
|---|---|
| Task<String> | The response that contains AI-generated summary. |
Example
How to: Obtain Summary and Insert It at the Document Start
The following code snippet obtains an AI-generated summary of a Word document and inserts it at the start:
using DevExpress.AIIntegration.Docs;
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
// See "Register AI extension service" section for implementation code
var docProcessingService = defaultAIExtensionsContainer.CreateAIDocProcessingService();
var wordProcessor = new RichEditDocumentServer();
wordProcessor.LoadDocument("Documents/FirstLookShortened.docx");
string summary = await docProcessingService.SummarizeAsync(
wordProcessor,
SummarizationMode.Extractive,
CancellationToken.None);
wordProcessor.Document.Paragraphs.Insert(wordProcessor.Document.Paragraphs[0].Range.Start);
Paragraph summaryParagraph = wordProcessor.Document.Paragraphs[0];
// This method resets formatting for the inserted paragraph
ClearFormatting(summaryParagraph);
wordProcessor.Document.InsertText(
summaryParagraph.Range.Start,
"Document Summary:\n" + summary);
wordProcessor.SaveDocument("Documents/SummarizationResult.docx", DocumentFormat.Docx);
void ClearFormatting(Paragraph paragraph)
{
CharacterProperties cp = wordProcessor.Document.BeginUpdateCharacters(paragraph.Range);
cp.Reset();
cp.Style = wordProcessor.Document.CharacterStyles["Normal"];
wordProcessor.Document.EndUpdateCharacters(cp);
ParagraphProperties pp = wordProcessor.Document.BeginUpdateParagraphs(paragraph.Range);
pp.Reset();
pp.Style = wordProcessor.Document.ParagraphStyles["Normal"];
wordProcessor.Document.EndUpdateParagraphs(pp);
}
See Also