基于 langchain-ChatGLM 搭建个人知识库



前言

提示:这里可以添加本文要记录的大概内容:

大型语言模型在处理专业性领域(如法律、医疗等)时受限,并更适用于通用领域。此外,这些模型的数据保密性也较差。因此,解决这些问题的一个好选择是使用本地化的知识库,而 “langchain-ChatGLM” 开源项目可能是一个合适的选项。


提示:以下是本篇文章正文内容,下面案例可供参考

一、dqnapi 是什么

DQNAPI 是一个综合平台,旨在将程序、接口、数据和模型等资源集成到一个统一的环境中。我们为每个资源编写了一个独特的数字标识符,即 DQNAPI 号,用户可以通过这个号码快速查找并访问所需资源。

通过 DQNAPI,您可以方便地注册和管理您使用过的各种资源。无论是程序代码、API 接口、数据集还是模型,只要您注册了相应的 DQNAPI 号,您就可以轻松地回顾和再次使用这些资源。这种整合和统一的方式极大地简化了资源的查找和获取过程,为所有用户提供了更加便捷和高效的体验。

在 DQNAPI 官网,您可以浏览各类资源的详细介绍,并随时搜索和获取您需要的资源。我们不仅提供了齐全的资源库,还为用户提供了交流和分享的平台,让用户们能够互相学习和共享经验。

无论您是开发者、数据科学家还是研究人员,DQNAPI 都将是您不可或缺的伙伴。加入我们,让 DQNAPI 帮助您更好地整合和管理资源,让创新变得更加简单和高效!。

Dqnapi官网
项目langchain-ChatGLM对应dqnapi号:
100.35395/2023.20_v1
模型ChatGLM-6B 对应dqnapi号:100.35395/2023.19_v1
模型text2vec-large-chinese 对应dqnapi号:100.35395/2023.21_v1

二、使用步骤

1.分析原理

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

在这里插入图片描述

2.下载项目和模型,配置文件

下载项目

详细参考dqnapi号:
[100.35395/2023.20_v1]

下载模型

下载路径可以自定义,后面用的着,我下载的地址分别是
/home/chatglm/text2ve,/home/chatglm/model

详细参考dqnapi号:
[100.35395/2023.19_v1]
详细参考dqnapi号:
[100.35395/2023.21_v1]

安装依赖

cd langchain-ChatGLM
pip install -r requirements.txt

参数调整

embedding_model_dict = {
    "ernie-tiny": "nghuyong/ernie-3.0-nano-zh",
    "ernie-base": "nghuyong/ernie-3.0-base-zh",
    "text2vec-base": "shibing624/text2vec-base-chinese",
    "text2vec": "/home/chatglm/text2vec", #本地下载路径
    "m3e-small": "moka-ai/m3e-small",
    "m3e-base": "moka-ai/m3e-base",
}

    "chatglm-6b": {
        "name": "chatglm-6b",
        "pretrained_model_name": "THUDM/chatglm-6b",
        "local_model_path": "/home/chatglm/model",#本地下载路
        "provides": "ChatGLMLLMChain"
    },

3.下载自己的期刊论文知识库

免费下载期刊论文样例数据

4.启动项目

pip install gradio
python webui.py

总结

在这里插入图片描述
在这里插入图片描述
看到配置文件中有很多大语言模型,看来langchain只是一个大语言模型的交互框架,后面感兴趣的小伙伴可以采用尝试其它模型,另觉得模型比较丑的可以搜索相关的前台调用项目,后台可以 用该知识库的api接口

### 本地部署 LangChainChatGLM 知识库 为了实现基于 LangChainChatGLM 的私有化知识库部署,企业和机构可以获得一个高效、安全、可控的知识管理解决方案[^1]。 #### 准备工作环境 确保安装了必要的依赖项和工具链。通常这包括 Python 及其开发包、Git 工具以及其他可能需要的软件组件。 #### 获取 ChatGLM-6B 模型 要开始本地部署过程,需先获取 `chatglm-6b` 模型文件。通过 Git 命令可以从 GitHub 上克隆仓库来获得该模型: ```bash git clone https://huggingface.co/THUDM/chatglm-6b ``` 此操作会下载整个项目到当前目录下,并创建名为 `chatglm-6b` 的新文件夹用于存储模型及相关资源[^2]。 #### 安装所需库 接下来,在环境中安装运行所需的 Python 库。推荐使用虚拟环境隔离不同项目的依赖关系。可以通过 pip 或 conda 来完成这些库的安装。对于本案例来说,至少应该包含 transformers, langchain 等核心库。 ```bash pip install transformers langchain torch ``` #### 配置应用服务 配置应用程序的服务端部分,使其能够加载并利用上述模型处理请求。这部分涉及到编写 API 接口代码以及设置 Web 服务器等任务。LangChain 提供了一系列接口函数帮助开发者快速搭建起这样的系统框架。 #### 测试与优化 最后一步是对已构建好的平台进行全面测试,验证各项功能是否正常运作;同时针对性能瓶颈做出相应调整以提高效率和服务质量。由于私有化部署允许高度自定义,因此可根据实际应用场景灵活修改参数设定或扩展额外特性[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值