基础环境准备
本人使用的是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仓库下
修改配置项
修改模型相关参数配置文件
复制一份模型相关参数配置模板文件 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 进行接口查看与测试。
启用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
启动成功进行访问
如何系统的去学习AI大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践 - L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓