logo

Kernel Memory 入门系列: 生成并获取文档摘要


风晓
风晓 2023-12-30 09:51:57 22859 赞同 0 反对 0
分类: 资源
前面在RAG和文档预处理的流程中,我们得到一个解决方案,可以让用户直接获取最终的问题答案。 但是实际的业务场景中,仍然存在一些基础的场景,不需要我们获取文档的所有详情的,而只是了解的文档的大概信息,得到文章整体的摘要或者总结,此时仍然可以使用Kernel Memory来处理。

生成摘要

我们依然使用Kernel Memory的文件导入方法,不过此时不需要指定默认的处理流程,而只需要指定Summary流程即可。

 
 
await memory.ImportDocumentAsync(new Document("doc1")
 
.AddFile("file4-SK-Readme.pdf")
 
.AddFile("file5-NASA-news.pdf"),
 
steps: Constants.PipelineOnlySummary);
 

其中PipelineOnlySummary 包含了一下步骤:

  1. extract
  2. summarize
  3. gen_embeddings
  4. save_records

相比较默认的流程,仅是将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标记的段落进行检索。

同理,生成摘要的过程也可以进行自定义的过程,例如文章分类,关键词提取,实体提取,题图生成等任何的文章处理流程。后续也会详细介绍【自定义流程】的处理。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓
粉丝 1 资源 2038 + 关注 私信
最近热门资源
工业防火墙为啥不走寻常路?  870
窃密软件无孔不入?迪普科技防护策略为隐私数据筑牢防线  645
正版软件检测工具2024  5
最近下载排行榜
工业防火墙为啥不走寻常路? 0
窃密软件无孔不入?迪普科技防护策略为隐私数据筑牢防线 0
正版软件检测工具2024 0
作者收入月榜
1

prtyaa 收益363.45元

2

风晓 收益207.84元

3

IT-feng 收益198.17元

4

zlj141319 收益178.52元

5

777 收益172.06元

6

1843880570 收益171.31元

7

信创来了 收益103.8元

8

Fhawking 收益99.6元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.05元

请使用微信扫码