(提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战

文章目录

(提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、提示词Prompt优化

本地知识库目标

  • 创建"神经内科典型病例目录"数据集,一共3个病例信息,包括基本信息、症状、体格检查、辅助检查、诊断、诊断依据等信息。
  • LangChain+ChatGLM3-6B WebUI中加载"神经内科典型病例目录"数据集作为本地知识库。
  • 在"对话"中进行神经内科典型病例相关问答。

操作步骤

  • 数据集预处理
  • 建立本地知识库后,进行问答测试
  • 调优:数据集优化、本地知识库问答参数调整、Prompt提示词优化

问答测试的预设问题

  • Q:有几个病例?
  • Q:输出病例编号、性别、年龄。
  • Q:神经内科确诊疾病有哪些,输出名称。

原始数据情况

#神经内科典型病例目录

##病例一

###病史摘要 患者女,78岁。 入院前四小时突然觉得头痛,同时发现左侧肢体乏力,左上肢不能持物,左下肢不能行走,恶心伴呕吐胃内容物数次。无意识丧失,无四肢抽搐,无大小便失禁,即送医院急诊。

体格检查:神清,BP 185/95mmHg,HR

80次/分,律齐,EKG示窦性心律.对答切题,双眼向右凝视,双瞳孔等大等圆,对光反射存在,左鼻唇沟浅,伸舌略偏左。左侧肢体肌张力增高,左侧腱反射略亢进,左侧肌力III0,右侧肢体肌张力正常,肌力V0。左侧巴氏征(+),右侧病理症(-)。颈软,克氏征(-)。

辅助检查:头颅CT示右侧颞叶血肿。

数据集优化:预处理,先后准备了三份数据集

PreData1:极简数据集,txt格式

  • 收集资料:原始数据是从网上爬的病例神经内科典型病例,复制、粘贴到的txt文件。只有3个病例。
  • 格式处理:统一标点符号,包括换行符号;处理好段落内容逻辑,处理段落内出现的换行情况。
  • 删除冗余:删除序号,如1、2、3或a、b、c等。删除多余的空格。

PreData2:按json结构处理的数据集,txt格式

将数据集按json处理

曾经尝试过进行以下这一步的操作,由于没有工具辅助,非常繁琐,尤其是key值的生成。放弃了。

段落内处理:确保段落内是类似于KV结构,如"症状":"头疼"。

处理成了偷懒模式:

{ ["症状:头疼"],

["体格检检:口齿欠清"] ,

["体格检查:神志朦胧"] }

PreData3:整理成文档章节的PDF数据集

从1到3是一个逐步优化数据集的过程

  • 从PreData1开始进行对话测试,回答让人一脸黑线,无法沟通交流。
  • PreData2能沟通交流,也有惊喜,但是不稳定
    "有几个病例"重复问几遍,只回答对过一次。而且基于Json尝试过几种修改方案,繁琐,而且新的json文件导入本地知识库报错(懒,不想正面面对报错的问题),遂放弃了,改用PDF。
  • PreData3按照文章章节编辑,插入目录,貌似很顺利
    相对来说比较稳定,但是对话测试也是那么完美。这让我想起需要从对话参数、Prompt提示词解决问题。

Tip:每次优化重新对话测试时,建议重启模型。本人GPU冒烟了,才重启。

创建本地知识库时文件处理参数调整

FAISS

bge-large-zh

以下两项默认值需要修改:

段落文本最大长度:250

相邻文本重合长度:50

改成:

段落文本最大长度:50

相邻文本重合长度:5

对话时知识库配置参数调整

以下两项需要调整:

匹配知识条数:3

知识匹配分数阈值:1

修改成:

匹配知识条数:20

知识匹配分数阈值:1可以先不改,根据回答适当调整到0.8左右,试试效果再决定。

Prompt提示词优化

直接看多轮对话下来,对话是如何有序展开的吧。

Round 1

Round 2

Round 3

Round 4

完毕!

数据集地址

神经内科典型病例目录PreData1.txt

神经内科典型病例目录PreData2.txt

神经内科典型病例目录PreData3.pdf

Enjoy!!!

相关推荐
qq_5290252916 分钟前
Torch.gather
python·深度学习·机器学习
IT古董1 小时前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习
凯哥是个大帅比1 小时前
人工智能ACA(五)--深度学习基础
人工智能·深度学习
m0_748232921 小时前
DALL-M:基于大语言模型的上下文感知临床数据增强方法 ,补充
人工智能·语言模型·自然语言处理
szxinmai主板定制专家1 小时前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
机器懒得学习1 小时前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测
QQ同步助手2 小时前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
AIGC大时代2 小时前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc