本地基于知识库的大模型的使用教程

本地基于知识库的大模型的使用教程

启动

双击 大模型启动.bat文件,内容如下:

cmd /k "cd /d G:\Anaconda3\Scripts && activate.bat && cd /d D:\docdb_llm && conda activate python3.11 && python startup.py --all-webui --model-name Qwen-1_8B-Chat

参数解读

  1. –model-name:可以选择选择不同的模型,目前支持
  2. –all-webui:启动webui界面。不需要修改

知识库管理

  1. 选择对应的知识库

    image-20240502230421574

  2. 上传文件,大小最好不要超过20mb,否则显存不够。pdf最好是纯文本形式

    image-20240502230526787

  3. 输入知识库的介绍

    image-20240502230600203

  4. 单段文本最大长度:大模型每批次嵌入的文本大小,数值越大,消耗的显存越多。相邻文本重合长度:每相邻的两个文本段之间重合的部分,数值越大,两文本段语义关联程度越高。

    image-20240502230852809

  5. 点击添加到知识库,文件添加到源码的knowledge_base/samples/content 文件夹下面。samples:对应的知识库名字。

    image-20240502230927191

    image-20240502230955246

  6. 选择一条文件,显示文档加载器列为空白,说明文档没有嵌入到向量数据库的,需要点击重新添加至向量数据库。从向量数据库删除:文件数据从量数据库中删除,但知识库的content目录下还有源文件。从知识库中删除:删除content下的源文件。

    image-20240502231206500

  7. 如果第一次启动项目,之前没有知识库,推荐使用将需要上传的文件放入 知识库名称/content/ 下,点击从源文件重建数据库,即可将所有文件嵌入到向量数据库,文件多的化,运行时间会比较久(跟文件的质量也有关系,如果很多图片pdf需要orc,也会很占时间和显存)。以后每次添加新文件可以使用步骤6的方法。如果已有知识库,点击此按钮会将之前的所有文件重新向量化,比较耗时间。建议少量的添加文件使用步骤6。

    image-20240502231631098

  8. 可视化修改知识库里的文件内容(如果orc识别的文件,可能会出现需要错误的问题,所以高质量的文档很重要)

    image-20240502232241340

大模型对话

参数解释:

  1. 选择模型:可以切换模型
  2. 选择prompt模板,可以修改大模型指令。默认即可。
  3. temperature:大模型回答的随机性,数值越大,回答的创造性(随机性)越高
  4. 历史对话轮数:数值越大,上下文关联的历史对话轮数越高,消耗的显存也高。
  5. =择知识库:选择要问答的知识库
  6. 匹配知识条数:匹配的知识库内容个数,大模型将结合匹配的内容回答问题。数据越高,消耗的显存也高。
  7. 知识匹配分数阈值:用于确定两个知识实体是否匹配。默认1即可。

image-20240502232345012

对话内容

上面是对问题的回答,下面知识库匹配的结果是匹配到的知识库内容

image-20240502233232151

### 使用大型预训练模型构建本地知识库的方法 #### 方法概述 为了有效利用大模型来建立本地知识库,可以借鉴图书馆的概念,在这个类比中,本地知识库如同一个存储各类信息资源的场所。通过特定的技术手段,能够使人工智能系统高效地检索并运用所需的信息[^1]。 #### 工具选择 对于希望简化这一过程的人来说,Ollama提供了一种便捷的方式来进行本地化的大规模模型操作。该平台不仅允许用户轻松加载不同尺寸的模型,还具备出色的灵活性以适应多样化的应用场景需求[^2]。 #### 实际案例分析 具体到实践层面,2023年7月间,GitHub上出现了名为`langchain-ChatGLM`的应用实例,它基于langchain理念设计而成,并针对中文环境进行了优化处理。此应用程序旨在打造一个完全依赖于开源组件而运作的知识查询框架;其中包含了多个知名的大语言模型选项如ChatGLM-6B以及ClueAI/ChatYuan-large-v2等作为核心计算引擎。与此同时,默认配置下采用了GanymedeNil/text2vec-large-chinese负责向量嵌入任务,从而确保整个系统的稳定性和性能表现[^3]。 ```python from langchain import LangChain, DocumentLoader, VectorStoreIndexCreator from transformers import AutoModelForCausalLM, AutoTokenizer # 加载文档数据集 loader = DocumentLoader("path/to/documents") # 创建索引结构 index_creator = VectorStoreIndexCreator(embedding_model="GanymedeNil/text2vec-large-chinese") vector_store_index = index_creator.from_documents(loader.load()) # 初始化对话链 chatglm_tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) chatglm_model = AutoModelForCausalLM.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) lang_chain = LangChain(llm=chatglm_model, tokenizer=chatglm_tokenizer, vector_store=vector_store_index) # 开始交互式会话 while True: query = input("请输入您的问题:") response = lang_chain.generate(query=query) print(f"回答如下:\n{response}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三水编程

感谢客官打赏~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值