mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-23 15:29:59 +08:00
* 修复 bing_search.py的typo;更新model_config.py中Bing Subscription Key申请方式及注意事项 * 更新FAQ,增加了[Errno 110] Connection timed out的原因与解决方案 * 修改loader.py中load_in_8bit失败的原因和详细解决方案 * update loader.py * stream_chat_bing * 修改stream_chat的接口,在请求体中选择knowledge_base_id;增加stream_chat_bing接口 * 优化cli_demo.py的逻辑:支持 输入提示;多输入;重新输入 * update cli_demo.py * add bloom-3b,bloom-7b1,ggml-vicuna-13b-1.1 * 1.增加对llama-cpp模型的支持;2.增加对bloom模型的支持;3. 修复多GPU部署的bug;4. 增加对openai支持(没有api,未测试);5.增加了llama-cpp模型部署的说明 * llama模型兼容性说明 * modified: ../configs/model_config.py modified: ../docs/INSTALL.md 在install.md里增加对llama-cpp模型调用的说明 * 修改llama_llm.py以适应llama-cpp模型 * 完成llama-cpp模型的支持; * make fastchat and openapi compatiable * 1. 修复/增加对chatyuan,bloom,baichuan-7等模型的支持;2. 修复了moss_llm.py的bug; * set default model be chatglm-6b * 在多卡情况下也支持自定义GPU设备 --------- Co-authored-by: imClumsyPanda <littlepanda0716@gmail.com>
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import sys
|
|
from typing import Any
|
|
from models.loader.args import parser
|
|
from models.loader import LoaderCheckPoint
|
|
from configs.model_config import (llm_model_dict, LLM_MODEL)
|
|
from models.base import BaseAnswer
|
|
|
|
loaderCheckPoint: LoaderCheckPoint = None
|
|
|
|
|
|
def loaderLLM(llm_model: str = None, no_remote_model: bool = False, use_ptuning_v2: bool = False) -> Any:
|
|
"""
|
|
init llm_model_ins LLM
|
|
:param llm_model: model_name
|
|
:param no_remote_model: remote in the model on loader checkpoint, if your load local model to add the ` --no-remote-model
|
|
:param use_ptuning_v2: Use p-tuning-v2 PrefixEncoder
|
|
:return:
|
|
"""
|
|
pre_model_name = loaderCheckPoint.model_name
|
|
llm_model_info = llm_model_dict[pre_model_name]
|
|
|
|
if no_remote_model:
|
|
loaderCheckPoint.no_remote_model = no_remote_model
|
|
if use_ptuning_v2:
|
|
loaderCheckPoint.use_ptuning_v2 = use_ptuning_v2
|
|
|
|
if llm_model:
|
|
llm_model_info = llm_model_dict[llm_model]
|
|
|
|
if loaderCheckPoint.no_remote_model:
|
|
loaderCheckPoint.model_name = llm_model_info['name']
|
|
else:
|
|
loaderCheckPoint.model_name = llm_model_info['pretrained_model_name']
|
|
|
|
loaderCheckPoint.model_path = llm_model_info["local_model_path"]
|
|
|
|
if 'FastChatOpenAILLM' in llm_model_info["provides"]:
|
|
loaderCheckPoint.unload_model()
|
|
else:
|
|
loaderCheckPoint.reload_model()
|
|
|
|
provides_class = getattr(sys.modules['models'], llm_model_info['provides'])
|
|
modelInsLLM = provides_class(checkPoint=loaderCheckPoint)
|
|
if 'FastChatOpenAILLM' in llm_model_info["provides"]:
|
|
modelInsLLM.set_api_base_url(llm_model_info['api_base_url'])
|
|
modelInsLLM.call_model_name(llm_model_info['name'])
|
|
modelInsLLM.set_api_key(llm_model_info['api_key'])
|
|
return modelInsLLM
|