LangChain-Chatchat学习资料-Windows开发部署

这篇具有很好参考价值的文章主要介绍了LangChain-Chatchat学习资料-Windows开发部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在windows10下的安装部署

参考资料

1.LacnChain-Chatchat项目

基础环境准备

本人使用的是Windows10专业版22H2版本,已经安装了Python3.10,CUDA11.8版本,miniconda3。
硬件采用联想R9000P,AMD R7 5800H,16G内存,RTX3060 6G。

安装依赖

# 使用conda安装激活环境
conda create -n Langchain-Chatchat python=3.10
conda activate Langchain-Chatchat
# 拉取仓库
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入目录
cd Langchain-Chatchat
# 安装全部依赖
pip install -r requirements.txt

默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。

此项目分为LLM服务,API服务和WebUI服务,可单独根据运行需求安装依赖包。

如果只需运行 LLM服务和API服务,可执行:

pip install -r requirements_api.txt

如果只需运行 WebUI服务,可执行:

pip install -r requirements_webui.txt

注:使用 langchain.document_loaders.UnstructuredFileLoader 进行 .docx 等格式非结构化文件接入时,可能需要依据文档进行其他依赖包的安装,请参考 langchain 文档。

下载模型

Langchain-Chatchat支持的开源 LLM 与 Embedding 模型,如果使用在线LLM服务,如OpenAI的API,则请直接查看下一节。

如果需要本地或离线LLM服务,则需要下载模型,通常开源 LLM 与 Embedding 模型可以从 HuggingFace 下载。

因为我的显卡为RTX3060,只有6G的显存,所以我使用的 LLM 模型 THUDM/chatglm2-6b-int4 与 Embedding 模型 moka-ai/m3e-base。
下载模型需要先安装Git LFS,然后运行

git clone https://huggingface.co/THUDM/chatglm2-6b-int4
git clone https://huggingface.co/moka-ai/m3e-base

如果你的网络不好,下载很慢,chatglm2-6b相关模型,推荐以下的方式
1.仅从Huggingface上下载模型实现,不下载LFS模型文件

# 只获取仓库本身,而不获取任何 LFS 对象
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b-int4

2.从清华云盘下载模型参数文件,放到本地chatglm2-6b仓库下
LangChain-Chatchat学习资料-Windows开发部署

修改配置项

修改模型相关参数配置文件

复制一份模型相关参数配置模板文件 configs/model_config.py.example,并重命名为 model_config.py

  • 修改本地LLM模型存储路径。
    如果使用本地LLM模型,请确认已下载至本地的 LLM 模型本地存储路径写在 llm_model_dict 对应模型的 local_model_path 属性中,如:
llm_model_dict={
    "chatglm2-6b-int4": {
        "local_model_path": "D:\\Langchain-Chatchat\\chatglm2-6b-int4",  # "THUDM/chatglm2-6b-int4",
        "api_base_url": "http://localhost:8888/v1",  # "URL需要与运行fastchat服务端的server_config.FSCHAT_OPENAI_API一致
        "api_key": "EMPTY"
    },
}

默认模板中没有提供llm_model_dict中,没有chatglm2-6b-int4模型,需要自己添加。

  • 修改在线LLM服务接口相关参数
    如果使用在线LLM服务,类OpenAi的API,需在llm_model_dict的gpt-3.5-turbo模型,修改对应的API地址和环境变量中的KEY,或新增对应的模型对象。
llm_model_dict={
    "gpt-3.5-turbo": {
        "local_model_path": "gpt-3.5-turbo",
        "api_base_url": "https://api.openai.com/v1",
        "api_key": os.environ.get("OPENAI_API_KEY")
    },
}
  • 修改使用的LLM模型名称
    根据上述新增或修改的模型名称,修改LLM_MODEL为使用的模型名称
# LLM 名称
LLM_MODEL = "chatglm2-6b-int4"
  • 修改embedding模型存储路径
    请确认已下载至本地的 Embedding 模型本地存储路径写在 embedding_model_dict 对应模型属性中,如:
embedding_model_dict = {
    "m3e-base": "D:\\Langchain-Chatchat\\m3e-base",
}
  • 其他修改项,可根据配置文件中的注释,自行进行修改。

修改服务相关参数配置文件

复制服务相关参数配置模板文件 configs/server_config.py.example,并重命名为 server_config.py。

  • 修改服务绑定的IP和端口
    根据实际情况,修改DEFAULT_BIND_HOST属性,改为需要绑定的服务IP
# 各服务器默认绑定host
DEFAULT_BIND_HOST = "10.0.21.161"

知识库初始化

如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、Embedding模型发生变化,需要以下命令初始化或重建知识库:

python init_database.py --recreate-vs

启动服务

启用LLM服务

如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务,如需使用开源模型进行本地部署,需首先启动 LLM 服务,参照项目部署手册,LLM服务启动方式有三种,我们只选择其中之一即可,这里采用的是基于多进程脚本 llm_api.py 启动 LLM 服务
在项目根目录下,执行 server/llm_api.py 脚本启动 LLM 模型服务:

python server/llm_api.py

启用API服务

执行server/api.py 脚本启动 API 服务

python server/api.py

启动 API 服务后,可访问 localhost:7861 或 {API 所在服务器 IP}:7861 FastAPI 自动生成的 docs 进行接口查看与测试。
LangChain-Chatchat学习资料-Windows开发部署

启用webui服务

启动 API 服务后,执行 webui.py 启动 Web UI 服务(默认使用端口 8501)

streamlit run webui.py

使用 Langchain-Chatchat 主题色启动 Web UI 服务(默认使用端口 8501)

streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000"

或使用以下命令指定启动 Web UI 服务并指定端口号

streamlit run webui.py --server.port 666

启动成功进行访问

LangChain-Chatchat学习资料-Windows开发部署文章来源地址https://www.toymoban.com/news/detail-670727.html

到了这里,关于LangChain-Chatchat学习资料-Windows开发部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库

    手把手教你搭建本地知识库问答AI机器人 LangChain-Chatchat:基于LangChain和ChatGLM2-6B构建本地离线私有化知识库 在家庭私有云上部署体验语言模型chatglm3-6b,打造私人助理 手把手教大家在本地运行ChatGLM3-6B大模型(一) 自从去年GPT模型火爆以来,降低了很多个人和企业进入人工智

    2024年02月20日
    浏览(46)
  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二)

    接上文:从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库 Langchain-chatchat 0.2.10 推荐使用python3.11.7,通过下面命令进行python环境创建。 如下图 安装完毕后,通过以下命令激活python虚拟环境 如下图,shell命令行前面会出现(langchain)这个虚拟环境名。 转到

    2024年03月21日
    浏览(42)
  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(完结篇)

    相关文章: 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(一) https://blog.csdn.net/hya168/article/details/131460230 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二) https://blog.csdn.net/hya168/article/details/135870440 生成默认配置文件 此命令

    2024年02月20日
    浏览(55)
  • Flutter Windows开发环境搭建教程与学习资料推荐

      Windows应用软件开发有很多框架可以选择,例如比较流行的Electron、Qt、CEF、WPF、WinForm、MFC、DuiLib、SOUI等等。Flutter是近几年流行的全平台应用开发框架,可以进行Android、IOS、Web、MacOS、Windows、Linux等平台的应用软件开发。   Flutter是谷歌推出的一种移动应用开发框架,使

    2024年02月05日
    浏览(52)
  • LLMs之RAG:LangChain-Chatchat(一款中文友好的全流程本地知识库问答应用)的简介(支持 FastChat 接入的ChatGLM-2/LLaMA-2等多款主流LLMs+多款embe

    LLMs之RAG:LangChain-Chatchat(一款中文友好的全流程本地知识库问答应用)的简介(支持 FastChat 接入的ChatGLM-2/LLaMA-2等多款主流LLMs+多款embedding模型m3e等+多种TextSplitter分词器)、安装(镜像部署【AutoDL云平台/Docker镜像】,离线私有部署+支持RTX3090 ,支持FAISS/Milvus/PGVector向量库, 基于

    2024年02月08日
    浏览(46)
  • zkrollup学习资料汇总

    FluiDex FluiDex Labs 致力于构建下一代专业的去中心化交易所。我们将在以太坊上使用 PLONK 零知识证明技术,开发高性能的订单簿数字资产现货交易所。 zksync: 最完整的 ZK-Rollup 开源项目代码,涵盖了一个 ZK-Rollup 系统需要的每个组件。使用 PLONK 机制,电路代码使用 bellman,链下

    2024年02月12日
    浏览(35)
  • 自动驾驶最强学习资料

    资料说明和获取方式 本资料包是作者吐血整理的干货!目前为止应该是非常全的自动驾驶资料包!是作者五年自动驾驶算法工程师的 积累! 以上干货资料并不全是作者自己原创, 是作者作为五年自动驾驶算法工程的积累,一部分是参考其他的资料,一部分是作者自己的一些

    2024年03月13日
    浏览(69)
  • 【IOT】学习资料

    随着科技的不断发展,物联网(IoT)已经成为了当今数字化时代的一部分。物联网将各种物理设备、传感器和互联网连接起来,为我们提供了巨大的数据流和智能化的应用。在这个庞大的生态系统中,物联网平台扮演着至关重要的角色,它们不仅可以连接和管理物联网设备,

    2024年02月20日
    浏览(41)
  • 以太坊入门学习资料

    区块链按照访问和管理权限分为公有链、联盟链和私有链。 公有链:完全开放,所有节点均可加入,代表链-比特币Bitcoin、以太坊Ethereum。 联盟链:有多个组织和机构共同管理,获得组织和机构许可的节点可以加入,代表链-超级账本Hyperledger Fabric。 私有链:获得集中管理者

    2024年02月02日
    浏览(46)
  • 0.flink学习资料

    (1)google dataflow model 下载链接:p1792-Akidau.pdf (vldb.org) Akidau T, Bradshaw R, Chambers C, et al. The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing[J]. Proceedings of the VLDB Endowment, 2015, 8(12): 1792-1803 流式计算的基石文档,google出品

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包