首页 > 其他分享 >SimpleRAG-v1.0.3:增加文件对话功能

SimpleRAG-v1.0.3:增加文件对话功能

时间:2024-09-26 15:03:09浏览次数:6  
标签:文件 插件 string C# v1.0 文档 SimpleRAG 对话

Kimi上有一个功能,就是增加文件之后对话,比如我有如下一个私有文档:

会议主题:《如何使用C#提升工作效率》
参会人员:张三、李四、王五
时间:2024.9.26 14:00-16:00
会议内容:
1. 自动化日常任务
许多日常任务可以自动化,从而节省时间和精力。例如,如果你需要定期处理大量数据,可以使用C#编写脚本来自动化数据导入、清理和分析过程。
2. 构建自定义工具
C#可以用来构建各种自定义工具,以满足特定需求。
3. 集成现有系统
C#可以轻松集成现有的系统和API,从而提高工作效率。
4. 开发插件和扩展
许多应用程序支持插件和扩展,C#可以用来开发这些插件,以增强现有应用程序的功能。
5. 优化现有代码
C#提供了丰富的库和框架,可以帮助你优化现有代码,提高性能和可维护性。

我上传这个文档之后,提问文档中的内容,如下所示:

image-20240926121012250

image-20240926121043360

image-20240926121113883

image-20240926121155095

那么我们自己该如何实现这个功能呢?

我们之前接触过RAG,那可以用来应对文档内容超出模型上下文的情况,但是很多时候,我们只是上传一份简单的文档,文档内容并不多,而且也不需要进行存储,那么这时候,就可以直接读文件内容,不用RAG。

以下是自己实现的效果:

image-20240926121558886

image-20240926121806875

image-20240926121839435

image-20240926121915911

也实现了同样的效果。

实现要点

 public async IAsyncEnumerable<string> GetAIResponse3(string question,string filePath)
 {
     string fileContent = File.ReadAllText(filePath);
     string skPrompt = """
                        获取到的文件内容:{{$FileContent}}。
                        根据获取到的信息回答问题:{{$Question}}。
                        如果文件内容中没有提到,直接回答不知道。
                     """;
     await foreach (var str in _kernel.InvokePromptStreamingAsync(skPrompt, new() { ["FileContent"] = fileContent, ["Question"] = question }))
     {
         yield return str.ToString();
     }
 }

使用这个简单的prompt即可实现。

快速体验

我在github上发布了依赖框架与不依赖框架的版本。解压之后在appsettings.json文件中填入你的api key即可开始体验。

image-20240926144248293

SimpleRAG地址:https://github.com/Ming-jiayou/SimpleRAG

标签:文件,插件,string,C#,v1.0,文档,SimpleRAG,对话
From: https://www.cnblogs.com/mingupupu/p/18433464

相关文章

  • 智慧小区物业管理小程序V1.0.6
    智慧小区物业管理小程序,包含小区物业缴费、房产管理、在线报修、业主活动报名、在线商城等功能。为物业量身打造的智慧小区运营管理系统,贴合物业工作场景,轻松提高物业费用收缴率,更有功能模块个性化组合,助力物业节约成本高效运营。V1.0.6房屋高层多层别墅可分别设置收费1.新增房屋......
  • baichuan_lmdeploy大规模对话问答语言模型
    Baichuan论文无模型结构Baichuan系列模型是由百川智能开发的开源大规模预训练模型,包含7B和13B等规模。其中,Baichuan-7B在大约1.2万亿tokens上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。模型具体参数:模型名称隐含层维度层数头数词表大小总参数量训练数据(toke......
  • 【PLW003】设备器材云端管理平台v1.0(SpringBoot+Mybatis+NodeJS+MySQL前后端分离)
    设备器材云端管理平台是一种专为各种设备(如教育行业中的实验设备、建筑行业中的施工设备等)租赁或共享孵化的数字化管理工具,旨在融合数字化手段,提高各种设备器材的管理效率、确保设备的安全稳定运行,并优化资源使用及配置效率。随着高新技术的不断发展和应用(如大数据、人工智能等新......
  • GPT对话知识库——将寄存器中的一位数据读到变量中需要什么步骤?&C语言中掩码的作用。
    目录1,问:1,答:1.确定目标寄存器地址2.定位目标位位操作的基本步骤:3.示例代码示例步骤:4.详细解释步骤5.举例6.常见用法总结注:C语言中掩码的作用:参考附件:提问模型:GPT-4o-miniFree提问时间:2024.09.131,问:将寄存器中的一位数据读到变量中需要什么步骤1,......
  • 民宿酒店预订系统V1.0.9
    多门店民宿酒店预订管理系统,快速部署属于自己民宿酒店的预订小程序,包含预订、退房、WIFI连接、吐槽、周边信息等功能。提供全部无加密源代码,支持私有化部署。V1.0.9优化微信支付宝插件V3支付优化模板变量渲染输出......
  • 企业培训考试系统v1.0.9
    企业培训考试系统,包含章节练习、历年真题、错题记录、模拟考试和正式考试等模块。v1.0.9修复php7,4环境下BUG1.修复插件在php7.4环境下激活码异常BUG2.修复下载考卷未答题时的报错问题3.更新下载考卷显示答题结果......
  • 企业培训考试课堂​V1.0.2
    企业内部培训与考试课堂系统,支持丰富课程类型,还拥有全面的题型体系,并能自动评分。应用具备响应式设计,加之学习进度跟踪与评论功能,打造互动式学习环境,是现代企业提升员工技能的理想工具。提供全部无加密源代码,支持私有化部署。V1.0.2插件规范优化修复:1、视图 变量 输出时正确使用......
  • 多平台租房系统V1.0.3
    多平台(目前适配H5,微信小程序)租房系统,支持多城市、出租房、预约看房等功能。提供全部无加密源码,支持私有化部署。V1.0.3插件开发规范优化系统,使系统更加符合插件开发规范标准......
  • 优校管理系统V1.0.9
    优校管理系统(简称优校管)是中小学信息化管理系统,拥有PC版、UniAPP版(高级授权)。支持微信小程序、H5网页等多平台,主要用于信息管理、教学管理、素养评价。V1.0.9更稳定的版本,更好的体验1、学生端(标准版端和高级版均支持)增加请销假功能,同时在管理员端增加审核学生提交的请销假记录......
  • Golang在线客服系统源码:基于Gin框架,Websocket即时通讯企业网站客服聊天源码,包括后台管
    唯一客服系统是一款基于Golang的Gin框架构建的在线客服解决方案,支持独立部署,确保数据的私密性和安全性。它具备自适应的响应式设计,能够完美适配PC端、移动端以及APP内嵌等多种场景。客服端提供PC后台管理功能,实现实时消息接收和交流。此外,为了满足移动端回复需求,系统还利用uniapp......