| import torch.cuda |
| import torch.backends |
| import os |
| import logging |
| import uuid |
|
|
| LOG_FORMAT = "%(levelname) -5s %(asctime)s" "-1d: %(message)s" |
| logger = logging.getLogger() |
| logger.setLevel(logging.INFO) |
| logging.basicConfig(format=LOG_FORMAT) |
|
|
| |
| |
| |
| 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": "G:\\projects\\ChatGLM\\langchain-ChatGLM\\downloaded\\GanymedeNil_text2vec-large-chinese", |
| "m3e-small": "moka-ai/m3e-small", |
| "m3e-base": "moka-ai/m3e-base", |
| } |
|
|
| |
| EMBEDDING_MODEL = "text2vec" |
|
|
| |
| EMBEDDING_DEVICE = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu" |
|
|
|
|
| |
| |
| |
| |
| |
| llm_model_dict = { |
| "chatglm-6b-int4-qe": { |
| "name": "chatglm-6b-int4-qe", |
| "pretrained_model_name": "THUDM/chatglm-6b-int4-qe", |
| "local_model_path": None, |
| "provides": "ChatGLM" |
| }, |
| "chatglm-6b-int4": { |
| "name": "chatglm-6b-int4", |
| "pretrained_model_name": "THUDM/chatglm-6b-int4", |
| "local_model_path": None, |
| "provides": "ChatGLM" |
| }, |
| "chatglm-6b-int8": { |
| "name": "chatglm-6b-int8", |
| "pretrained_model_name": "THUDM/chatglm-6b-int8", |
| "local_model_path": None, |
| "provides": "ChatGLM" |
| }, |
| "chatglm-6b": { |
| "name": "chatglm-6b", |
| "pretrained_model_name": "THUDM/chatglm-6b", |
| "local_model_path": None, |
| "provides": "ChatGLM" |
| }, |
|
|
| "chatyuan": { |
| "name": "chatyuan", |
| "pretrained_model_name": "ClueAI/ChatYuan-large-v2", |
| "local_model_path": None, |
| "provides": None |
| }, |
| "moss": { |
| "name": "moss", |
| "pretrained_model_name": "fnlp/moss-moon-003-sft", |
| "local_model_path": None, |
| "provides": "MOSSLLM" |
| }, |
| "vicuna-13b-hf": { |
| "name": "vicuna-13b-hf", |
| "pretrained_model_name": "vicuna-13b-hf", |
| "local_model_path": None, |
| "provides": "LLamaLLM" |
| }, |
|
|
| |
| "fastchat-chatglm-6b": { |
| "name": "chatglm-6b", |
| "pretrained_model_name": "chatglm-6b", |
| "local_model_path": None, |
| "provides": "FastChatOpenAILLM", |
| "api_base_url": "http://localhost:8000/v1" |
| }, |
|
|
| |
| "fastchat-vicuna-13b-hf": { |
| "name": "vicuna-13b-hf", |
| "pretrained_model_name": "vicuna-13b-hf", |
| "local_model_path": None, |
| "provides": "FastChatOpenAILLM", |
| "api_base_url": "http://localhost:8000/v1" |
| }, |
| } |
|
|
| |
| LLM_MODEL = "chatglm-6b-int8" |
| |
| LOAD_IN_8BIT = False |
| |
| BF16 = False |
| |
| LORA_DIR = "loras/" |
|
|
| |
| LLM_LORA_PATH = "" |
| USE_LORA = True if LLM_LORA_PATH else False |
|
|
| |
| STREAMING = True |
|
|
| |
| USE_PTUNING_V2 = False |
|
|
| |
| LLM_DEVICE = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu" |
|
|
| |
| KB_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "knowledge_base") |
|
|
| |
| PROMPT_TEMPLATE = """已知信息: |
| {context} |
| |
| 根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}""" |
|
|
| |
| CACHED_VS_NUM = 1 |
|
|
| |
| SENTENCE_SIZE = 100 |
|
|
| |
| CHUNK_SIZE = 250 |
|
|
| |
| LLM_HISTORY_LEN = 3 |
|
|
| |
| VECTOR_SEARCH_TOP_K = 5 |
|
|
| |
| VECTOR_SEARCH_SCORE_THRESHOLD = 0 |
|
|
| NLTK_DATA_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "nltk_data") |
|
|
| FLAG_USER_NAME = uuid.uuid4().hex |
|
|
| logger.info(f""" |
| loading model config |
| llm device: {LLM_DEVICE} |
| embedding device: {EMBEDDING_DEVICE} |
| dir: {os.path.dirname(os.path.dirname(__file__))} |
| flagging username: {FLAG_USER_NAME} |
| """) |
|
|
| |
| |
| OPEN_CROSS_DOMAIN = False |
|
|
| |
| |
| |
| |
| |
| |
| BING_SEARCH_URL = "https://api.bing.microsoft.com/v7.0/search" |
| |
|
|
| |
| |
| BING_SUBSCRIPTION_KEY = "" |
|
|
| |
| |
| |
| ZH_TITLE_ENHANCE = False |
|
|