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

ChatGPT搭上langchain的知识库RAG应用,效果超预期

最近利用Langchain+ChatGPT实现了上传文档实现个人知识库应用的能力,效果比想象得要好。文末大家可以体验一下效果~~

给大家大致介绍下实现方式,参考了Langchain chatchat。

一、Langchain+ChatGPT

1、概述

LangChain 是一个强大的框架,可以简化构建高级语言模型应用程序的过程。

LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。

本应用借鉴LangChain chatchat 基于 ChatGPT大语言模型与 Langchain 应用框架实现的检索增强生成 (RAG) 大模型的本地知识库问答应用项目

2、实现原理

本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k 个 -> 匹配出的文本作为上下文和问题一起添加到 prompt 中 -> 提交给 LLM 生成回答。


从文档处理角度来看,实现流程如下:

二、Langchain+ChatGPT 使用

1、试试总结文档

user:文档中得内容是做什么的?

assistant:文档中的内容是一个单元测试卷,主要用于评估学生的英语语言能力。测试卷包括选择题、填空题和句子改写等多种类型的题目,旨在考查学生的语法、词汇、阅读理解及书写能力。

总结效果准确,题型、内容、考察范围都是对的。

2、试试解答其中一道试题

3、使用4o对比4o mini的解答区别

Over!

大家如果觉得感兴趣可以试试~ 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 对接阿里asr和Azure asr
  • C++_CH18_构造函数与析构函数
  • PyQt5库学习之QFileDialog.getExistingDirectory函数
  • Qt Linguist 短语书批量导入翻译.ts导入.qph
  • 我Github的问题解决了!
  • WPF 所有的控件和每个控件的主要作用和应用场景
  • Docker笔记-Docker Dockerfile
  • 有关JS下隐藏的敏感信息
  • Vue.js 的 Mixins
  • 极狐GitLab CI/CD 功能合集(超详细教程)
  • 在Linux服务器上如何实现自动化部署?
  • Activiti7《第三式:破刀式》——工作流中的刀锋利刃
  • AIGC论文查重是什么?
  • Redis 集群策略详解
  • freemobus阅读笔记
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 2017-08-04 前端日报
  • 4个实用的微服务测试策略
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • JavaScript新鲜事·第5期
  • SQL 难点解决:记录的引用
  • web标准化(下)
  • 关于List、List?、ListObject的区别
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 十年未变!安全,谁之责?(下)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小程序测试方案初探
  • 译有关态射的一切
  • 阿里云API、SDK和CLI应用实践方案
  • 数据库巡检项
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ‌JavaScript 数据类型转换
  • $.ajax()方法详解
  • (145)光线追踪距离场柔和阴影
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (55)MOS管专题--->(10)MOS管的封装
  • (C语言)fgets与fputs函数详解
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (南京观海微电子)——示波器使用介绍
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (算法)区间调度问题
  • (转)创业的注意事项
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .jks文件(JAVA KeyStore)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .Net 垃圾回收机制原理(二)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net解析传过来的xml_DOM4J解析XML文件