在 Langchain-Chatchat v0.1.17 版本及以前是有前后端分离的 Vue 项目的,但是 v0.2.0 后就没有了。所以本文使用的是 Langchain-Chatchat v0.1.17 版本中的 Vue 项目。经过一番折腾终于将 Langchain-Chatchat v0.1.17 版本前端 Vue 接口和 Langchain-Chatchat v0.2.8 后端 API 接口调通了。
一.运行 Langchain-Chatchat
1.拉取源码
拉取 Langchain-Chatchat 源码(Langchain-Chatchat v0.2.8),如下所示:
gitclonehttps://github.com/chatchat-space/Langchain-Chatchat.git
2.安装依赖包
安装依赖包,如下所示:
pipinstall-r.requirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple
3.模型下载和配置
模型下载和配置(加速参考文献[3]),如下所示:
pythonhf_download.py--modelTHUDM/ChatGLM3-6B--save_dir./hf_hub
pythonhf_download.py--modelBAAI/bge-large-zh--save_dir./hf_hub
4.初始化知识库和配置文件
初始化知识库和配置文件,如下所示:
$pythoncopy_config_example.py
$pythoninit_database.py--recreate-vs
Langchain-Chatchat-0.2.8->configs->model_config.py->embed_model-> 设置 bge-large-zh 本地路径,如下所示:
Langchain-Chatchat-0.2.8->configs->model_config.py->llm_model-> 设置 chatglm3-6b 本地路径,如下所示:
Langchain-Chatchat-0.2.8->configs->model_config.py->VLLM_MODEL_DICT-> 设置 chatglm3-6b 本地路径,如下所示:
5.python startup.py -a
$pythonstartup.py-a
手动安装 PyTorch 的 CUDA 版本,如下所示:
pipinstalltorch==2.1.0torchvision==0.16.0torchaudio==2.1.0--index-urlhttps://download.pytorch.org/whl/cu118
控制台输出的日志信息,如下所示:
importsys;print('Python%son%s'%(sys.version,sys.platform))
Connectedtopydevdebugger(build232.9559.58)
L:20231106_ConversationSystemChatCopilotLangchainLangchain-Chatchat-0.2.8venvScriptspython.exe"D:/ProgramFiles/JetBrains/PyCharm2023.1.3/plugins/python/helpers/pydev/pydevd.py"--multiprocess--qt-support=auto--client127.0.0.1--port36490--fileL:20231106_ConversationSystemRasaLangchainLangchainLangchain-Chatchat-0.2.8startup.py-a
==============================Langchain-ChatchatConfiguration==============================
操作系统:Windows-10-10.0.19044-SP0.
python版本:3.10.9(tags/v3.10.9:1dd9be6,Dec62022,20:01:21)[MSCv.193464bit(AMD64)]
项目版本:v0.2.8
langchain版本:0.0.344.fastchat版本:0.2.34
当前使用的分词器:ChineseRecursiveTextSplitter
当前启动的LLM模型:['chatglm3-6b','zhipu-api','openai-api']@cuda
{'device':'cuda',
'host':'127.0.0.1',
'infer_turbo':False,
'model_path':'L:20230713_HuggingFaceModelGLM3chatglm3-6b',
'model_path_exists':True,
'port':20002}
{'api_key':'',
'device':'auto',
'host':'127.0.0.1',
'infer_turbo':False,
'online_api':True,
'port':21001,
'provider':'ChatGLMWorker',
'version':'chatglm_turbo',
'worker_class':class'server.model_workers.zhipu.ChatGLMWorker'>}
{'api_base_url':'https://api.openai.com/v1',
'api_key':'',
'device':'auto',
'host':'127.0.0.1',
'infer_turbo':False,
'model_name':'gpt-3.5-turbo',
'online_api':True,
'openai_proxy':'',
'port':20002}
当前Embbedings模型:bge-large-zh@cuda
==============================Langchain-ChatchatConfiguration==============================
2023-12-2408:18:36,235-startup.py[line:650]-INFO:正在启动服务:
2023-12-2408:18:36,236-startup.py[line:651]-INFO:如需查看llm_api日志,请前往L:20231106_ConversationSystemRasaLangchainLangchainLangchain-Chatchat-0.2.8logs
2023-12-2408:19:30|INFO|model_worker|Registertocontroller
2023-12-2408:19:37|ERROR|stderr|INFO:Startedserverprocess[126488]
2023-12-2408:19:37|ERROR|stderr|INFO:Waitingforapplicationstartup.
2023-12-2408:19:37|ERROR|stderr|INFO:Applicationstartupcomplete.
2023-12-2408:19:37|ERROR|stderr|INFO:Uvicornrunningonhttp://127.0.0.1:20000(PressCTRL+Ctoquit)
2023-12-2408:21:18|INFO|model_worker|Loadingthemodel['chatglm3-6b']onworkerbc7ce098...
Loadingcheckpointshards:0%||0/7[00:00,?it/s]
Loadingcheckpointshards:14%|█▍|1/7[01:0806:51,68.62s/it]
Loadingcheckpointshards:29%|██▊|2/7[02:1605:42,68.43s/it]
Loadingcheckpointshards:43%|████▎|3/7[03:2404:31,67.83s/it]
Loadingcheckpointshards:57%|█████▋|4/7[04:2803:19,66.62s/it]
Loadingcheckpointshards:71%|███████▏|5/7[05:3602:14,67.16s/it]
Loadingcheckpointshards:86%|████████▌|6/7[06:4801:08,68.75s/it]
Loadingcheckpointshards:100%|██████████|7/7[07:2900:00,59.44s/it]
Loadingcheckpointshards:100%|██████████|7/7[07:2900:00,64.15s/it]
2023-12-2408:29:30|ERROR|stderr|
2023-12-2408:30:45|INFO|model_worker|Registertocontroller
INFO:Startedserverprocess[125172]
INFO:Waitingforapplicationstartup.
INFO:Applicationstartupcomplete.
INFO:Uvicornrunningonhttp://127.0.0.1:7861(PressCTRL+Ctoquit)
==============================Langchain-ChatchatConfiguration==============================
操作系统:Windows-10-10.0.19044-SP0.
python版本:3.10.9(tags/v3.10.9:1dd9be6,Dec62022,20:01:21)[MSCv.193464bit(AMD64)]
项目版本:v0.2.8
langchain版本:0.0.344.fastchat版本:0.2.34
当前使用的分词器:ChineseRecursiveTextSplitter
当前启动的LLM模型:['chatglm3-6b','zhipu-api','openai-api']@cuda
{'device':'cuda',
'host':'127.0.0.1',
'infer_turbo':False,
'model_path':'L:20230713_HuggingFaceModelGLM3chatglm3-6b',
'model_path_exists':True,
'port':20002}
{'api_key':'',
'device':'auto',
'host':'127.0.0.1',
'infer_turbo':False,
'online_api':True,
'port':21001,
'provider':'ChatGLMWorker',
'version':'chatglm_turbo',
'worker_class':class'server.model_workers.zhipu.ChatGLMWorker'>}
{'api_base_url':'https://api.openai.com/v1',
'api_key':'',
'device':'auto',
'host':'127.0.0.1',
'infer_turbo':False,
'model_name':'gpt-3.5-turbo',
'online_api':True,
'openai_proxy':'',
'port':20002}
当前Embbedings模型:bge-large-zh@cuda
服务端运行信息:
OpenAIAPIServer:http://127.0.0.1:20000/v1
ChatchatAPIServer:http://127.0.0.1:7861
ChatchatWEBUIServer:http://127.0.0.1:8501
==============================Langchain-ChatchatConfiguration==============================
YoucannowviewyourStreamlitappinyourbrowser.
URL:http://127.0.0.1:8501
2023-12-2408:37:51,151-_client.py[line:1027]-INFO:HTTPRequest:POSThttp://127.0.0.1:20001/list_models"HTTP/1.1200OK"
INFO:127.0.0.1:31565-"POST/llm_model/list_running_modelsHTTP/1.1"200OK
2023-12-2408:37:51,188-_client.py[line:1027]-INFO:HTTPRequest:POSThttp://127.0.0.1:7861/llm_model/list_running_models"HTTP/1.1200OK"
2023-12-2408:37:51,331-_client.py[line:1027]-INFO:HTTPRequest:POSThttp:/服务器托管网/127.0.0.1:20001/list_models"HTTP/1.1200OK"
2023-12-2408:37:51,337-_client.py[line:1027]-INFO:HTTPRequest:POSThttp://127.0.0.1:7861/llm_model/list_running_models"HTTP/1.1200OK"
INFO:127.0.0.1:31565-"POST/llm_model/list_running_modelsHTTP/1.1"200OK
INFO:127.0.0.1:31565-"POST/llm_model/list_config_modelsHTTP/1.1"200OK
2023-12-2408:37:51,413-_client.py[line:1027]-INFO:HTTPRequest:POSThttp://127.0.0.1:7861/llm_model/list_config_models"HTTP/1.1200OK"
(1)OpenAI API Server: http://127.0.0.1/v1
(2)Chatchat API Server: http://127.0.0.1
这个是 Langchain-Chatchat v0.2.8 版本后端 API 接口文档,如下所示:
(3)Chatchat WEBUI Server: http://127.0.0.1
对话模式包括:LLM 对话,知识库问答,文件对话,搜索引擎问答,自定义 Agent 问答。
二.运行 Langchain-Chatchat-UI
在 Langchain-Chatchat v0.1.17 版本及以前是有前后端分离的 Vue 项目的,但是 v0.2.0 后就没有了。所以本文使用的是 Langchain-Chatchat v0.1.17 版本中的 Vue 项目。运行前端项目基本命令就是 npm install
,npm run dev
。
1.不能找到模块 node:path
当执行 npm run dev
时报错,显示 Error: Cannot find module 'node:path'
。如下所示:
以前用的 Vue2+Node 14.17.0,更换为 node-v16.16.0 就好了。执行命令,如下所示:
npminstallnpm@6-g
npmcacheclear--force
npminstall
npmrundev
2.将前端 Vue 项目跑起来
这个是 Langchain-Chatchat v0.1.17 版本前端 Vue 的界面(Langchain-Chatchat v0.2.8 后端 API 接口有所调整,需要更新前端接口才能将其运行起来),如下所示:
3.遇到的问题
(1)搜索引擎接口
http://localhost:8090/api/chat/search_engine_chat
(2)知识库检索接口
http://localhost:8090/api/chat/file_chat
报错:未找到临时知识库 samples,请先上传文件,但是知识库是已经存在的。
原因:应该调用 knowledge_base_chat 知识库对话接口,而 file_chat 是与临时文件进行对话的接口。
调用 knowledge_base_chat 成功后的信息,如下所示:
(3)文件上传接口
http://localhost:8090/api/knowledge_base/upload_docs
说明:经过一番折腾终于将 Langchain-Chatchat v0.1.17 版本前端 Vue 接口和 Langchain-Chatchat v0.2.8 后端 API 接口调通了(前端界面暂不开源,若有问题可以交流)。
参考文献
[1] https://nodejs.org/download/release/v16.16.0/
[2] https://github.com/chatchat-space/Langch服务器托管网ain-Chatchat
[3] https://github.com/LetheSec/HuggingFace-Download-Accelerator
[4] https://pytorch.org/get-started/previous-versions/
NLP工程化
1.本公众号以对话系统为中心,专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。
2.本公众号Roadmap可查看飞书文档:https://z0yrmerhgi8.feishu.cn/wiki/Zpewwe2T2iCQfwkSyMOcgwdInhf
NLP工程化
飞书文档
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
从数据到大模型应用,11 月 25 日,杭州源创会,共享开发小技巧 本文分享自华为云社区《【AIOps】一种全新的日志异常检测评估框架:LightAD,相关成果已被软工顶会ICSE 2024录用》,作者: DevAI。 深度学习(DL)虽然在日志异常检测中得到…