当前位置: 首页 > news >正文

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

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。

http://www.lryc.cn/news/456863.html

相关文章:

  • 数学建模算法与应用 第7章 数理统计与方法
  • 【网络】洪水攻击防御指南
  • 应对Redis大Key挑战:从原理到实现
  • 网络安全的全面指南
  • 前端性能优化全面指南
  • JavaScript-API(倒计时的实现)
  • 【C++】——继承【上】
  • SpringBoot 整合 阿里云 OSS图片上传
  • 内核编译 设备驱动 驱动程序
  • 自由学习记录
  • 在 C# 中使用 LINQ 查询文件列表并找出最大文件
  • 数学建模算法与应用 第6章 微分方程建模及其求解方法
  • 数据库的相关知识
  • Python cachetools常用缓存算法汇总
  • java类和对象_成员变量方法修饰符局部变量this关键字-cnblog
  • 海信和TCL雷鸟及各大品牌智能电视测评
  • Linux 基本系统命令及其使用详解手册(六)
  • Oracle架构之段管理和区管理
  • mybatis-plus转换数据库json类型数据为java对象
  • Java | Leetcode Java题解之第467题环绕字符串中唯一的子字符串
  • 诺贝尔物理奖与化学奖彰显AI力量,探索智能新边界
  • 基于京东:HotKey实现自动缓存热点Key!!!
  • ★ 算法OJ题 ★ 二分查找算法
  • RTSP RTP RTCP SDP基础知识
  • 静态变量、变量作用域、命名空间
  • Android笔记(二十四)基于Compose组件的MVVM模式和MVI模式的实现
  • MySQL 是否支持 XML
  • pikachu靶场总结(四)
  • 24.3 基于文件的服务发现模式
  • 【Java】面向UDP接口的网络编程