From 3d07873da37cd09c4a6e6d1191e9f84c396b42fe Mon Sep 17 00:00:00 2001 From: tpoisonooo Date: Fri, 12 Jan 2024 10:38:16 +0800 Subject: [PATCH] feat(service): fix requirements.txt --- README_zh.md | 11 +++++++++-- requirements.txt | 7 +++++++ service/llm_server_hybrid.py | 3 ++- service/worker.py | 2 +- tests/test_hf_import_accelerate.py | 12 ++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 tests/test_hf_import_accelerate.py diff --git a/README_zh.md b/README_zh.md index 4619bc45..22a47298 100644 --- a/README_zh.md +++ b/README_zh.md @@ -40,9 +40,16 @@ cd HuixiangDou && mkdir workdir # 创建工作目录 python3 -m pip install -r requirements.txt # 安装依赖,python3.11 需要 `conda install conda-forge::faiss-gpu` python3 service/feature_store.py # 把 repodir 的特征保存到 workdir ``` -首次运行将自动下载配置中的 [text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese),如果自动下载失败,可以手动下载到本地,然后在 `config.ini` 设置模型路径。 +首次运行将自动下载配置中的 [text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese)。考虑到不同地区 huggingface 连接问题,建议先手动下载到本地,然后在 `config.ini` 设置模型路径。例如: -结束后,茴香豆能够区分应该处理哪些用户话题,哪些闲聊应该拒绝。请编辑 [good_questions](./resource/good_questions.json) 和 [bad_questions](./resource/bad_questions.json),尝试自己的领域知识(医疗,金融,电力等)。 +```shell +# config.ini +[feature_store] +.. +model_path = "/path/to/text2vec-large-chinese" +``` + +运行结束后,茴香豆能够区分应该处理哪些用户话题,哪些闲聊应该拒绝。请编辑 [good_questions](./resource/good_questions.json) 和 [bad_questions](./resource/bad_questions.json),尝试自己的领域知识(医疗,金融,电力等)。 ```shell # 接受技术话题 diff --git a/requirements.txt b/requirements.txt index 36ce7a51..d62317ae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,10 @@ sentence_transformers readability-lxml faiss-gpu transformers>=4.33.2 +openai>=1.0.0 +pydantic>=1.10.13 +transformers_stream_generator +accelerate>=0.26.1 +beautifulsoup4 +tiktoken +einops diff --git a/service/llm_server_hybrid.py b/service/llm_server_hybrid.py index 4a0741af..1d588237 100644 --- a/service/llm_server_hybrid.py +++ b/service/llm_server_hybrid.py @@ -43,7 +43,8 @@ def __init__(self, model_path, trust_remote_code=True, device_map="auto", - # fp16=True, +# torch_dtype="auto", +# fp16=True, ).eval() else: logger.warning(f'local LLM disabled.') diff --git a/service/worker.py b/service/worker.py index d80e8fcd..32895a95 100644 --- a/service/worker.py +++ b/service/worker.py @@ -136,7 +136,7 @@ def generate(self, query, history, groupname): response = self.llm.generate_response(prompt=prompt, history=history, remote=True) - tracker.track('feature store doc', [db_context_part, response]) + tracker.log('feature store doc', [db_context_part, response]) return ErrorCode.SUCCESS, response else: diff --git a/tests/test_hf_import_accelerate.py b/tests/test_hf_import_accelerate.py new file mode 100644 index 00000000..c37181ac --- /dev/null +++ b/tests/test_hf_import_accelerate.py @@ -0,0 +1,12 @@ +from accelerate import dispatch_model, infer_auto_device_map, init_empty_weights +from accelerate.hooks import add_hook_to_module +from accelerate.utils import ( + check_tied_parameters_on_same_device, + find_tied_parameters, + get_balanced_memory, + get_max_memory, + load_offloaded_weights, + offload_weight, + save_offload_index, + set_module_tensor_to_device, +)