我们依然使用Kernel Memory的文件导入方法,不过此时不需要指定默认的处理流程,而只需要指定Summary流程即可。
|
await memory.ImportDocumentAsync(new Document("doc1") |
|
.AddFile("file4-SK-Readme.pdf") |
|
.AddFile("file5-NASA-news.pdf"), |
|
steps: Constants.PipelineOnlySummary); |
其中PipelineOnlySummary 包含了一下步骤:
相比较默认的流程,仅是将partition
变更为了summarize
, 但是实际存储的记录将不再是源文档的分片,而是经过LLM总结之后的内容摘要。
获取的摘要的方法更加直接,使用SearchSummariesAsync
方法,通过文档过滤条件过滤需要获取文档摘要即可。
|
// Fetch the list of summaries. The API returns one summary for each file. |
|
var results = await memory.SearchSummariesAsync(filter: MemoryFilters.ByDocument("doc1")); |
|
|
|
// Print the summaries! |
|
foreach (var result in results) |
|
{ |
|
Console.WriteLine($"== {result.SourceName} summary ==\n{result.Partitions.First().Text}\n"); |
|
} |
摘要的生成和检索在Kernel Memory中实际是数据类型标记和自定义筛选筛选的过程。
在生成摘要的过程中,将摘要内容作为生成内容,通过添加__synth:summary
标记进行存储,筛选的时候也是类似。文档的标记和筛选,将会在后续【文档管理】中的详细讲解。
而摘要的检索的过程SearchSummariesAsync
实际上也是调用SearchSyntheticsAsync
过程,指定了__synth:summary
标记的段落进行检索。
同理,生成摘要的过程也可以进行自定义的过程,例如文章分类,关键词提取,实体提取,题图生成等任何的文章处理流程。后续也会详细介绍【自定义流程】的处理。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!