From b41c7dc6c5d1157f9954051c0c49191daffb8ad8 Mon Sep 17 00:00:00 2001 From: tpoisonooo Date: Thu, 4 Jan 2024 11:23:43 +0000 Subject: [PATCH] fix(service): fix import --- .gitignore | 1 + README.md | 9 ++++++--- service/feature_store.py | 17 ++++++++++++++--- service/sg_search.py | 2 +- service/worker.py | 2 +- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 6d575bcf..bf0dc98d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ frontend/__pycache__/ pk/ badcase.txt config.bak +config.ini diff --git a/README.md b/README.md index 86816bf6..13dcf8e5 100644 --- a/README.md +++ b/README.md @@ -64,12 +64,15 @@ x_api_key = "${YOUR-X-API-KEY}" # standalone python3 main.py workdir --standalone .. - ErrorCode.SUCCESS, 要安装 MMDeploy,首先需要准备一个支持 Python 3.6+ 和 PyTorch 1.8+ 的环境。然后,可以通过以下步骤安装 MMDeploy.. + ErrorCode.SUCCESS, 请教下视频流检测 跳帧 造成框一闪一闪的 有好的优化办法吗 + 1. 帧率控制和跳帧策略是优化视频流检测性能的关键,但需要注意跳帧对检测结果的影响。 + 2. 多线程处理和缓存机制可以提高检测效率,但需要注意检测结果的稳定性。 + 3. 使用滑动窗口的方式可以减少跳帧和缓存对检测结果的影响。 ``` - * **docker 用户**。如果你正在使用 docker,`HuixiangDou` 的 Hybrid LLM Service 分离部署。 + * **docker 用户**。如果你正在使用 docker,`HuixiangDou` 的 Hybrid LLM Service 需要分离部署。 ```bash - # 启动服务 + # 启动 LLM 服务 python3 service/llm_server_hybride.py ``` 打开新终端,把 host IP 配置进 `config.ini`,运行 diff --git a/service/feature_store.py b/service/feature_store.py index 643401d2..ca1c3a4a 100644 --- a/service/feature_store.py +++ b/service/feature_store.py @@ -317,7 +317,7 @@ def query_source(self, question: str): docs, _ = self.db_search(question=question.lower()) doc = docs[0] path = doc['path'] - part = doc['data'] + part = doc['content'] full = '' with open(path) as f: full = f.read() @@ -423,7 +423,7 @@ def parse_args(): return args -def test(): +def test_reject(): real_questions = [ '请问找不到libmmdeploy.so怎么办', 'SAM 10个T 的训练集,怎么比比较公平呢~?速度上还有缺陷吧?', '想问下,如果只是推理的话,amp的fp16是不会省显存么,我看parameter仍然是float32,开和不开推理的显存占用都是一样的。能不能直接用把数据和model都 .half() 代替呢,相比之下amp好在哪里', @@ -439,7 +439,17 @@ def test(): logger.error(f'reject query: {example}') else: logger.warning(f'process query: {example}') + del fs_query +def test_query(): + real_questions = [ + '视频流检测' + ] + fs_query = FeatureStore(config_path=args.config_path) + fs_query.load_feature(work_dir=args.work_dir) + for example in real_questions: + print(fs_query.query_source(example)) + del fs_query if __name__ == '__main__': args = parse_args() @@ -455,4 +465,5 @@ def test(): bad_questions=bad_questions) del fs_init - test() + test_query() + test_reject() diff --git a/service/sg_search.py b/service/sg_search.py index b4e2c546..284ac189 100644 --- a/service/sg_search.py +++ b/service/sg_search.py @@ -1,4 +1,4 @@ -from llm_client import ChatClient +from .llm_client import ChatClient import os import ast import json diff --git a/service/worker.py b/service/worker.py index 1bf34584..bfe3db5d 100644 --- a/service/worker.py +++ b/service/worker.py @@ -112,7 +112,7 @@ def generate(self, query, history, groupname): tracker.log('feature store reject') return ErrorCode.UNRELATED, response - if self.single_judge(self.SCORING_RELAVANCE_TEMPLATE.format( + if db_context_part is not None and self.single_judge(self.SCORING_RELAVANCE_TEMPLATE.format( query, db_context_part), tracker=tracker, throttle=5,