大模型学习之书生·浦语大模型3——基于InternLM和LangChain搭建知识库

基于InternLM和LangChain搭建知识库

1 大模型开发范式

LLM的局限性

  • 知识受限:最新知识无法实时获取
  • 专业能力有限:有广度无深度
  • 定制化成本高:训练成本高

RAG VS Finetune

RAG:

  • 无需重新训练
  • 组织外挂加入知识
  • 容易受基座模型的影响
  • 问题+回答一起送入大模型,占据token长度

Finetune

  • 个性化微调:风格,领域知识
  • 知识面覆盖广:新的数据集及通用数据集按照比例混合
  • 训练成本高
  • 无法实时更新

RAG检索增强

2 LangChain简介

  • 开源
  • 通用
  • 核心模块:
    • chains
    • agent

基于LangChain搭建RAG应用

3 构建向量数据库


  • 加载源文件
    • 不同的文件有不同的加载方式
  • 文档分块chunk
    • 字符串长度分割
    • 重叠区间
    • 代码的话就是代码块 类等
  • 文档向量化
    • 文档embedding
    • 存入向量数据库

4 搭建知识库助手




限制:

  • 检索精度
  • prompt性能

5 Web Demo部署


6 动手实战环节

创建开发机




新建虚拟环境


安装相关依赖


下载模型文件

本机有,可以先复制

  • internLM-7B
  • modelscope
  • huggfingace:sentence-transformer
  • nltk
  • punkt
  • tagger

搭建自己知识库

  • 克隆opencompass项目
  • 构建向量数据库
    • 导入数据md,txt文件
    • 获取文件中的文本
    • 对文本进行分块
    • 词向量模型进行编码
    • 加载数据到向量库Chroma
    • 向量库保存到本地磁盘


将InternLM接入LangChain

构建检索问答链

  • 加载词向量模型
  • 加载LLM模型
  • 定义Prompt 模板
    • 不懂的要回答说不知道,缓解幻觉问题
  • 运行chain
  • 存储检索问答链的对象

  • 实例化核心功能对象

  • gradio创建聊天机器人页面

执行代码

bash 复制代码
python web_demo.py

自己部署,知识库为kkndme关于房价的



  • 注意:demo要在本地打开,不然显示界面乱码;本地打开需要进行端口映射

参考

相关推荐
无心水33 分钟前
【程序员AI入门:模型】19.开源模型工程化全攻略:从选型部署到高效集成,LangChain与One-API双剑合璧
人工智能·langchain·开源·ai入门·程序员ai开发入门·程序员的 ai 开发第一课·程序员ai入门
有梦想的攻城狮34 分钟前
大语言模型与多模态模型比较
人工智能·语言模型·自然语言处理·llm·大语言模型
lxsy8 小时前
langchain 接入国内搜索api——百度AI搜索
langchain·百度ai搜索
幸福回头10 小时前
ms-swift 代码推理数据集
llm·swift
亚里随笔10 小时前
AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式
人工智能·算法·llm·大语言模型
明明跟你说过11 小时前
掌握 LangChain 文档处理核心:Document Loaders 与 Text Splitters 全解析
人工智能·语言模型·自然语言处理·langchain
好评笔记18 小时前
Meta的AIGC视频生成模型——Emu Video
人工智能·深度学习·机器学习·aigc·transformer·校招·面试八股
ZhangJiQun&MXP1 天前
Top-p采样:解锁语言模型的创意之门
人工智能·深度学习·机器学习·语言模型·自然语言处理·langchain·概率论
视觉&物联智能1 天前
【杂谈】-AI 重塑体育营销:从内容管理到创意释放的全面变革
人工智能·ai·aigc·agi·营销
珊珊而川2 天前
ChatPromptTemplate创建方式比较
服务器·langchain