From 93b133f9acb4a7e01265d31d8b23cf721283c3f2 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Mon, 4 Sep 2023 16:37:44 +0800 Subject: [PATCH 01/60] =?UTF-8?q?=E5=B0=86KnowledgeFile=E7=9A=84file2text?= =?UTF-8?q?=E6=8B=86=E5=88=86=E6=88=90file2docs=E3=80=81docs2texts?= =?UTF-8?q?=E5=92=8Cfile2text=E4=B8=89=E4=B8=AA=E9=83=A8=E5=88=86=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=E4=BF=9D=E6=8C=81=E6=8E=A5=E5=8F=A3=E4=B8=8D=E5=8F=98?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=EF=BC=9A=201=E3=80=81=E6=94=AF=E6=8C=81chunk=5Fsize=E5=92=8Cch?= =?UTF-8?q?unk=5Foverlap=E5=8F=82=E6=95=B0=202=E3=80=81=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89text=5Fsplitter=203=E3=80=81?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89docs=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9Acsv=E6=96=87=E4=BB=B6=E4=B8=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8text=5Fsplitter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/knowledge_base/utils.py | 198 +++++++++++++++++++-------------- server/utils.py | 27 ++++- 2 files changed, 139 insertions(+), 86 deletions(-) diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index a8a9bcca..2d63308f 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -14,9 +14,11 @@ import importlib from text_splitter import zh_title_enhance import langchain.document_loaders from langchain.docstore.document import Document +from langchain.text_splitter import TextSplitter from pathlib import Path import json -from concurrent.futures import ThreadPoolExecutor, as_completed +from concurrent.futures import ThreadPoolExecutor +from server.utils import run_in_thread_pool from typing import List, Union, Callable, Dict, Optional, Tuple, Generator @@ -186,75 +188,110 @@ class KnowledgeFile: raise ValueError(f"暂未支持的文件格式 {self.ext}") self.filepath = get_file_path(knowledge_base_name, filename) self.docs = None + self.splited_docs = None self.document_loader_name = get_LoaderClass(self.ext) # TODO: 增加依据文件格式匹配text_splitter self.text_splitter_name = None - def file2text(self, using_zh_title_enhance=ZH_TITLE_ENHANCE, refresh: bool = False): - if self.docs is not None and not refresh: - return self.docs - - print(f"{self.document_loader_name} used for {self.filepath}") - try: - if self.document_loader_name in ["RapidOCRPDFLoader", "RapidOCRLoader"]: - document_loaders_module = importlib.import_module('document_loaders') - else: - document_loaders_module = importlib.import_module('langchain.document_loaders') - DocumentLoader = getattr(document_loaders_module, self.document_loader_name) - except Exception as e: - print(e) - document_loaders_module = importlib.import_module('langchain.document_loaders') - DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") - if self.document_loader_name == "UnstructuredFileLoader": - loader = DocumentLoader(self.filepath, autodetect_encoding=True) - elif self.document_loader_name == "CSVLoader": - loader = DocumentLoader(self.filepath, encoding="utf-8") - elif self.document_loader_name == "JSONLoader": - loader = DocumentLoader(self.filepath, jq_schema=".", text_content=False) - elif self.document_loader_name == "CustomJSONLoader": - loader = DocumentLoader(self.filepath, text_content=False) - elif self.document_loader_name == "UnstructuredMarkdownLoader": - loader = DocumentLoader(self.filepath, mode="elements") - elif self.document_loader_name == "UnstructuredHTMLLoader": - loader = DocumentLoader(self.filepath, mode="elements") - else: - loader = DocumentLoader(self.filepath) - - if self.ext in ".csv": - docs = loader.load() - else: + def file2docs(self, refresh: bool=False): + if self.docs is None or refresh: + print(f"{self.document_loader_name} used for {self.filepath}") try: - if self.text_splitter_name is None: - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, "SpacyTextSplitter") - text_splitter = TextSplitter( - pipeline="zh_core_web_sm", - chunk_size=CHUNK_SIZE, - chunk_overlap=OVERLAP_SIZE, - ) - self.text_splitter_name = "SpacyTextSplitter" + if self.document_loader_name in ["RapidOCRPDFLoader", "RapidOCRLoader"]: + document_loaders_module = importlib.import_module('document_loaders') else: - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, self.text_splitter_name) - text_splitter = TextSplitter( - chunk_size=CHUNK_SIZE, - chunk_overlap=OVERLAP_SIZE) + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, self.document_loader_name) except Exception as e: print(e) - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") - text_splitter = TextSplitter( - chunk_size=CHUNK_SIZE, - chunk_overlap=OVERLAP_SIZE, - ) + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") + if self.document_loader_name == "UnstructuredFileLoader": + loader = DocumentLoader(self.filepath, autodetect_encoding=True) + elif self.document_loader_name == "CSVLoader": + loader = DocumentLoader(self.filepath, encoding="utf-8") + elif self.document_loader_name == "JSONLoader": + loader = DocumentLoader(self.filepath, jq_schema=".", text_content=False) + elif self.document_loader_name == "CustomJSONLoader": + loader = DocumentLoader(self.filepath, text_content=False) + elif self.document_loader_name == "UnstructuredMarkdownLoader": + loader = DocumentLoader(self.filepath, mode="elements") + elif self.document_loader_name == "UnstructuredHTMLLoader": + loader = DocumentLoader(self.filepath, mode="elements") + else: + loader = DocumentLoader(self.filepath) + self.docs = loader.load() + return self.docs - docs = loader.load_and_split(text_splitter) - print(docs[0]) + def make_text_splitter( + self, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + ): + try: + if self.text_splitter_name is None: + text_splitter_module = importlib.import_module('langchain.text_splitter') + TextSplitter = getattr(text_splitter_module, "SpacyTextSplitter") + text_splitter = TextSplitter( + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + self.text_splitter_name = "SpacyTextSplitter" + else: + text_splitter_module = importlib.import_module('langchain.text_splitter') + TextSplitter = getattr(text_splitter_module, self.text_splitter_name) + text_splitter = TextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap) + except Exception as e: + print(e) + text_splitter_module = importlib.import_module('langchain.text_splitter') + TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") + text_splitter = TextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + return text_splitter + + def docs2texts( + self, + docs: List[Document] = None, + using_zh_title_enhance=ZH_TITLE_ENHANCE, + refresh: bool = False, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + text_splitter: TextSplitter = None, + ): + docs = docs or self.file2docs(refresh=refresh) + + if self.ext not in [".csv"]: + if text_splitter is None: + text_splitter = self.make_text_splitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap) + docs = text_splitter.split_documents(docs) + + print(f"文档切分示例:{docs[0]}") if using_zh_title_enhance: docs = zh_title_enhance(docs) - self.docs = docs - return docs + self.splited_docs = docs + return self.splited_docs + + def file2text( + self, + using_zh_title_enhance=ZH_TITLE_ENHANCE, + refresh: bool = False, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + text_splitter: TextSplitter = None, + ): + if self.splited_docs is None or refresh: + self.splited_docs = self.docs2texts(using_zh_title_enhance=using_zh_title_enhance, + refresh=refresh, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + text_splitter=text_splitter) + return self.splited_docs def get_mtime(self): return os.path.getmtime(self.filepath) @@ -263,36 +300,15 @@ class KnowledgeFile: return os.path.getsize(self.filepath) -def run_in_thread_pool( - func: Callable, - params: List[Dict] = [], - pool: ThreadPoolExecutor = None, -) -> Generator: - ''' - 在线程池中批量运行任务,并将运行结果以生成器的形式返回。 - 请确保任务中的所有操作是线程安全的,任务函数请全部使用关键字参数。 - ''' - tasks = [] - if pool is None: - pool = ThreadPoolExecutor() - - for kwargs in params: - thread = pool.submit(func, **kwargs) - tasks.append(thread) - - for obj in as_completed(tasks): - yield obj.result() - - def files2docs_in_thread( - files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], + files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], # 如果是Tuple,形式为(filename, kb_name) pool: ThreadPoolExecutor = None, ) -> Generator: ''' - 利用多线程批量将文件转化成langchain Document. + 利用多线程批量将磁盘文件转化成langchain Document. 生成器返回值为{(kb_name, file_name): docs} ''' - def task(*, file: KnowledgeFile, **kwargs) -> Dict[Tuple[str, str], List[Document]]: + def file2docs(*, file: KnowledgeFile, **kwargs) -> Tuple[bool, Tuple[str, str, List[Document]]]: try: return True, (file.kb_name, file.filename, file.file2text(**kwargs)) except Exception as e: @@ -302,14 +318,26 @@ def files2docs_in_thread( for i, file in enumerate(files): kwargs = {} if isinstance(file, tuple) and len(file) >= 2: - files[i] = KnowledgeFile(filename=file[0], knowledge_base_name=file[1]) + file = KnowledgeFile(filename=file[0], knowledge_base_name=file[1]) elif isinstance(file, dict): filename = file.pop("filename") kb_name = file.pop("kb_name") - files[i] = KnowledgeFile(filename=filename, knowledge_base_name=kb_name) kwargs = file + file = KnowledgeFile(filename=filename, knowledge_base_name=kb_name) kwargs["file"] = file kwargs_list.append(kwargs) - for result in run_in_thread_pool(func=task, params=kwargs_list, pool=pool): + for result in run_in_thread_pool(func=file2docs, params=kwargs_list, pool=pool): yield result + + +if __name__ == "__main__": + from pprint import pprint + + kb_file = KnowledgeFile(filename="test.txt", knowledge_base_name="samples") + # kb_file.text_splitter_name = "RecursiveCharacterTextSplitter" + docs = kb_file.file2docs() + pprint(docs[-1]) + + docs = kb_file.file2text() + pprint(docs[-1]) diff --git a/server/utils.py b/server/utils.py index ec07dc6e..9f4888f4 100644 --- a/server/utils.py +++ b/server/utils.py @@ -9,7 +9,11 @@ from configs.model_config import LLM_MODEL, llm_model_dict, LLM_DEVICE, EMBEDDIN from configs.server_config import FSCHAT_MODEL_WORKERS import os from server import model_workers -from typing import Literal, Optional, Any +from concurrent.futures import ThreadPoolExecutor, as_completed +from typing import Literal, Optional, Callable, Generator, Dict, Any + + +thread_pool = ThreadPoolExecutor() class BaseResponse(BaseModel): @@ -305,3 +309,24 @@ def embedding_device(device: str = EMBEDDING_DEVICE) -> Literal["cuda", "mps", " if device not in ["cuda", "mps", "cpu"]: device = detect_device() return device + + +def run_in_thread_pool( + func: Callable, + params: List[Dict] = [], + pool: ThreadPoolExecutor = None, +) -> Generator: + ''' + 在线程池中批量运行任务,并将运行结果以生成器的形式返回。 + 请确保任务中的所有操作是线程安全的,任务函数请全部使用关键字参数。 + ''' + tasks = [] + pool = pool or thread_pool + + for kwargs in params: + thread = pool.submit(func, **kwargs) + tasks.append(thread) + + for obj in as_completed(tasks): + yield obj.result() + From 98e4fbaaa3b506409295e3f3dead93ac1405c69b Mon Sep 17 00:00:00 2001 From: TongTie Date: Tue, 5 Sep 2023 11:10:14 +0800 Subject: [PATCH 02/60] docs: Correcting a spelling mistake in README (#1367) Co-authored-by: tongtie --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 577e7f7b..1d4bb8f0 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ embedding_model_dict = { } ``` -如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要鞥能够访问OpenAI官的API,或设置代理。 +如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 ### 4. 知识库初始化与迁移 From 464ccc6d5308092f4111337975017208bfbe3628 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Tue, 5 Sep 2023 11:47:25 +0800 Subject: [PATCH 03/60] Update migrate.py (#1371) fix bug at line 85 : for kb_file in kb_file --- server/knowledge_base/migrate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index 129dd53c..c11c00d2 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -75,7 +75,7 @@ def folder2db( files = list_files_from_folder(kb_name) kb_files = file_to_kbfile(kb_name, files) - for kb_file in kb_file: + for kb_file in kb_files: add_file_to_db(kb_file) print(f"已将 {kb_name}/{kb_file.filename} 添加到数据库") elif mode == "update_in_db": From 3e87530478e79b314b0ff7f0a698771391be7b96 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Tue, 5 Sep 2023 12:43:51 +0800 Subject: [PATCH 04/60] =?UTF-8?q?=E4=BD=BFzhipuai=E5=8F=98=E4=B8=BA?= =?UTF-8?q?=E9=9D=9E=E5=BF=85=E8=A6=81=E4=BE=9D=E8=B5=96(close=20#1369)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model_workers/zhipu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index 4e4e15e0..82eab5da 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -1,4 +1,3 @@ -import zhipuai from server.model_workers.base import ApiModelWorker from fastchat import conversation as conv import sys @@ -37,6 +36,7 @@ class ChatGLMWorker(ApiModelWorker): def generate_stream_gate(self, params): # TODO: 支持stream参数,维护request_id,传过来的prompt也有问题 from server.utils import get_model_worker_config + import zhipuai super().generate_stream_gate(params) zhipuai.api_key = get_model_worker_config("chatglm-api").get("api_key") From 0b60a25f2a5eea35092613f487606a26c0d18887 Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Tue, 5 Sep 2023 17:27:43 +0800 Subject: [PATCH 05/60] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=AD=98=E5=82=A8=E8=B7=AF=E5=BE=84=20=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 1acaf1c1..440fb4ac 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -101,7 +101,8 @@ if not os.path.exists(LOG_PATH): # 知识库默认存储路径 KB_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "knowledge_base") - +if not os.path.exists(KB_ROOT_PATH): + os.mkdir(KB_ROOT_PATH) # 数据库默认存储路径。 # 如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。 DB_ROOT_PATH = os.path.join(KB_ROOT_PATH, "info.db") From fdfbf3131823a4501ae301b580d6788fc33b2d20 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 5 Sep 2023 17:30:58 +0800 Subject: [PATCH 06/60] fix streamlit-aggrid showing "For Trial Use Only" --- webui_pages/knowledge_base/knowledge_base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index 0889ca54..ef332a7c 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -189,7 +189,8 @@ def knowledge_base_page(api: ApiRequest): custom_css={ "#gridToolBar": {"display": "none"}, }, - allow_unsafe_jscode=True + allow_unsafe_jscode=True, + enable_enterprise_modules=False ) selected_rows = doc_grid.get("selected_rows", []) From 74cca5eb0e9faf5c25a6ea241d744e9f118d1ac2 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 5 Sep 2023 18:04:21 +0800 Subject: [PATCH 07/60] add support for shibing624/text2vec-bge-large-chinese --- README.md | 7 ++++--- configs/model_config.py.example | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1d4bb8f0..fbdeeaf6 100644 --- a/README.md +++ b/README.md @@ -127,10 +127,11 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch - [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) - [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) - [BAAI/bge-large-zh-noinstruct](https://huggingface.co/BAAI/bge-large-zh-noinstruct) -- [text2vec-base-chinese-sentence](https://huggingface.co/shibing624/text2vec-base-chinese-sentence) -- [text2vec-base-chinese-paraphrase](https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase) -- [text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual) +- [shibing624/text2vec-base-chinese-sentence](https://huggingface.co/shibing624/text2vec-base-chinese-sentence) +- [shibing624/text2vec-base-chinese-paraphrase](https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase) +- [shibing624/text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual) - [shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese) +- [shibing624/text2vec-bge-large-chinese](https://huggingface.co/shibing624/text2vec-bge-large-chinese) - [GanymedeNil/text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese) - [nghuyong/ernie-3.0-nano-zh](https://huggingface.co/nghuyong/ernie-3.0-nano-zh) - [nghuyong/ernie-3.0-base-zh](https://huggingface.co/nghuyong/ernie-3.0-base-zh) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 440fb4ac..fd57e1ed 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -18,6 +18,7 @@ embedding_model_dict = { "text2vec-paraphrase": "shibing624/text2vec-base-chinese-paraphrase", "text2vec-sentence": "shibing624/text2vec-base-chinese-sentence", "text2vec-multilingual": "shibing624/text2vec-base-multilingual", + "text2vec-bge-large-chinese": "shibing624/text2vec-bge-large-chinese", "m3e-small": "moka-ai/m3e-small", "m3e-base": "moka-ai/m3e-base", "m3e-large": "moka-ai/m3e-large", From e23e27a9f25cf542a74533cdc0c43a85fad3cf66 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 5 Sep 2023 18:15:43 +0800 Subject: [PATCH 08/60] update autodl version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbdeeaf6..d7a06c46 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ 🚩 本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。 -🌐 [AutoDL 镜像](https://www.codewithgpu.com/i/imClumsyPanda/langchain-ChatGLM/Langchain-Chatchat) 中 `v6` 版本所使用代码已更新至本项目 `0.2.2` 版本。 +🌐 [AutoDL 镜像](https://www.codewithgpu.com/i/imClumsyPanda/langchain-ChatGLM/Langchain-Chatchat) 中 `v7` 版本所使用代码已更新至本项目 `v0.2.3` 版本。 🐳 [Docker 镜像](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) From 491c9605d959bd34aef6ba852168cb88b155cd3f Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Tue, 5 Sep 2023 18:35:11 +0800 Subject: [PATCH 09/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E6=96=87=E6=A1=A3metadata=E6=A3=80=E7=B4=A2=E7=9A=84=E5=BC=80?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/knowledge_base/utils.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index a8a9bcca..a1ed94e1 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -191,7 +191,7 @@ class KnowledgeFile: # TODO: 增加依据文件格式匹配text_splitter self.text_splitter_name = None - def file2text(self, using_zh_title_enhance=ZH_TITLE_ENHANCE, refresh: bool = False): + def file2text(self, using_zh_title_enhance=ZH_TITLE_ENHANCE, refresh: bool = False, build_meta_data: bool = True): if self.docs is not None and not refresh: return self.docs @@ -250,6 +250,18 @@ class KnowledgeFile: ) docs = loader.load_and_split(text_splitter) + + if build_meta_data: + + meta_data = docs[0].metadata + # 对meta_data每项格式化成 "":"" 形式 + meta_data = {f'"{k}":"{v}"' for k, v in meta_data.items()} + # 转换成字符串 + meta_data = "\r\n" + "\r\n\b".join(meta_data) + "\r\n" + doc = Document(page_content=str(meta_data), metadata=docs[0].metadata) + # 将doc 添加到docs的第一项 + docs.insert(0, doc) + print(docs[0]) if using_zh_title_enhance: docs = zh_title_enhance(docs) @@ -264,9 +276,9 @@ class KnowledgeFile: def run_in_thread_pool( - func: Callable, - params: List[Dict] = [], - pool: ThreadPoolExecutor = None, + func: Callable, + params: List[Dict] = [], + pool: ThreadPoolExecutor = None, ) -> Generator: ''' 在线程池中批量运行任务,并将运行结果以生成器的形式返回。 @@ -275,18 +287,18 @@ def run_in_thread_pool( tasks = [] if pool is None: pool = ThreadPoolExecutor() - + for kwargs in params: thread = pool.submit(func, **kwargs) tasks.append(thread) - + for obj in as_completed(tasks): yield obj.result() def files2docs_in_thread( - files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], - pool: ThreadPoolExecutor = None, + files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], + pool: ThreadPoolExecutor = None, ) -> Generator: ''' 利用多线程批量将文件转化成langchain Document. @@ -310,6 +322,6 @@ def files2docs_in_thread( kwargs = file kwargs["file"] = file kwargs_list.append(kwargs) - + for result in run_in_thread_pool(func=task, params=kwargs_list, pool=pool): yield result From 1027ab6c062008ba9e8d8b4d04a14fea30686fd1 Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Tue, 5 Sep 2023 20:59:57 +0800 Subject: [PATCH 10/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E6=96=87=E6=A1=A3metadata=E6=A3=80=E7=B4=A2=E7=9A=84=E5=BC=80?= =?UTF-8?q?=E5=85=B3=EF=BC=8C=E7=A7=BB=E5=8A=A8=E5=88=B0dev=5Fmetadata=5Fs?= =?UTF-8?q?earch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/knowledge_base/utils.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index a1ed94e1..36c972b7 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -191,7 +191,7 @@ class KnowledgeFile: # TODO: 增加依据文件格式匹配text_splitter self.text_splitter_name = None - def file2text(self, using_zh_title_enhance=ZH_TITLE_ENHANCE, refresh: bool = False, build_meta_data: bool = True): + def file2text(self, using_zh_title_enhance=ZH_TITLE_ENHANCE, refresh: bool = False): if self.docs is not None and not refresh: return self.docs @@ -251,17 +251,6 @@ class KnowledgeFile: docs = loader.load_and_split(text_splitter) - if build_meta_data: - - meta_data = docs[0].metadata - # 对meta_data每项格式化成 "":"" 形式 - meta_data = {f'"{k}":"{v}"' for k, v in meta_data.items()} - # 转换成字符串 - meta_data = "\r\n" + "\r\n\b".join(meta_data) + "\r\n" - doc = Document(page_content=str(meta_data), metadata=docs[0].metadata) - # 将doc 添加到docs的第一项 - docs.insert(0, doc) - print(docs[0]) if using_zh_title_enhance: docs = zh_title_enhance(docs) From 6702f39db1309aeacc6b1215703bff73c2d02932 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 5 Sep 2023 21:00:35 +0800 Subject: [PATCH 11/60] update knowledge_base page --- webui_pages/knowledge_base/knowledge_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index ef332a7c..29a63225 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -127,7 +127,7 @@ def knowledge_base_page(api: ApiRequest): # 上传文件 # sentence_size = st.slider("文本入库分句长度限制", 1, 1000, SENTENCE_SIZE, disabled=True) - files = st.file_uploader("上传知识文件(暂不支持扫描PDF)", + files = st.file_uploader("上传知识文件", [i for ls in LOADER_DICT.values() for i in ls], accept_multiple_files=True, ) From 0ea18314f2b6a267b7c1363394d0621be171836a Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 5 Sep 2023 21:07:54 +0800 Subject: [PATCH 12/60] fix unit test name --- tests/document_loader/test_imgloader.py | 10 +++++----- tests/document_loader/test_pdfloader.py | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/document_loader/test_imgloader.py b/tests/document_loader/test_imgloader.py index 8bba7da9..92460cb4 100644 --- a/tests/document_loader/test_imgloader.py +++ b/tests/document_loader/test_imgloader.py @@ -6,14 +6,14 @@ sys.path.append(str(root_path)) from pprint import pprint test_files = { - "ocr_test.pdf": str(root_path / "tests" / "samples" / "ocr_test.pdf"), + "ocr_test.jpg": str(root_path / "tests" / "samples" / "ocr_test.jpg"), } -def test_rapidocrpdfloader(): - pdf_path = test_files["ocr_test.pdf"] - from document_loaders import RapidOCRPDFLoader +def test_rapidocrloader(): + img_path = test_files["ocr_test.jpg"] + from document_loaders import RapidOCRLoader - loader = RapidOCRPDFLoader(pdf_path) + loader = RapidOCRLoader(img_path) docs = loader.load() pprint(docs) assert isinstance(docs, list) and len(docs) > 0 and isinstance(docs[0].page_content, str) diff --git a/tests/document_loader/test_pdfloader.py b/tests/document_loader/test_pdfloader.py index 92460cb4..8bba7da9 100644 --- a/tests/document_loader/test_pdfloader.py +++ b/tests/document_loader/test_pdfloader.py @@ -6,14 +6,14 @@ sys.path.append(str(root_path)) from pprint import pprint test_files = { - "ocr_test.jpg": str(root_path / "tests" / "samples" / "ocr_test.jpg"), + "ocr_test.pdf": str(root_path / "tests" / "samples" / "ocr_test.pdf"), } -def test_rapidocrloader(): - img_path = test_files["ocr_test.jpg"] - from document_loaders import RapidOCRLoader +def test_rapidocrpdfloader(): + pdf_path = test_files["ocr_test.pdf"] + from document_loaders import RapidOCRPDFLoader - loader = RapidOCRLoader(img_path) + loader = RapidOCRPDFLoader(pdf_path) docs = loader.load() pprint(docs) assert isinstance(docs, list) and len(docs) > 0 and isinstance(docs[0].page_content, str) From 6f039cfdebf61560734e06f26f5bc34305939fef Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Tue, 5 Sep 2023 23:13:42 +0800 Subject: [PATCH 13/60] =?UTF-8?q?update=20server.model=5Fworkers.base.py/z?= =?UTF-8?q?hipu.py:=20=E6=94=AF=E6=8C=81zhipuapi=E7=9A=84stream=20?= =?UTF-8?q?=E6=B5=81=E5=BC=8F=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model_workers/base.py | 161 ++++++++++++++++++++++++++++++++++ server/model_workers/zhipu.py | 45 +++++++--- 2 files changed, 192 insertions(+), 14 deletions(-) diff --git a/server/model_workers/base.py b/server/model_workers/base.py index b72f6839..672b0bc6 100644 --- a/server/model_workers/base.py +++ b/server/model_workers/base.py @@ -69,3 +69,164 @@ class ApiModelWorker(BaseModelWorker): target=fastchat.serve.model_worker.heart_beat_worker, args=(self,), daemon=True, ) self.heart_beat_thread.start() + + def prompt_collator(self, + content_user: str = None, + role_user:str = "user", + content_assistant: str = None, + role_assistant: str = "assistant", + meta_prompt:List[Dict[str,str]] = [{"role":"system","content":"你是一个AI工具"}], + use_meta_prompt:bool=False): + prompt = [] + if use_meta_prompt: + prompt += meta_prompt + if content_user: + prompt_dict = {"role": role_user, "content":content_user} + prompt.append(prompt_dict) + if content_assistant: + prompt_dict = {"role": role_assistant, "content":content_assistant} + prompt.append(prompt_dict) + return prompt + + def create_oneshot(self, + message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs + ): + response = self.zhipuai.model_api.invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature + ) + if response["code"] == 200: + result = response["data"]["choices"][-1]["content"] + return json.dumps({"error_code": 0, "text": result}, ensure_ascii=False).encode() + b"\0" + else: + #TODO 确认openai的error code + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return json.dumps({"error_code": response['code'], + "text": f"error occurred, error code:{response['code']},error msg:{response['msg']}" + }, + ensure_ascii=False).encode() + b"\0" + + def create_stream(self, + message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs + ): + response = self.zhipuai.model_api.sse_invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature, + incremental = True + ) + for event in response.events(): + if event.event == "add": + # yield event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + elif event.event == "error" or event.event == "interrupted": + # return event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + elif event.event == "finish": + # yield event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + print(event.meta) + else: + print("Something get wrong with ZhipuAPILoader.create_chat_completion_stream") + print(event.data) + yield json.dumps({"error_code": 1, "text": event.data}, ensure_ascii=False).encode() + b"\0" + + def create_chat_completion(self, + model: str = "chatglm_pro", + prompt:List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + top_p:float=0.7, + temperature:float=0.9, + stream:bool=False): + + if stream: + return self.create_stream(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + else: + return self.create_oneshot(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + + async def acreate_chat_completion(self, + prompt: List[Dict[str,str]]=[{"role":"system","content":"你是一个人工智能助手"}, + {"role":"user","content":"你好。"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs): + response = await self.zhipuai.model_api.async_invoke( + model = model, + prompt = prompt, + top_p = top_p, + temperature = temperature + ) + + if response["code"] == 200: + task_id = response['data']['task_id'] + status = "PROCESSING" + while status != "SUCCESS": + # await asyncio.sleep(3) # + resp = self.zhipuai.model_api.query_async_invoke_result(task_id) + status = resp['data']['task_status'] + return resp['data']['choices'][-1]['content'] + else: + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return + + def create_completion(self, + prompt:str="你好", + model:str="chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + stream:bool=False, + **kwargs): + message = self.prompt_collator(content_user=prompt) + if stream: + return self.create_stream(model=model, + message=message, + top_p=top_p, + temperature=temperature) + else: + return self.create_oneshot(model=model, + message=message, + top_p=top_p, + temperature=temperature) + #? make it a sync function? + async def acreate_completion(self, + prompt:str="你好", + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs): + message = self.prompt_collator(content_user=prompt) + response = self.zhipuai.model_api.async_invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature + ) + + if response["code"] == 200: + task_id = response['data']['task_id'] + status = "PROCESSING" + while status != "SUCCESS": + # await asyncio.sleep(3) # + resp = self.zhipuai.model_api.query_async_invoke_result(task_id) + status = resp['data']['task_status'] + return resp['data']['choices'][-1]['content'] + else: + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return \ No newline at end of file diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index 82eab5da..3ae7535d 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -1,3 +1,4 @@ +import zhipuai from server.model_workers.base import ApiModelWorker from fastchat import conversation as conv import sys @@ -36,24 +37,40 @@ class ChatGLMWorker(ApiModelWorker): def generate_stream_gate(self, params): # TODO: 支持stream参数,维护request_id,传过来的prompt也有问题 from server.utils import get_model_worker_config - import zhipuai super().generate_stream_gate(params) zhipuai.api_key = get_model_worker_config("chatglm-api").get("api_key") - response = zhipuai.model_api.sse_invoke( - model=self.version, - prompt=[{"role": "user", "content": params["prompt"]}], - temperature=params.get("temperature"), - top_p=params.get("top_p"), - incremental=False, - ) - for e in response.events(): - if e.event == "add": - yield json.dumps({"error_code": 0, "text": e.data}, ensure_ascii=False).encode() + b"\0" - # TODO: 更健壮的消息处理 - # elif e.event == "finish": - # ... + model=self.version, + prompt=self.prompt_collator(content_user=params["prompt"]) #[{"role": "user", "content": params["prompt"]}] + temperature=params.get("temperature") + top_p=params.get("top_p") + stream = params.get("stream") + + if stream: + return self.create_stream(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + else: + return self.create_oneshot(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + + # response = zhipuai.model_api.sse_invoke( + # model=self.version, + # prompt=[{"role": "user", "content": params["prompt"]}], + # temperature=params.get("temperature"), + # top_p=params.get("top_p"), + # incremental=False, + # ) + # for e in response.events(): + # if e.event == "add": + # yield json.dumps({"error_code": 0, "text": e.data}, ensure_ascii=False).encode() + b"\0" + # # TODO: 更健壮的消息处理 + # # elif e.event == "finish": + # # ... def get_embeddings(self, params): # TODO: 支持embeddings From 5e4bd5c3d3fc5ab87f1ef89bdc74680a5a2d6ab8 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Wed, 6 Sep 2023 11:16:16 +0800 Subject: [PATCH 14/60] =?UTF-8?q?update=20server.model=5Fworker.zhipu.py/b?= =?UTF-8?q?ase.py:=E5=A2=9E=E5=8A=A0=E6=B5=81=E5=BC=8F=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model_workers/base.py | 142 ----------------------------- server/model_workers/zhipu.py | 162 ++++++++++++++++++++++++++++++++-- 2 files changed, 155 insertions(+), 149 deletions(-) diff --git a/server/model_workers/base.py b/server/model_workers/base.py index 672b0bc6..59c5d79e 100644 --- a/server/model_workers/base.py +++ b/server/model_workers/base.py @@ -88,145 +88,3 @@ class ApiModelWorker(BaseModelWorker): prompt.append(prompt_dict) return prompt - def create_oneshot(self, - message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], - model:str = "chatglm_pro", - top_p:float=0.7, - temperature:float=0.9, - **kwargs - ): - response = self.zhipuai.model_api.invoke( - model = model, - prompt = message, - top_p = top_p, - temperature = temperature - ) - if response["code"] == 200: - result = response["data"]["choices"][-1]["content"] - return json.dumps({"error_code": 0, "text": result}, ensure_ascii=False).encode() + b"\0" - else: - #TODO 确认openai的error code - print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") - return json.dumps({"error_code": response['code'], - "text": f"error occurred, error code:{response['code']},error msg:{response['msg']}" - }, - ensure_ascii=False).encode() + b"\0" - - def create_stream(self, - message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], - model:str = "chatglm_pro", - top_p:float=0.7, - temperature:float=0.9, - **kwargs - ): - response = self.zhipuai.model_api.sse_invoke( - model = model, - prompt = message, - top_p = top_p, - temperature = temperature, - incremental = True - ) - for event in response.events(): - if event.event == "add": - # yield event.data - yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" - elif event.event == "error" or event.event == "interrupted": - # return event.data - yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" - elif event.event == "finish": - # yield event.data - yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" - print(event.meta) - else: - print("Something get wrong with ZhipuAPILoader.create_chat_completion_stream") - print(event.data) - yield json.dumps({"error_code": 1, "text": event.data}, ensure_ascii=False).encode() + b"\0" - - def create_chat_completion(self, - model: str = "chatglm_pro", - prompt:List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], - top_p:float=0.7, - temperature:float=0.9, - stream:bool=False): - - if stream: - return self.create_stream(model=model, - message=prompt, - top_p=top_p, - temperature=temperature) - else: - return self.create_oneshot(model=model, - message=prompt, - top_p=top_p, - temperature=temperature) - - async def acreate_chat_completion(self, - prompt: List[Dict[str,str]]=[{"role":"system","content":"你是一个人工智能助手"}, - {"role":"user","content":"你好。"}], - model:str = "chatglm_pro", - top_p:float=0.7, - temperature:float=0.9, - **kwargs): - response = await self.zhipuai.model_api.async_invoke( - model = model, - prompt = prompt, - top_p = top_p, - temperature = temperature - ) - - if response["code"] == 200: - task_id = response['data']['task_id'] - status = "PROCESSING" - while status != "SUCCESS": - # await asyncio.sleep(3) # - resp = self.zhipuai.model_api.query_async_invoke_result(task_id) - status = resp['data']['task_status'] - return resp['data']['choices'][-1]['content'] - else: - print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") - return - - def create_completion(self, - prompt:str="你好", - model:str="chatglm_pro", - top_p:float=0.7, - temperature:float=0.9, - stream:bool=False, - **kwargs): - message = self.prompt_collator(content_user=prompt) - if stream: - return self.create_stream(model=model, - message=message, - top_p=top_p, - temperature=temperature) - else: - return self.create_oneshot(model=model, - message=message, - top_p=top_p, - temperature=temperature) - #? make it a sync function? - async def acreate_completion(self, - prompt:str="你好", - model:str = "chatglm_pro", - top_p:float=0.7, - temperature:float=0.9, - **kwargs): - message = self.prompt_collator(content_user=prompt) - response = self.zhipuai.model_api.async_invoke( - model = model, - prompt = message, - top_p = top_p, - temperature = temperature - ) - - if response["code"] == 200: - task_id = response['data']['task_id'] - status = "PROCESSING" - while status != "SUCCESS": - # await asyncio.sleep(3) # - resp = self.zhipuai.model_api.query_async_invoke_result(task_id) - status = resp['data']['task_status'] - return resp['data']['choices'][-1]['content'] - else: - print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") - return \ No newline at end of file diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index 3ae7535d..a15b2b2d 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -3,7 +3,7 @@ from server.model_workers.base import ApiModelWorker from fastchat import conversation as conv import sys import json -from typing import List, Literal +from typing import List, Literal,Dict class ChatGLMWorker(ApiModelWorker): @@ -23,7 +23,9 @@ class ChatGLMWorker(ApiModelWorker): kwargs.setdefault("context_len", 32768) super().__init__(**kwargs) self.version = version - + self.zhipuai = zhipuai + from server.utils import get_model_worker_config + self.zhipuai.api_key = get_model_worker_config("chatglm-api").get("api_key") # 这里的是chatglm api的模板,其它API的conv_template需要定制 self.conv = conv.Conversation( name="chatglm-api", @@ -36,13 +38,16 @@ class ChatGLMWorker(ApiModelWorker): def generate_stream_gate(self, params): # TODO: 支持stream参数,维护request_id,传过来的prompt也有问题 - from server.utils import get_model_worker_config - super().generate_stream_gate(params) - zhipuai.api_key = get_model_worker_config("chatglm-api").get("api_key") - model=self.version, - prompt=self.prompt_collator(content_user=params["prompt"]) #[{"role": "user", "content": params["prompt"]}] + model=self.version + # if isinstance(params["prompt"], str): + # prompt=self.prompt_collator(content_user=params["prompt"], + # role_user="user") #[{"role": "user", "content": params["prompt"]}] + # else: + # prompt = params["prompt"] + prompt = params["prompt"] + print(prompt) temperature=params.get("temperature") top_p=params.get("top_p") stream = params.get("stream") @@ -77,6 +82,149 @@ class ChatGLMWorker(ApiModelWorker): print("embedding") print(params) + def create_oneshot(self, + message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs + ): + response = self.zhipuai.model_api.invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature + ) + if response["code"] == 200: + result = response["data"]["choices"][-1]["content"] + return json.dumps({"error_code": 0, "text": result}, ensure_ascii=False).encode() + b"\0" + else: + #TODO 确认openai的error code + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return json.dumps({"error_code": response['code'], + "text": f"error occurred, error code:{response['code']},error msg:{response['msg']}" + }, + ensure_ascii=False).encode() + b"\0" + + def create_stream(self, + message: List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs + ): + response = self.zhipuai.model_api.sse_invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature, + incremental = True + ) + for event in response.events(): + if event.event == "add": + # yield event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + elif event.event == "error" or event.event == "interrupted": + # return event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + elif event.event == "finish": + # yield event.data + yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" + print(event.meta) + else: + print("Something get wrong with ZhipuAPILoader.create_chat_completion_stream") + print(event.data) + yield json.dumps({"error_code": 1, "text": event.data}, ensure_ascii=False).encode() + b"\0" + + def create_chat_completion(self, + model: str = "chatglm_pro", + prompt:List[Dict[str,str]]=[{"role":"user","content":"你好,你可以做什么"}], + top_p:float=0.7, + temperature:float=0.9, + stream:bool=False): + + if stream: + return self.create_stream(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + else: + return self.create_oneshot(model=model, + message=prompt, + top_p=top_p, + temperature=temperature) + + async def acreate_chat_completion(self, + prompt: List[Dict[str,str]]=[{"role":"system","content":"你是一个人工智能助手"}, + {"role":"user","content":"你好。"}], + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs): + response = await self.zhipuai.model_api.async_invoke( + model = model, + prompt = prompt, + top_p = top_p, + temperature = temperature + ) + + if response["code"] == 200: + task_id = response['data']['task_id'] + status = "PROCESSING" + while status != "SUCCESS": + # await asyncio.sleep(3) # + resp = self.zhipuai.model_api.query_async_invoke_result(task_id) + status = resp['data']['task_status'] + return resp['data']['choices'][-1]['content'] + else: + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return + + def create_completion(self, + prompt:str="你好", + model:str="chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + stream:bool=False, + **kwargs): + message = self.prompt_collator(content_user=prompt) + if stream: + return self.create_stream(model=model, + message=message, + top_p=top_p, + temperature=temperature) + else: + return self.create_oneshot(model=model, + message=message, + top_p=top_p, + temperature=temperature) + #? make it a sync function? + async def acreate_completion(self, + prompt:str="你好", + model:str = "chatglm_pro", + top_p:float=0.7, + temperature:float=0.9, + **kwargs): + message = self.prompt_collator(content_user=prompt) + response = self.zhipuai.model_api.async_invoke( + model = model, + prompt = message, + top_p = top_p, + temperature = temperature + ) + + if response["code"] == 200: + task_id = response['data']['task_id'] + status = "PROCESSING" + while status != "SUCCESS": + # await asyncio.sleep(3) # + resp = self.zhipuai.model_api.query_async_invoke_result(task_id) + status = resp['data']['task_status'] + return resp['data']['choices'][-1]['content'] + else: + print(f"error occurred, error code:{response['code']},error msg:{response['msg']}") + return + if __name__ == "__main__": import uvicorn From 76c2c61bb24c9b3ce62daa593b7e01665bd6501d Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Wed, 6 Sep 2023 17:33:00 +0800 Subject: [PATCH 15/60] =?UTF-8?q?update=20server.model=5Fworker.zhipu.py:?= =?UTF-8?q?=E6=9B=B4=E6=96=B0prompt=EF=BC=8C=E9=81=B5=E5=AE=88zhipu?= =?UTF-8?q?=E7=9A=84=E6=A0=BC=E5=BC=8F=E8=A6=81=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model_workers/zhipu.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index a15b2b2d..56f51ca9 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -29,11 +29,11 @@ class ChatGLMWorker(ApiModelWorker): # 这里的是chatglm api的模板,其它API的conv_template需要定制 self.conv = conv.Conversation( name="chatglm-api", - system_message="你是一个聪明、对人类有帮助的人工智能,你可以对人类提出的问题给出有用、详细、礼貌的回答。", + system_message="", messages=[], - roles=["Human", "Assistant"], - sep="\n### ", - stop_str="###", + roles=["user", "assistant"], + sep="", + stop_str="", ) def generate_stream_gate(self, params): @@ -41,13 +41,13 @@ class ChatGLMWorker(ApiModelWorker): super().generate_stream_gate(params) model=self.version - # if isinstance(params["prompt"], str): - # prompt=self.prompt_collator(content_user=params["prompt"], - # role_user="user") #[{"role": "user", "content": params["prompt"]}] - # else: - # prompt = params["prompt"] - prompt = params["prompt"] - print(prompt) + input_prompt = params["prompt"].replace("user:","").replace("assistant:","") + + if isinstance(input_prompt, str): + prompt=self.prompt_collator(content_user=input_prompt, + role_user="user") #[{"role": "user", "content": params["prompt"]}] + else: + prompt = params["prompt"] temperature=params.get("temperature") top_p=params.get("top_p") stream = params.get("stream") @@ -122,7 +122,7 @@ class ChatGLMWorker(ApiModelWorker): ) for event in response.events(): if event.event == "add": - # yield event.data + print(f"SSE返回结果 {event.data}") yield json.dumps({"error_code": 0, "text": event.data}, ensure_ascii=False).encode() + b"\0" elif event.event == "error" or event.event == "interrupted": # return event.data From 80f00e27f943d437bd401d8e58f61e7bb5506650 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Thu, 7 Sep 2023 16:27:12 +0800 Subject: [PATCH 16/60] update readme.md, add reame_en.md: 1. update supported models list;2. add readme_en.md --- README.md | 3 + README_en.md | 547 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 550 insertions(+) create mode 100644 README_en.md diff --git a/README.md b/README.md index d7a06c46..d13ce89e 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,9 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch - [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b) - [Qwen/Qwen-7B-Chat](https://huggingface.co/Qwen/Qwen-7B-Chat) - [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta) +- [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat) and others +- [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B) +- [all models of OpenOrca](https://huggingface.co/Open-Orca) - 任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) - 在以上模型基础上训练的任何 [Peft](https://github.com/huggingface/peft) 适配器。为了激活,模型路径中必须有 `peft` 。注意:如果加载多个peft模型,你可以通过在任何模型工作器中设置环境变量 `PEFT_SHARE_BASE_WEIGHTS=true` 来使它们共享基础模型的权重。 diff --git a/README_en.md b/README_en.md new file mode 100644 index 00000000..f24ecaf1 --- /dev/null +++ b/README_en.md @@ -0,0 +1,547 @@ +![](img/logo-long-chatchat-trans-v2.png) + +**LangChain-Chatchat** (former Langchain-ChatGLM): A LLM application aims to implement knowledge- and search engineer- based QA based on Langchain and open-source or remote LLM api. + +**LangChain-Chatchat** (former Langchain-ChatGLM):基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。 + +## Content + +* Introduction +* Change Log +* Docker Deployment +* Deployment + * Enviroment Preresiquisite + * Preparing Depolyment Enviroment + * Downloading model to local disk(for offline deployment only) + * Setting Configuration + * Knowledge Base Migration + * Luanching API Service or WebUI with One Command + * Luanching API Service or WebUI step-by-step +* FAQ +* Roadmap +* Wechat Group + +## 目录 + +* [介绍](README.md#介绍) +* [变更日志](README.md#变更日志) +* [模型支持](README.md#模型支持) +* [Docker 部署](README.md#Docker-部署) +* [开发部署](README.md#开发部署) + * [软件需求](README.md#软件需求) + * [1. 开发环境准备](README.md#1.-开发环境准备) + * [2. 下载模型至本地](README.md#2.-下载模型至本地) + * [3. 设置配置项](README.md#3.-设置配置项) + * [4. 知识库初始化与迁移](README.md#4.-知识库初始化与迁移) + * [5. 一键启动API服务或WebUI服务](README.md#6.-一键启动) + * [6. 分步启动 API 服务或 Web UI](README.md#5.-启动-API-服务或-Web-UI) +* [常见问题](README.md#常见问题) +* [路线图](README.md#路线图) +* [项目交流群](README.md#项目交流群) + +--- + +## Introduction(介绍) + +🤖️ A Q&A application based on local knowledge base implemented using the idea of [langchain](https://github.com/hwchase17/langchain). The goal is to build a KBQA(Knowledge based Q&A) solution that is friendly to Chinese scenarios and open source models and can run both offline and online. + +一种利用 [langchain](https://github.com/hwchase17/langchain) 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 + +💡 Inspried by [document.ai](https://github.com/GanymedeNil/document.ai) and [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) , we build a local knowledge base question answering application that can be implemented using an open source model or remote LLM api throughout the process. In the latest version of this project, [FastChat](https://github.com/lm-sys/FastChat) is used to access Vicuna, Alpaca, LLaMA, Koala, RWKV and many other models. Relying on [langchain](https:// github.com/langchain-ai/langchain) , this project supports calling services through the API provided based on [FastAPI](https://github.com/tiangolo/fastapi), or using the WebUI based on [Streamlit](https://github.com /streamlit/streamlit) . + +受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai) 和 [AlexZhangji](https://github.com/AlexZhangji) 创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat) 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain) 框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API 调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。 + +✅ Relying on the open source LLM and Embedding models, this project can realize full-process **offline private deployment**. At the same time, this project also supports the call of OpenAI GPT API- and Zhipu API, and will continue to expand the access to various models and remote APIs in the future. + +依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。 + +⛓️ The implementation principle of this project is shown in the graph below. The main process includes: loading files -> reading text -> text segmentation -> text vectorization -> question vectorization -> matching the `top-k` most similar to the question vector in the text vector -> The matched text is added to `prompt `as context and question -> submitted to `LLM` to generate an answer. + +本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 `top k`个 -> 匹配出的文本作为上下文和问题一起添加到 `prompt`中 -> 提交给 `LLM`生成回答。 + +📺video introdution([原理介绍视频](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514)) + +![实现原理图](img/langchain+chatglm.png) + +The main process analysis from the aspect of document process: + +从文档处理角度来看,实现流程如下: + +![实现原理图2](img/langchain+chatglm2.png) + +🚩 The training or fined-tuning are not involved in the project, but still, one always can improve performance by do these. + +本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。 + +🌐 [AutoDL image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) is supported, and in v7 the codes are update to v0.2.3. + +[AutoDL 镜像](https://www.codewithgpu.com/i/imClumsyPanda/langchain-ChatGLM/Langchain-Chatchat) 中 `v7` 版本所使用代码已更新至本项目 `v0.2.3` 版本。 + +🐳 [Docker image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) + +💻 Run Docker with one command: + +一行命令运行 Docker: + +```shell +docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 +``` + +--- + +## Change Log(变更日志) + +plese refer to [version change log](https://github.com/imClumsyPanda/langchain-ChatGLM/releases) + +### Current Features + +* **Consistent LLM Service based on FastChat**. The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models and access it in the form of OpenAI API interface to improve the loading effect of the LLM model; +* **Chain and Agent based on Langchian**. Use the existing Chain implementation in [langchain](https://github.com/langchain-ai/langchain) to facilitate subsequent access to different types of Chain, and will test Agent access; +* **Full fuction API service based on FastAPI**. All interfaces can be tested in the docs automatically generated by [FastAPI](https://github.com/tiangolo/fastapi), and all dialogue interfaces support streaming or non-streaming output through parameters. ; +* **WebUI service based on Streamlit**. With [Streamlit](https://github.com/streamlit/streamlit), you can choose whether to start WebUI based on API services, add session management, customize session themes and switch, and will support different display of content forms of output in the future; +* **Abundant open source LLM and Embedding models**. The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base), the file loading method and the paragraph division method have also been adjusted. In the future, context expansion will be re-implemented and optional settings will be added; +* **Multiply vector libraries**. The project has expanded support for different types of vector libraries. Including [FAISS](https://github.com/facebookresearch/faiss), [Milvus](https://github.com/milvus -io/milvus), and [PGVector](https://github.com/pgvector/pgvector); +* **Varied Search engines**. We provide two search engines now: Bing and DuckDuckGo. DuckDuckGo search does not require configuring an API Key and can be used directly in environments with access to foreign services. + +参见 [版本更新日志](https://github.com/imClumsyPanda/langchain-ChatGLM/releases)。 + +从 `0.1.x` 升级过来的用户请注意,需要按照[开发部署](README.md#3.-开发部署)过程操作,将现有知识库迁移到新格式,具体见[知识库初始化与迁移](docs/INSTALL.md#知识库初始化与迁移)。 + +### `0.2.0` 版本与 `0.1.x` 版本区别 + +1. 使用 [FastChat](https://github.com/lm-sys/FastChat) 提供开源 LLM 模型的 API,以 OpenAI API 接口形式接入,提升 LLM 模型加载效果; +2. 使用 [langchain](https://github.com/langchain-ai/langchain) 中已有 Chain 的实现,便于后续接入不同类型 Chain,并将对 Agent 接入开展测试; +3. 使用 [FastAPI](https://github.com/tiangolo/fastapi) 提供 API 服务,全部接口可在 FastAPI 自动生成的 docs 中开展测试,且所有对话接口支持通过参数设置流式或非流式输出; +4. 使用 [Streamlit](https://github.com/streamlit/streamlit) 提供 WebUI 服务,可选是否基于 API 服务启动 WebUI,增加会话管理,可以自定义会话主题并切换,且后续可支持不同形式输出内容的显示; +5. 项目中默认 LLM 模型改为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认 Embedding 模型改为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base),文件加载方式与文段划分方式也有调整,后续将重新实现上下文扩充,并增加可选设置; +6. 项目中扩充了对不同类型向量库的支持,除支持 [FAISS](https://github.com/facebookresearch/faiss) 向量库外,还提供 [Milvus](https://github.com/milvus-io/milvus), [PGVector](https://github.com/pgvector/pgvector) 向量库的接入; +7. 项目中搜索引擎对话,除 Bing 搜索外,增加 DuckDuckGo 搜索选项,DuckDuckGo 搜索无需配置 API Key,在可访问国外服务环境下可直接使用。 + +--- + +## Supported Model(模型支持) + +The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base). + +本项目中默认使用的 LLM 模型为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认使用的 Embedding 模型为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例。 + +### Supported LLM models (LLM模型支持) + +The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models, supported models include: + +本项目最新版本中基于 [FastChat](https://github.com/lm-sys/FastChat) 进行本地 LLM 模型接入,支持模型如下: + +- [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf) +- Vicuna, Alpaca, LLaMA, Koala +- [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven) +- [camel-ai/CAMEL-13B-Combined-Data](https://huggingface.co/camel-ai/CAMEL-13B-Combined-Data) +- [databricks/dolly-v2-12b](https://huggingface.co/databricks/dolly-v2-12b) +- [FreedomIntelligence/phoenix-inst-chat-7b](https://huggingface.co/FreedomIntelligence/phoenix-inst-chat-7b) +- [h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b) +- [lcw99/polyglot-ko-12.8b-chang-instruct-chat](https://huggingface.co/lcw99/polyglot-ko-12.8b-chang-instruct-chat) +- [lmsys/fastchat-t5-3b-v1.0](https://huggingface.co/lmsys/fastchat-t5) +- [mosaicml/mpt-7b-chat](https://huggingface.co/mosaicml/mpt-7b-chat) +- [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT) +- [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy) +- [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b) +- [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg) +- [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5) +- [project-baize/baize-v2-7b](https://huggingface.co/project-baize/baize-v2-7b) +- [Salesforce/codet5p-6b](https://huggingface.co/Salesforce/codet5p-6b) +- [StabilityAI/stablelm-tuned-alpha-7b](https://huggingface.co/stabilityai/stablelm-tuned-alpha-7b) +- [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b) +- [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) +- [tiiuae/falcon-40b](https://huggingface.co/tiiuae/falcon-40b) +- [timdettmers/guanaco-33b-merged](https://huggingface.co/timdettmers/guanaco-33b-merged) +- [togethercomputer/RedPajama-INCITE-7B-Chat](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Chat) +- [WizardLM/WizardLM-13B-V1.0](https://huggingface.co/WizardLM/WizardLM-13B-V1.0) +- [WizardLM/WizardCoder-15B-V1.0](https://huggingface.co/WizardLM/WizardCoder-15B-V1.0) +- [baichuan-inc/baichuan-7B](https://huggingface.co/baichuan-inc/baichuan-7B) +- [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b) +- [Qwen/Qwen-7B-Chat](https://huggingface.co/Qwen/Qwen-7B-Chat) +- [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta) +- [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat) and other models of FlagAlpha +- [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B) +- [all models of OpenOrca](https://huggingface.co/Open-Orca) + +* Any [EleutherAI](https://huggingface.co/EleutherAI) pythia model such as [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)(任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)) +* Any [Peft](https://github.com/huggingface/peft) adapter trained on top of a model above. To activate, must have `peft` in the model path. Note: If loading multiple peft models, you can have them share the base model weights by setting the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` in any model worker.(在以上模型基础上训练的任何 [Peft](https://github.com/huggingface/peft) 适配器。为了激活,模型路径中必须有 `peft` 。注意:如果加载多个peft模型,你可以通过在任何模型工作器中设置环境变量 `PEFT_SHARE_BASE_WEIGHTS=true` 来使它们共享基础模型的权重。) + +Please refer to `llm_model_dict` in `configs.model_configs.py.example` to invoke OpenAI API. + +以上模型支持列表可能随 [FastChat](https://github.com/lm-sys/FastChat) 更新而持续更新,可参考 [FastChat 已支持模型列表](https://github.com/lm-sys/FastChat/blob/main/docs/model_support.md)。 + +除本地模型外,本项目也支持直接接入 OpenAI API,具体设置可参考 `configs/model_configs.py.example` 中的 `llm_model_dict` 的 `openai-chatgpt-3.5` 配置信息。 + +### Supported Embedding models (Embedding模型支持) + +Following models are tested by developers with Embedding class of [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity): + +本项目支持调用 [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity) 中的 Embedding 模型,已支持的 Embedding 模型如下: + +- [moka-ai/m3e-small](https://huggingface.co/moka-ai/m3e-small) +- [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) +- [moka-ai/m3e-large](https://huggingface.co/moka-ai/m3e-large) +- [BAAI/bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) +- [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) +- [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) +- [BAAI/bge-large-zh-noinstruct](https://huggingface.co/BAAI/bge-large-zh-noinstruct) +- [shibing624/text2vec-base-chinese-sentence](https://huggingface.co/shibing624/text2vec-base-chinese-sentence) +- [shibing624/text2vec-base-chinese-paraphrase](https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase) +- [shibing624/text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual) +- [shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese) +- [shibing624/text2vec-bge-large-chinese](https://huggingface.co/shibing624/text2vec-bge-large-chinese) +- [GanymedeNil/text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese) +- [nghuyong/ernie-3.0-nano-zh](https://huggingface.co/nghuyong/ernie-3.0-nano-zh) +- [nghuyong/ernie-3.0-base-zh](https://huggingface.co/nghuyong/ernie-3.0-base-zh) +- [OpenAI/text-embedding-ada-002](https://platform.openai.com/docs/guides/embeddings) + +--- + +## Docker image (Docker 部署) + +🐳 Docker image path: `registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0)` + +```shell +docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 +``` + +- 该版本镜像大小 `33.9GB`,使用 `v0.2.0`,以 `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` 为基础镜像 +- 该版本内置一个 `embedding` 模型:`m3e-large`,内置 `chatglm2-6b-32k` +- 该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序 +- 请注意,您不需要在主机系统上安装CUDA工具包,但需要安装 `NVIDIA Driver` 以及 `NVIDIA Container Toolkit`,请参考[安装指南](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) +- 首次拉取和启动均需要一定时间,首次启动时请参照下图使用 `docker logs -f ` 查看日志 +- 如遇到启动过程卡在 `Waiting..` 步骤,建议使用 `docker exec -it bash` 进入 `/logs/` 目录查看对应阶段日志 + +--- + +## 开发部署 + +### 软件需求 + +本项目已在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成测试。已在 Windows、ARM 架构的 macOS、Linux 系统中完成测试。 + +### 1. 开发环境准备 + +参见 [开发环境准备](docs/INSTALL.md)。 + +**请注意:** `0.2.0` 及更新版本的依赖包与 `0.1.x` 版本依赖包可能发生冲突,强烈建议新建环境后重新安装依赖包。 + +### 2. 下载模型至本地 + +如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 [HuggingFace](https://huggingface.co/models) 下载。 + +以本项目中默认使用的 LLM 模型 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) 与 Embedding 模型 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例: + +下载模型需要先[安装Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage),然后运行 + +```Shell +$ git clone https://huggingface.co/THUDM/chatglm2-6b + +$ git clone https://huggingface.co/moka-ai/m3e-base +``` + +### 3. 设置配置项 + +复制模型相关参数配置模板文件 [configs/model_config.py.example](configs/model_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `model_config.py`。 + +复制服务相关参数配置模板文件 [configs/server_config.py.example](configs/server_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `server_config.py`。 + +在开始执行 Web UI 或命令行交互前,请先检查 `configs/model_config.py` 和 `configs/server_config.py` 中的各项模型参数设计是否符合需求: + +- 请确认已下载至本地的 LLM 模型本地存储路径写在 `llm_model_dict` 对应模型的 `local_model_path` 属性中,如: + +```python +llm_model_dict={ + "chatglm2-6b": { + "local_model_path": "/Users/xxx/Downloads/chatglm2-6b", + "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" + "api_key": "EMPTY" + }, + } +``` + +- 请确认已下载至本地的 Embedding 模型本地存储路径写在 `embedding_model_dict` 对应模型位置,如: + +```python +embedding_model_dict = { + "m3e-base": "/Users/xxx/Downloads/m3e-base", + } +``` + +如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 + +### 4. 知识库初始化与迁移 + +当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。 + +- 如果您是从 `0.1.x` 版本升级过来的用户,针对已建立的知识库,请确认知识库的向量库类型、Embedding 模型与 `configs/model_config.py` 中默认设置一致,如无变化只需以下命令将现有知识库信息添加到数据库即可: + + ```shell + $ python init_database.py + ``` +- 如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 `normalize_L2`,需要以下命令初始化或重建知识库: + + ```shell + $ python init_database.py --recreate-vs + ``` + +### 5. 一键启动API 服务或 Web UI + +#### 5.1 启动命令 + +一键启动脚本 startup.py,一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码: + +```shell +$ python startup.py -a +``` + +并可使用 `Ctrl + C` 直接关闭所有运行服务。如果一次结束不了,可以多按几次。 + +可选参数包括 `-a (或--all-webui)`, `--all-api`, `--llm-api`, `-c (或--controller)`, `--openai-api`, +`-m (或--model-worker)`, `--api`, `--webui`,其中: + +- `--all-webui` 为一键启动 WebUI 所有依赖服务; +- `--all-api` 为一键启动 API 所有依赖服务; +- `--llm-api` 为一键启动 Fastchat 所有依赖的 LLM 服务; +- `--openai-api` 为仅启动 FastChat 的 controller 和 openai-api-server 服务; +- 其他为单独服务启动选项。 + +#### 5.2 启动非默认模型 + +若想指定非默认模型,需要用 `--model-name` 选项,示例: + +```shell +$ python startup.py --all-webui --model-name Qwen-7B-Chat +``` + +更多信息可通过 `python startup.py -h`查看。 + +#### 5.3 多卡加载 + +项目支持多卡加载,需在 startup.py 中的 create_model_worker_app 函数中,修改如下三个参数: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +其中,`gpus` 控制使用的显卡的ID,例如 "0,1"; + +`num_gpus` 控制使用的卡数; + +`max_gpu_memory` 控制每个卡使用的显存容量。 + +注1:server_config.py的FSCHAT_MODEL_WORKERS字典中也增加了相关配置,如有需要也可通过修改FSCHAT_MODEL_WORKERS字典中对应参数实现多卡加载。 + +注2:少数情况下,gpus参数会不生效,此时需要通过设置环境变量CUDA_VISIBLE_DEVICES来指定torch可见的gpu,示例代码: + +```shell +CUDA_VISIBLE_DEVICES=0,1 python startup.py -a +``` + +#### 5.4 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) + +本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含.bin 格式的 PEFT 权重,peft路径在startup.py中create_model_worker_app函数的args.model_names中指定,并开启环境变量PEFT_SHARE_BASE_WEIGHTS=true参数。 + +注:如果上述方式启动失败,则需要以标准的fastchat服务启动方式分步启动,分步启动步骤参考第六节,PEFT加载详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822), + +#### **5.5 注意事项:** + +**1. startup 脚本用多进程方式启动各模块的服务,可能会导致打印顺序问题,请等待全部服务发起后再调用,并根据默认或指定端口调用服务(默认 LLM API 服务端口:`127.0.0.1:8888`,默认 API 服务端口:`127.0.0.1:7861`,默认 WebUI 服务端口:`本机IP:8501`)** + +**2.服务启动时间示设备不同而不同,约 3-10 分钟,如长时间没有启动请前往 `./logs`目录下监控日志,定位问题。** + +**3. 在Linux上使用ctrl+C退出可能会由于linux的多进程机制导致multiprocessing遗留孤儿进程,可通过shutdown_all.sh进行退出** + +#### 5.6 启动界面示例: + +1. FastAPI docs 界面 + +![](img/fastapi_docs_020_0.png) + +2. webui启动界面示例: + +- Web UI 对话界面: + ![img](img/webui_0813_0.png) +- Web UI 知识库管理页面: + ![](img/webui_0813_1.png) + +### 6 分步启动 API 服务或 Web UI + +注意:如使用了一键启动方式,可忽略本节。 + +#### 6.1 启动 LLM 服务 + +如需使用开源模型进行本地部署,需首先启动 LLM 服务,启动方式分为三种: + +- [基于多进程脚本 llm_api.py 启动 LLM 服务](README.md#5.1.1-基于多进程脚本-llm_api.py-启动-LLM-服务) +- [基于命令行脚本 llm_api_stale.py 启动 LLM 服务](README.md#5.1.2-基于命令行脚本-llm_api_stale.py-启动-LLM-服务) +- [PEFT 加载](README.md#5.1.3-PEFT-加载) + +三种方式只需选择一个即可,具体操作方式详见 5.1.1 - 5.1.3。 + +如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务,即 5.1 小节的任何命令均无需启动。 + +##### 6.1.1 基于多进程脚本 llm_api.py 启动 LLM 服务 + +在项目根目录下,执行 [server/llm_api.py](server/llm_api.py) 脚本启动 **LLM 模型**服务: + +```shell +$ python server/llm_api.py +``` + +项目支持多卡加载,需在 llm_api.py 中的 create_model_worker_app 函数中,修改如下三个参数: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +其中,`gpus` 控制使用的显卡的ID,如果 "0,1"; + +`num_gpus` 控制使用的卡数; + +`max_gpu_memory` 控制每个卡使用的显存容量。 + +##### 6.1.2 基于命令行脚本 llm_api_stale.py 启动 LLM 服务 + +⚠️ **注意:** + +**1.llm_api_stale.py脚本原生仅适用于linux,mac设备需要安装对应的linux命令,win平台请使用wsl;** + +**2.加载非默认模型需要用命令行参数--model-path-address指定模型,不会读取model_config.py配置;** + +在项目根目录下,执行 [server/llm_api_stale.py](server/llm_api_stale.py) 脚本启动 **LLM 模型**服务: + +```shell +$ python server/llm_api_stale.py +``` + +该方式支持启动多个worker,示例启动方式: + +```shell +$ python server/llm_api_stale.py --model-path-address model1@host1@port1 model2@host2@port2 +``` + +如果出现server端口占用情况,需手动指定server端口,并同步修改model_config.py下对应模型的base_api_url为指定端口: + +```shell +$ python server/llm_api_stale.py --server-port 8887 +``` + +如果要启动多卡加载,示例命令如下: + +```shell +$ python server/llm_api_stale.py --gpus 0,1 --num-gpus 2 --max-gpu-memory 10GiB +``` + +注:以如上方式启动LLM服务会以nohup命令在后台运行 FastChat 服务,如需停止服务,可以运行如下命令: + +```shell +$ python server/llm_api_shutdown.py --serve all +``` + +亦可单独停止一个 FastChat 服务模块,可选 [`all`, `controller`, `model_worker`, `openai_api_server`] + +##### 6.1.3 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) + +本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含 model.bin 格式的 PEFT 权重。 +详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822) + +![image](https://github.com/chatchat-space/Langchain-Chatchat/assets/22924096/4e056c1c-5c4b-4865-a1af-859cd58a625d) + +#### 6.2 启动 API 服务 + +本地部署情况下,按照 [5.1 节](README.md#5.1-启动-LLM-服务)**启动 LLM 服务后**,再执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; + +在线调用API服务的情况下,直接执执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; + +调用命令示例: + +```shell +$ python server/api.py +``` + +启动 API 服务后,可访问 `localhost:7861` 或 `{API 所在服务器 IP}:7861` FastAPI 自动生成的 docs 进行接口查看与测试。 + +- FastAPI docs 界面 + + ![](img/fastapi_docs_020_0.png) + +#### 6.3 启动 Web UI 服务 + +按照 [5.2 节](README.md#5.2-启动-API-服务)**启动 API 服务后**,执行 [webui.py](webui.py) 启动 **Web UI** 服务(默认使用端口 `8501`) + +```shell +$ streamlit run webui.py +``` + +使用 Langchain-Chatchat 主题色启动 **Web UI** 服务(默认使用端口 `8501`) + +```shell +$ streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000" +``` + +或使用以下命令指定启动 **Web UI** 服务并指定端口号 + +```shell +$ streamlit run webui.py --server.port 666 +``` + +- Web UI 对话界面: + + ![](img/webui_0813_0.png) +- Web UI 知识库管理页面: + + ![](img/webui_0813_1.png) + +--- + +## 常见问题 + +参见 [常见问题](docs/FAQ.md)。 + +--- + +## 路线图 + +- [X] Langchain 应用 + - [X] 本地数据接入 + - [X] 接入非结构化文档 + - [X] .md + - [X] .txt + - [X] .docx + - [ ] 结构化数据接入 + - [X] .csv + - [ ] .xlsx + - [ ] 分词及召回 + - [ ] 接入不同类型 TextSplitter + - [ ] 优化依据中文标点符号设计的 ChineseTextSplitter + - [ ] 重新实现上下文拼接召回 + - [ ] 本地网页接入 + - [ ] SQL 接入 + - [ ] 知识图谱/图数据库接入 + - [X] 搜索引擎接入 + - [X] Bing 搜索 + - [X] DuckDuckGo 搜索 + - [ ] Agent 实现 +- [X] LLM 模型接入 + - [X] 支持通过调用 [FastChat](https://github.com/lm-sys/fastchat) api 调用 llm + - [ ] 支持 ChatGLM API 等 LLM API 的接入 +- [X] Embedding 模型接入 + - [X] 支持调用 HuggingFace 中各开源 Emebdding 模型 + - [ ] 支持 OpenAI Embedding API 等 Embedding API 的接入 +- [X] 基于 FastAPI 的 API 方式调用 +- [X] Web UI + - [X] 基于 Streamlit 的 Web UI + +--- + +## 项目交流群 + +二维码 + +🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 From 661a0e9d724eb5b1cee97fac75f16560e6540454 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Fri, 8 Sep 2023 08:55:12 +0800 Subject: [PATCH 17/60] =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD:=20-=20?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E7=AE=A1=E7=90=86=E4=B8=AD=E7=9A=84?= =?UTF-8?q?add=5Fdocs/delete=5Fdocs/update=5Fdocs=E5=9D=87=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=88=A9=E7=94=A8=E5=A4=9A=E7=BA=BF=E7=A8=8B=E6=8F=90=E9=AB=98?= =?UTF-8?q?=E6=95=88=E7=8E=87=20-=20API=E7=9A=84=E9=87=8D=E5=BB=BA?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E7=BA=BF=E7=A8=8B=20-=20add=5Fdocs=E5=8F=AF=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E5=8F=82=E6=95=B0=E6=8E=A7=E5=88=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8E=E6=98=AF=E5=90=A6=E7=BB=A7=E7=BB=AD?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=90=91=E9=87=8F=E5=8C=96=20-=20add=5Fdocs/?= =?UTF-8?q?update=5Fdocs=E6=94=AF=E6=8C=81=E4=BC=A0=E5=85=A5=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89docs(=E4=BB=A5json=E5=BD=A2=E5=BC=8F)?= =?UTF-8?q?=E3=80=82=E5=90=8E=E7=BB=AD=E8=80=83=E8=99=91=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=88=96=E8=A1=A5=E5=85=85=E5=BC=8F=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89docs=20-=20download=5Fdoc=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0`preview`=E5=8F=82=E6=95=B0=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=B8=8B=E8=BD=BD=E6=88=96=E9=A2=84=E8=A7=88=20-=20kb?= =?UTF-8?q?=5Fservice=E5=A2=9E=E5=8A=A0`save=5Fvector=5Fstore`=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E4=BE=BF=E4=BA=8E=E4=BF=9D=E5=AD=98=E5=90=91?= =?UTF-8?q?=E9=87=8F=E5=BA=93=EF=BC=88=E4=BB=85FAISS=EF=BC=8C=E5=85=B6?= =?UTF-8?q?=E5=AE=83=E6=97=A0=E6=93=8D=E4=BD=9C=EF=BC=89=20-=20=E5=B0=86do?= =?UTF-8?q?cument=5Floader=20&=20text=5Fsplitter=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BB=8EKnowledgeFile=E4=B8=AD=E6=8A=BD=E7=A6=BB=E5=87=BA?= =?UTF-8?q?=E6=9D=A5=EF=BC=8C=E4=B8=BA=E5=90=8E=E7=BB=AD=E5=AF=B9=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=96=87=E4=BB=B6=E8=BF=9B=E8=A1=8C=E5=90=91=E9=87=8F?= =?UTF-8?q?=E5=8C=96=E5=81=9A=E5=87=86=E5=A4=87=20-=20KowledgeFile?= =?UTF-8?q?=E6=94=AF=E6=8C=81docs=20&=20splitted=5Fdocs=E7=9A=84=E7=BC=93?= =?UTF-8?q?=E5=AD=98=EF=BC=8C=E6=96=B9=E4=BE=BF=E5=9C=A8=E4=B8=AD=E9=97=B4?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E5=81=9A=E4=B8=80=E4=BA=9B=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 其它: - 将部分错误输出由print改为logger.error --- server/api.py | 18 +- server/knowledge_base/kb_api.py | 12 +- server/knowledge_base/kb_doc_api.py | 278 ++++++++--- server/knowledge_base/kb_service/base.py | 9 + .../kb_service/faiss_kb_service.py | 9 +- server/knowledge_base/utils.py | 145 +++--- server/knowledge_base/utils.py.bak | 431 ++++++++++++++++++ tests/api/test_kb_api.py | 95 ++-- webui_pages/utils.py | 44 +- 9 files changed, 818 insertions(+), 223 deletions(-) create mode 100644 server/knowledge_base/utils.py.bak diff --git a/server/api.py b/server/api.py index 37954b7f..74426cce 100644 --- a/server/api.py +++ b/server/api.py @@ -15,8 +15,8 @@ from starlette.responses import RedirectResponse from server.chat import (chat, knowledge_base_chat, openai_chat, search_engine_chat) from server.knowledge_base.kb_api import list_kbs, create_kb, delete_kb -from server.knowledge_base.kb_doc_api import (list_files, upload_doc, delete_doc, - update_doc, download_doc, recreate_vector_store, +from server.knowledge_base.kb_doc_api import (list_files, upload_docs, delete_docs, + update_docs, download_doc, recreate_vector_store, search_docs, DocumentWithScore) from server.utils import BaseResponse, ListResponse, FastAPI, MakeFastAPIOffline, fschat_controller_address import httpx @@ -98,23 +98,23 @@ def create_app(): summary="搜索知识库" )(search_docs) - app.post("/knowledge_base/upload_doc", + app.post("/knowledge_base/upload_docs", tags=["Knowledge Base Management"], response_model=BaseResponse, - summary="上传文件到知识库" - )(upload_doc) + summary="上传文件到知识库,并/或进行向量化" + )(upload_docs) - app.post("/knowledge_base/delete_doc", + app.post("/knowledge_base/delete_docs", tags=["Knowledge Base Management"], response_model=BaseResponse, summary="删除知识库内指定文件" - )(delete_doc) + )(delete_docs) - app.post("/knowledge_base/update_doc", + app.post("/knowledge_base/update_docs", tags=["Knowledge Base Management"], response_model=BaseResponse, summary="更新现有文件到知识库" - )(update_doc) + )(update_docs) app.get("/knowledge_base/download_doc", tags=["Knowledge Base Management"], diff --git a/server/knowledge_base/kb_api.py b/server/knowledge_base/kb_api.py index b9151b89..4b135feb 100644 --- a/server/knowledge_base/kb_api.py +++ b/server/knowledge_base/kb_api.py @@ -3,7 +3,7 @@ from server.utils import BaseResponse, ListResponse from server.knowledge_base.utils import validate_kb_name from server.knowledge_base.kb_service.base import KBServiceFactory from server.db.repository.knowledge_base_repository import list_kbs_from_db -from configs.model_config import EMBEDDING_MODEL +from configs.model_config import EMBEDDING_MODEL, logger from fastapi import Body @@ -30,8 +30,9 @@ async def create_kb(knowledge_base_name: str = Body(..., examples=["samples"]), try: kb.create_kb() except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"创建知识库出错: {e}") + msg = f"创建知识库出错: {e}" + logger.error(msg) + return BaseResponse(code=500, msg=msg) return BaseResponse(code=200, msg=f"已新增知识库 {knowledge_base_name}") @@ -55,7 +56,8 @@ async def delete_kb( if status: return BaseResponse(code=200, msg=f"成功删除知识库 {knowledge_base_name}") except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"删除知识库时出现意外: {e}") + msg = f"删除知识库时出现意外: {e}" + logger.error(msg) + return BaseResponse(code=500, msg=msg) return BaseResponse(code=500, msg=f"删除知识库失败 {knowledge_base_name}") diff --git a/server/knowledge_base/kb_doc_api.py b/server/knowledge_base/kb_doc_api.py index 7ea5d271..24b1c8ed 100644 --- a/server/knowledge_base/kb_doc_api.py +++ b/server/knowledge_base/kb_doc_api.py @@ -1,12 +1,17 @@ import os import urllib from fastapi import File, Form, Body, Query, UploadFile -from configs.model_config import (DEFAULT_VS_TYPE, EMBEDDING_MODEL, VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD) -from server.utils import BaseResponse, ListResponse -from server.knowledge_base.utils import validate_kb_name, list_files_from_folder, KnowledgeFile +from configs.model_config import (DEFAULT_VS_TYPE, EMBEDDING_MODEL, + VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD, + logger,) +from server.utils import BaseResponse, ListResponse, run_in_thread_pool +from server.knowledge_base.utils import (validate_kb_name, list_files_from_folder,get_file_path, + files2docs_in_thread, KnowledgeFile) from fastapi.responses import StreamingResponse, FileResponse +from pydantic import Json import json from server.knowledge_base.kb_service.base import KBServiceFactory +from server.db.repository.knowledge_file_repository import get_file_detail from typing import List, Dict from langchain.docstore.document import Document @@ -44,11 +49,83 @@ async def list_files( return ListResponse(data=all_doc_names) -async def upload_doc(file: UploadFile = File(..., description="上传文件"), - knowledge_base_name: str = Form(..., description="知识库名称", examples=["kb1"]), +def _save_files_in_thread(files: List[UploadFile], + knowledge_base_name: str, + override: bool): + ''' + 通过多线程将上传的文件保存到对应知识库目录内。 + 生成器返回保存结果:{"code":200, "msg": "xxx", "data": {"knowledge_base_name":"xxx", "file_name": "xxx"}} + ''' + def save_file(file: UploadFile, knowledge_base_name: str, override: bool) -> dict: + ''' + 保存单个文件。 + ''' + try: + filename = file.filename + file_path = get_file_path(knowledge_base_name=knowledge_base_name, doc_name=filename) + data = {"knowledge_base_name": knowledge_base_name, "file_name": filename} + + file_content = file.file.read() # 读取上传文件的内容 + if (os.path.isfile(file_path) + and not override + and os.path.getsize(file_path) == len(file_content) + ): + # TODO: filesize 不同后的处理 + file_status = f"文件 {filename} 已存在。" + logger.warn(file_status) + return dict(code=404, msg=file_status, data=data) + + with open(file_path, "wb") as f: + f.write(file_content) + return dict(code=200, msg=f"成功上传文件 {filename}", data=data) + except Exception as e: + msg = f"{filename} 文件上传失败,报错信息为: {e}" + logger.error(msg) + return dict(code=500, msg=msg, data=data) + + params = [{"file": file, "knowledge_base_name": knowledge_base_name, "override": override} for file in files] + for result in run_in_thread_pool(save_file, params=params): + yield result + + +# 似乎没有单独增加一个文件上传API接口的必要 +# def upload_files(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), +# knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), +# override: bool = Form(False, description="覆盖已有文件")): +# ''' +# API接口:上传文件。流式返回保存结果:{"code":200, "msg": "xxx", "data": {"knowledge_base_name":"xxx", "file_name": "xxx"}} +# ''' +# def generate(files, knowledge_base_name, override): +# for result in _save_files_in_thread(files, knowledge_base_name=knowledge_base_name, override=override): +# yield json.dumps(result, ensure_ascii=False) + +# return StreamingResponse(generate(files, knowledge_base_name=knowledge_base_name, override=override), media_type="text/event-stream") + + +# TODO: 等langchain.document_loaders支持内存文件的时候再开通 +# def files2docs(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), +# knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), +# override: bool = Form(False, description="覆盖已有文件"), +# save: bool = Form(True, description="是否将文件保存到知识库目录")): +# def save_files(files, knowledge_base_name, override): +# for result in _save_files_in_thread(files, knowledge_base_name=knowledge_base_name, override=override): +# yield json.dumps(result, ensure_ascii=False) + +# def files_to_docs(files): +# for result in files2docs_in_thread(files): +# yield json.dumps(result, ensure_ascii=False) + + +async def upload_docs(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), + knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), override: bool = Form(False, description="覆盖已有文件"), + to_vector_store: bool = Form(True, description="上传文件后是否进行向量化"), + docs: Json = Form({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), not_refresh_vs_cache: bool = Form(False, description="暂不保存向量库(用于FAISS)"), ) -> BaseResponse: + ''' + API接口:上传文件,并/或向量化 + ''' if not validate_kb_name(knowledge_base_name): return BaseResponse(code=403, msg="Don't attack me") @@ -56,37 +133,36 @@ async def upload_doc(file: UploadFile = File(..., description="上传文件"), if kb is None: return BaseResponse(code=404, msg=f"未找到知识库 {knowledge_base_name}") - file_content = await file.read() # 读取上传文件的内容 + failed_files = {} + file_names = list(docs.keys()) - try: - kb_file = KnowledgeFile(filename=file.filename, - knowledge_base_name=knowledge_base_name) + # 先将上传的文件保存到磁盘 + for result in _save_files_in_thread(files, knowledge_base_name=knowledge_base_name, override=override): + filename = result["data"]["file_name"] + if result["code"] != 200: + failed_files[filename] = result["msg"] + + if filename not in file_names: + file_names.append(filename) - if (os.path.exists(kb_file.filepath) - and not override - and os.path.getsize(kb_file.filepath) == len(file_content) - ): - # TODO: filesize 不同后的处理 - file_status = f"文件 {kb_file.filename} 已存在。" - return BaseResponse(code=404, msg=file_status) + # 对保存的文件进行向量化 + if to_vector_store: + result = await update_docs( + knowledge_base_name=knowledge_base_name, + file_names=file_names, + override_custom_docs=True, + docs=docs, + not_refresh_vs_cache=True, + ) + failed_files.update(result.data["failed_files"]) + if not not_refresh_vs_cache: + kb.save_vector_store() - with open(kb_file.filepath, "wb") as f: - f.write(file_content) - except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"{kb_file.filename} 文件上传失败,报错信息为: {e}") - - try: - kb.add_doc(kb_file, not_refresh_vs_cache=not_refresh_vs_cache) - except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"{kb_file.filename} 文件向量化失败,报错信息为: {e}") - - return BaseResponse(code=200, msg=f"成功上传文件 {kb_file.filename}") + return BaseResponse(code=200, msg="文件上传与向量化完成", data={"failed_files": failed_files}) -async def delete_doc(knowledge_base_name: str = Body(..., examples=["samples"]), - doc_name: str = Body(..., examples=["file_name.md"]), +async def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]), + file_names: List[str] = Body(..., examples=[["file_name.md", "test.txt"]]), delete_content: bool = Body(False), not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), ) -> BaseResponse: @@ -98,23 +174,31 @@ async def delete_doc(knowledge_base_name: str = Body(..., examples=["samples"]), if kb is None: return BaseResponse(code=404, msg=f"未找到知识库 {knowledge_base_name}") - if not kb.exist_doc(doc_name): - return BaseResponse(code=404, msg=f"未找到文件 {doc_name}") + failed_files = {} + for file_name in file_names: + if not kb.exist_doc(file_name): + failed_files[file_name] = f"未找到文件 {file_name}" - try: - kb_file = KnowledgeFile(filename=doc_name, - knowledge_base_name=knowledge_base_name) - kb.delete_doc(kb_file, delete_content, not_refresh_vs_cache=not_refresh_vs_cache) - except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"{kb_file.filename} 文件删除失败,错误信息:{e}") + try: + kb_file = KnowledgeFile(filename=file_name, + knowledge_base_name=knowledge_base_name) + kb.delete_doc(kb_file, delete_content, not_refresh_vs_cache=True) + except Exception as e: + msg = f"{file_name} 文件删除失败,错误信息:{e}" + logger.error(msg) + failed_files[file_name] = msg + + if not not_refresh_vs_cache: + kb.save_vector_store() - return BaseResponse(code=200, msg=f"{kb_file.filename} 文件删除成功") + return BaseResponse(code=200, msg=f"文件删除完成", data={"failed_files": failed_files}) -async def update_doc( - knowledge_base_name: str = Body(..., examples=["samples"]), - file_name: str = Body(..., examples=["file_name"]), +async def update_docs( + knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), + file_names: List[str] = Body(..., description="文件名称,支持多文件", examples=["file_name"]), + override_custom_docs: bool = Body(False, description="是否覆盖之前自定义的docs"), + docs: Json = Body({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), ) -> BaseResponse: ''' @@ -127,22 +211,57 @@ async def update_doc( if kb is None: return BaseResponse(code=404, msg=f"未找到知识库 {knowledge_base_name}") - try: - kb_file = KnowledgeFile(filename=file_name, - knowledge_base_name=knowledge_base_name) - if os.path.exists(kb_file.filepath): - kb.update_doc(kb_file, not_refresh_vs_cache=not_refresh_vs_cache) - return BaseResponse(code=200, msg=f"成功更新文件 {kb_file.filename}") - except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"{kb_file.filename} 文件更新失败,错误信息是:{e}") + failed_files = {} + kb_files = [] - return BaseResponse(code=500, msg=f"{kb_file.filename} 文件更新失败") + # 生成需要加载docs的文件列表 + for file_name in file_names: + file_detail= get_file_detail(kb_name=knowledge_base_name, filename=file_name) + # 如果该文件之前使用了自定义docs,则根据参数决定略过或覆盖 + if file_detail.get("custom_docs") and not override_custom_docs: + continue + if file_name not in docs: + try: + kb_files.append(KnowledgeFile(filename=file_name, knowledge_base_name=knowledge_base_name)) + except Exception as e: + msg = f"加载文档 {file_name} 时出错:{e}" + logger.error(msg) + failed_files[file_name] = msg + + # 从文件生成docs,并进行向量化。 + # 这里利用了KnowledgeFile的缓存功能,在多线程中加载Document,然后传给KnowledgeFile + for status, result in files2docs_in_thread(kb_files): + if status: + kb_name, file_name, new_docs = result + kb_file = KnowledgeFile(filename=file_name, + knowledge_base_name=knowledge_base_name) + kb_file.splited_docs = new_docs + kb.update_doc(kb_file, not_refresh_vs_cache=True) + else: + kb_name, file_name, error = result + failed_files[file_name] = error + + # 将自定义的docs进行向量化 + for file_name, v in docs.items(): + try: + v = [x if isinstance(x, Document) else Document(**x) for x in v] + kb_file = KnowledgeFile(filename=file_name, knowledge_base_name=knowledge_base_name) + kb.update_doc(kb_file, docs=v, not_refresh_vs_cache=True) + except Exception as e: + msg = f"为 {file_name} 添加自定义docs时出错:{e}" + logger.error(msg) + failed_files[file_name] = msg + + if not not_refresh_vs_cache: + kb.save_vector_store() + + return BaseResponse(code=200, msg=f"更新文档完成", data={"failed_files": failed_files}) async def download_doc( - knowledge_base_name: str = Query(..., examples=["samples"]), - file_name: str = Query(..., examples=["test.txt"]), + knowledge_base_name: str = Query(...,description="知识库名称", examples=["samples"]), + file_name: str = Query(...,description="文件名称", examples=["test.txt"]), + preview: bool = Query(False, description="是:浏览器内预览;否:下载"), ): ''' 下载知识库文档 @@ -154,6 +273,11 @@ async def download_doc( if kb is None: return BaseResponse(code=404, msg=f"未找到知识库 {knowledge_base_name}") + if preview: + content_disposition_type = "inline" + else: + content_disposition_type = None + try: kb_file = KnowledgeFile(filename=file_name, knowledge_base_name=knowledge_base_name) @@ -162,10 +286,13 @@ async def download_doc( return FileResponse( path=kb_file.filepath, filename=kb_file.filename, - media_type="multipart/form-data") + media_type="multipart/form-data", + content_disposition_type=content_disposition_type, + ) except Exception as e: - print(e) - return BaseResponse(code=500, msg=f"{kb_file.filename} 读取文件失败,错误信息是:{e}") + msg = f"{kb_file.filename} 读取文件失败,错误信息是:{e}" + logger.error(msg) + return BaseResponse(code=500, msg=msg) return BaseResponse(code=500, msg=f"{kb_file.filename} 读取文件失败") @@ -190,27 +317,30 @@ async def recreate_vector_store( else: kb.create_kb() kb.clear_vs() - docs = list_files_from_folder(knowledge_base_name) - for i, doc in enumerate(docs): - try: - kb_file = KnowledgeFile(doc, knowledge_base_name) + files = list_files_from_folder(knowledge_base_name) + kb_files = [(file, knowledge_base_name) for file in files] + i = 0 + for status, result in files2docs_in_thread(kb_files): + if status: + kb_name, file_name, docs = result + kb_file = KnowledgeFile(filename=file_name, knowledge_base_name=kb_name) + kb_file.splited_docs = docs yield json.dumps({ "code": 200, - "msg": f"({i + 1} / {len(docs)}): {doc}", - "total": len(docs), + "msg": f"({i + 1} / {len(files)}): {file_name}", + "total": len(files), "finished": i, - "doc": doc, + "doc": file_name, }, ensure_ascii=False) - if i == len(docs) - 1: - not_refresh_vs_cache = False - else: - not_refresh_vs_cache = True - kb.add_doc(kb_file, not_refresh_vs_cache=not_refresh_vs_cache) - except Exception as e: - print(e) + kb.add_doc(kb_file, not_refresh_vs_cache=True) + else: + kb_name, file_name, error = result + msg = f"添加文件‘{file_name}’到知识库‘{knowledge_base_name}’时出错:{error}。已跳过。" + logger.error(msg) yield json.dumps({ "code": 500, - "msg": f"添加文件‘{doc}’到知识库‘{knowledge_base_name}’时出错:{e}。已跳过。", + "msg": msg, }) + i += 1 return StreamingResponse(output(), media_type="text/event-stream") diff --git a/server/knowledge_base/kb_service/base.py b/server/knowledge_base/kb_service/base.py index 79b15185..82cb8492 100644 --- a/server/knowledge_base/kb_service/base.py +++ b/server/knowledge_base/kb_service/base.py @@ -49,6 +49,13 @@ class KBService(ABC): def _load_embeddings(self, embed_device: str = embedding_device()) -> Embeddings: return load_embeddings(self.embed_model, embed_device) + def save_vector_store(self, vector_store=None): + ''' + 保存向量库,仅支持FAISS。对于其它向量库该函数不做任何操作。 + 减少FAISS向量库操作时的类型判断。 + ''' + pass + def create_kb(self): """ 创建知识库 @@ -82,6 +89,8 @@ class KBService(ABC): """ if docs: custom_docs = True + for doc in docs: + doc.metadata.setdefault("source", kb_file.filepath) else: docs = kb_file.file2text() custom_docs = False diff --git a/server/knowledge_base/kb_service/faiss_kb_service.py b/server/knowledge_base/kb_service/faiss_kb_service.py index f17b2da1..764e36be 100644 --- a/server/knowledge_base/kb_service/faiss_kb_service.py +++ b/server/knowledge_base/kb_service/faiss_kb_service.py @@ -5,7 +5,8 @@ from configs.model_config import ( KB_ROOT_PATH, CACHED_VS_NUM, EMBEDDING_MODEL, - SCORE_THRESHOLD + SCORE_THRESHOLD, + logger, ) from server.knowledge_base.kb_service.base import KBService, SupportedVSType from functools import lru_cache @@ -28,7 +29,7 @@ def load_faiss_vector_store( embeddings: Embeddings = None, tick: int = 0, # tick will be changed by upload_doc etc. and make cache refreshed. ) -> FAISS: - print(f"loading vector store in '{knowledge_base_name}'.") + logger.info(f"loading vector store in '{knowledge_base_name}'.") vs_path = get_vs_path(knowledge_base_name) if embeddings is None: embeddings = load_embeddings(embed_model, embed_device) @@ -57,7 +58,7 @@ def refresh_vs_cache(kb_name: str): make vector store cache refreshed when next loading """ _VECTOR_STORE_TICKS[kb_name] = _VECTOR_STORE_TICKS.get(kb_name, 0) + 1 - print(f"知识库 {kb_name} 缓存刷新:{_VECTOR_STORE_TICKS[kb_name]}") + logger.info(f"知识库 {kb_name} 缓存刷新:{_VECTOR_STORE_TICKS[kb_name]}") class FaissKBService(KBService): @@ -128,7 +129,7 @@ class FaissKBService(KBService): **kwargs): vector_store = self.load_vector_store() - ids = [k for k, v in vector_store.docstore._dict.items() if v.metadata["source"] == kb_file.filepath] + ids = [k for k, v in vector_store.docstore._dict.items() if v.metadata.get("source") == kb_file.filepath] if len(ids) == 0: return None diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index 2d63308f..395d998d 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -7,7 +7,8 @@ from configs.model_config import ( KB_ROOT_PATH, CHUNK_SIZE, OVERLAP_SIZE, - ZH_TITLE_ENHANCE + ZH_TITLE_ENHANCE, + logger, ) from functools import lru_cache import importlib @@ -19,6 +20,7 @@ from pathlib import Path import json from concurrent.futures import ThreadPoolExecutor from server.utils import run_in_thread_pool +import io from typing import List, Union, Callable, Dict, Optional, Tuple, Generator @@ -175,12 +177,74 @@ def get_LoaderClass(file_extension): return LoaderClass +# 把一些向量化共用逻辑从KnowledgeFile抽取出来,等langchain支持内存文件的时候,可以将非磁盘文件向量化 +def get_loader(loader_name: str, file_path_or_content: Union[str, bytes, io.StringIO, io.BytesIO]): + ''' + 根据loader_name和文件路径或内容返回文档加载器。 + ''' + try: + if loader_name in ["RapidOCRPDFLoader", "RapidOCRLoader"]: + document_loaders_module = importlib.import_module('document_loaders') + else: + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, loader_name) + except Exception as e: + logger.error(f"为文件{file_path_or_content}查找加载器{loader_name}时出错:{e}") + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") + + if loader_name == "UnstructuredFileLoader": + loader = DocumentLoader(file_path_or_content, autodetect_encoding=True) + elif loader_name == "CSVLoader": + loader = DocumentLoader(file_path_or_content, encoding="utf-8") + elif loader_name == "JSONLoader": + loader = DocumentLoader(file_path_or_content, jq_schema=".", text_content=False) + elif loader_name == "CustomJSONLoader": + loader = DocumentLoader(file_path_or_content, text_content=False) + elif loader_name == "UnstructuredMarkdownLoader": + loader = DocumentLoader(file_path_or_content, mode="elements") + elif loader_name == "UnstructuredHTMLLoader": + loader = DocumentLoader(file_path_or_content, mode="elements") + else: + loader = DocumentLoader(file_path_or_content) + return loader + + +def make_text_splitter( + splitter_name: str = "SpacyTextSplitter", + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, +): + ''' + 根据参数获取特定的分词器 + ''' + splitter_name = splitter_name or "SpacyTextSplitter" + text_splitter_module = importlib.import_module('langchain.text_splitter') + try: + TextSplitter = getattr(text_splitter_module, splitter_name) + text_splitter = TextSplitter( + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + except Exception as e: + logger.error(f"查找分词器 {splitter_name} 时出错:{e}") + TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") + text_splitter = TextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + return text_splitter + class KnowledgeFile: def __init__( self, filename: str, knowledge_base_name: str ): + ''' + 对应知识库目录中的文件,必须是磁盘上存在的才能进行向量化等操作。 + ''' self.kb_name = knowledge_base_name self.filename = filename self.ext = os.path.splitext(filename)[-1].lower() @@ -196,65 +260,11 @@ class KnowledgeFile: def file2docs(self, refresh: bool=False): if self.docs is None or refresh: - print(f"{self.document_loader_name} used for {self.filepath}") - try: - if self.document_loader_name in ["RapidOCRPDFLoader", "RapidOCRLoader"]: - document_loaders_module = importlib.import_module('document_loaders') - else: - document_loaders_module = importlib.import_module('langchain.document_loaders') - DocumentLoader = getattr(document_loaders_module, self.document_loader_name) - except Exception as e: - print(e) - document_loaders_module = importlib.import_module('langchain.document_loaders') - DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") - if self.document_loader_name == "UnstructuredFileLoader": - loader = DocumentLoader(self.filepath, autodetect_encoding=True) - elif self.document_loader_name == "CSVLoader": - loader = DocumentLoader(self.filepath, encoding="utf-8") - elif self.document_loader_name == "JSONLoader": - loader = DocumentLoader(self.filepath, jq_schema=".", text_content=False) - elif self.document_loader_name == "CustomJSONLoader": - loader = DocumentLoader(self.filepath, text_content=False) - elif self.document_loader_name == "UnstructuredMarkdownLoader": - loader = DocumentLoader(self.filepath, mode="elements") - elif self.document_loader_name == "UnstructuredHTMLLoader": - loader = DocumentLoader(self.filepath, mode="elements") - else: - loader = DocumentLoader(self.filepath) + logger.info(f"{self.document_loader_name} used for {self.filepath}") + loader = get_loader(self.document_loader_name, self.filepath) self.docs = loader.load() return self.docs - def make_text_splitter( - self, - chunk_size: int = CHUNK_SIZE, - chunk_overlap: int = OVERLAP_SIZE, - ): - try: - if self.text_splitter_name is None: - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, "SpacyTextSplitter") - text_splitter = TextSplitter( - pipeline="zh_core_web_sm", - chunk_size=chunk_size, - chunk_overlap=chunk_overlap, - ) - self.text_splitter_name = "SpacyTextSplitter" - else: - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, self.text_splitter_name) - text_splitter = TextSplitter( - chunk_size=chunk_size, - chunk_overlap=chunk_overlap) - except Exception as e: - print(e) - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") - text_splitter = TextSplitter( - chunk_size=chunk_size, - chunk_overlap=chunk_overlap, - ) - return text_splitter - def docs2texts( self, docs: List[Document] = None, @@ -265,10 +275,11 @@ class KnowledgeFile: text_splitter: TextSplitter = None, ): docs = docs or self.file2docs(refresh=refresh) - + if not docs: + return [] if self.ext not in [".csv"]: if text_splitter is None: - text_splitter = self.make_text_splitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap) + text_splitter = make_text_splitter(splitter_name=self.text_splitter_name, chunk_size=chunk_size, chunk_overlap=chunk_overlap) docs = text_splitter.split_documents(docs) print(f"文档切分示例:{docs[0]}") @@ -286,13 +297,18 @@ class KnowledgeFile: text_splitter: TextSplitter = None, ): if self.splited_docs is None or refresh: - self.splited_docs = self.docs2texts(using_zh_title_enhance=using_zh_title_enhance, + docs = self.file2docs() + self.splited_docs = self.docs2texts(docs=docs, + using_zh_title_enhance=using_zh_title_enhance, refresh=refresh, chunk_size=chunk_size, chunk_overlap=chunk_overlap, text_splitter=text_splitter) return self.splited_docs + def file_exist(self): + return os.path.isfile(self.filepath) + def get_mtime(self): return os.path.getmtime(self.filepath) @@ -301,18 +317,21 @@ class KnowledgeFile: def files2docs_in_thread( - files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], # 如果是Tuple,形式为(filename, kb_name) + files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], pool: ThreadPoolExecutor = None, ) -> Generator: ''' 利用多线程批量将磁盘文件转化成langchain Document. - 生成器返回值为{(kb_name, file_name): docs} + 如果传入参数是Tuple,形式为(filename, kb_name) + 生成器返回值为 status, (kb_name, file_name, docs | error) ''' def file2docs(*, file: KnowledgeFile, **kwargs) -> Tuple[bool, Tuple[str, str, List[Document]]]: try: return True, (file.kb_name, file.filename, file.file2text(**kwargs)) except Exception as e: - return False, e + msg = f"从文件 {file.kb_name}/{file.filename} 加载文档时出错:{e}" + logger.error(msg) + return False, (file.kb_name, file.filename, msg) kwargs_list = [] for i, file in enumerate(files): diff --git a/server/knowledge_base/utils.py.bak b/server/knowledge_base/utils.py.bak new file mode 100644 index 00000000..499b85e7 --- /dev/null +++ b/server/knowledge_base/utils.py.bak @@ -0,0 +1,431 @@ +import os +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from langchain.embeddings.openai import OpenAIEmbeddings +from langchain.embeddings import HuggingFaceBgeEmbeddings +from configs.model_config import ( + embedding_model_dict, + KB_ROOT_PATH, + CHUNK_SIZE, + OVERLAP_SIZE, + ZH_TITLE_ENHANCE, + logger, +) +from functools import lru_cache +import importlib +from text_splitter import zh_title_enhance +import langchain.document_loaders +import document_loaders +import unstructured.partition +from langchain.docstore.document import Document +from langchain.text_splitter import TextSplitter +from pathlib import Path +import json +from concurrent.futures import ThreadPoolExecutor +from server.utils import run_in_thread_pool +import io +import builtins +from datetime import datetime +from typing import List, Union, Callable, Dict, Optional, Tuple, Generator + + +# make HuggingFaceEmbeddings hashable +def _embeddings_hash(self): + if isinstance(self, HuggingFaceEmbeddings): + return hash(self.model_name) + elif isinstance(self, HuggingFaceBgeEmbeddings): + return hash(self.model_name) + elif isinstance(self, OpenAIEmbeddings): + return hash(self.model) + +HuggingFaceEmbeddings.__hash__ = _embeddings_hash +OpenAIEmbeddings.__hash__ = _embeddings_hash +HuggingFaceBgeEmbeddings.__hash__ = _embeddings_hash + + +# patch langchain.document_loaders和项目自定义document_loaders,替换其中的open函数。 +# 使其支持对str,bytes,io.StringIO,io.BytesIO进行向量化 +def _new_open(content: Union[str, bytes, io.StringIO, io.BytesIO, Path], *args, **kw): + if isinstance(content, (io.StringIO, io.BytesIO)): + return content + if isinstance(content, str): + if os.path.isfile(content): + return builtins.open(content, *args, **kw) + else: + return io.StringIO(content) + if isinstance(content, bytes): + return io.BytesIO(bytes) + if isinstance(content, Path): + return Path.open(*args, **kw) + return open(content, *args, **kw) + +for module in [langchain.document_loaders, document_loaders]: + for k, v in module.__dict__.items(): + if type(v) == type(langchain.document_loaders): + v.open = _new_open + +# path unstructured 使其在处理非磁盘文件时不会出错 +def _new_get_last_modified_date(filename: str) -> Union[str, None]: + try: + modify_date = datetime.fromtimestamp(os.path.getmtime(filename)) + return modify_date.strftime("%Y-%m-%dT%H:%M:%S%z") + except: + return None + +for k, v in unstructured.partition.__dict__.items(): + if type(v) == type(unstructured.partition): + v.open = _new_open + v.get_last_modified_date = _new_get_last_modified_date + + +def validate_kb_name(knowledge_base_id: str) -> bool: + # 检查是否包含预期外的字符或路径攻击关键字 + if "../" in knowledge_base_id: + return False + return True + + +def get_kb_path(knowledge_base_name: str): + return os.path.join(KB_ROOT_PATH, knowledge_base_name) + + +def get_doc_path(knowledge_base_name: str): + return os.path.join(get_kb_path(knowledge_base_name), "content") + + +def get_vs_path(knowledge_base_name: str): + return os.path.join(get_kb_path(knowledge_base_name), "vector_store") + + +def get_file_path(knowledge_base_name: str, doc_name: str): + return os.path.join(get_doc_path(knowledge_base_name), doc_name) + + +def list_kbs_from_folder(): + return [f for f in os.listdir(KB_ROOT_PATH) + if os.path.isdir(os.path.join(KB_ROOT_PATH, f))] + + +def list_files_from_folder(kb_name: str): + doc_path = get_doc_path(kb_name) + return [file for file in os.listdir(doc_path) + if os.path.isfile(os.path.join(doc_path, file))] + + +@lru_cache(1) +def load_embeddings(model: str, device: str): + if model == "text-embedding-ada-002": # openai text-embedding-ada-002 + embeddings = OpenAIEmbeddings(openai_api_key=embedding_model_dict[model], chunk_size=CHUNK_SIZE) + elif 'bge-' in model: + embeddings = HuggingFaceBgeEmbeddings(model_name=embedding_model_dict[model], + model_kwargs={'device': device}, + query_instruction="为这个句子生成表示以用于检索相关文章:") + if model == "bge-large-zh-noinstruct": # bge large -noinstruct embedding + embeddings.query_instruction = "" + else: + embeddings = HuggingFaceEmbeddings(model_name=embedding_model_dict[model], model_kwargs={'device': device}) + return embeddings + + +LOADER_DICT = {"UnstructuredHTMLLoader": ['.html'], + "UnstructuredMarkdownLoader": ['.md'], + "CustomJSONLoader": [".json"], + "CSVLoader": [".csv"], + "RapidOCRPDFLoader": [".pdf"], + "RapidOCRLoader": ['.png', '.jpg', '.jpeg', '.bmp'], + "UnstructuredFileLoader": ['.eml', '.msg', '.rst', + '.rtf', '.txt', '.xml', + '.doc', '.docx', '.epub', '.odt', + '.ppt', '.pptx', '.tsv'], # '.xlsx' + } +SUPPORTED_EXTS = [ext for sublist in LOADER_DICT.values() for ext in sublist] + + +class CustomJSONLoader(langchain.document_loaders.JSONLoader): + ''' + langchain的JSONLoader需要jq,在win上使用不便,进行替代。 + ''' + + def __init__( + self, + file_path: Union[str, Path], + content_key: Optional[str] = None, + metadata_func: Optional[Callable[[Dict, Dict], Dict]] = None, + text_content: bool = True, + json_lines: bool = False, + ): + """Initialize the JSONLoader. + + Args: + file_path (Union[str, Path]): The path to the JSON or JSON Lines file. + content_key (str): The key to use to extract the content from the JSON if + results to a list of objects (dict). + metadata_func (Callable[Dict, Dict]): A function that takes in the JSON + object extracted by the jq_schema and the default metadata and returns + a dict of the updated metadata. + text_content (bool): Boolean flag to indicate whether the content is in + string format, default to True. + json_lines (bool): Boolean flag to indicate whether the input is in + JSON Lines format. + """ + self.file_path = Path(file_path).resolve() + self._content_key = content_key + self._metadata_func = metadata_func + self._text_content = text_content + self._json_lines = json_lines + + # TODO: langchain's JSONLoader.load has a encoding bug, raise gbk encoding error on windows. + # This is a workaround for langchain==0.0.266. I have make a pr(#9785) to langchain, it should be deleted after langchain upgraded. + def load(self) -> List[Document]: + """Load and return documents from the JSON file.""" + docs: List[Document] = [] + if self._json_lines: + with self.file_path.open(encoding="utf-8") as f: + for line in f: + line = line.strip() + if line: + self._parse(line, docs) + else: + self._parse(self.file_path.read_text(encoding="utf-8"), docs) + return docs + + def _parse(self, content: str, docs: List[Document]) -> None: + """Convert given content to documents.""" + data = json.loads(content) + + # Perform some validation + # This is not a perfect validation, but it should catch most cases + # and prevent the user from getting a cryptic error later on. + if self._content_key is not None: + self._validate_content_key(data) + + for i, sample in enumerate(data, len(docs) + 1): + metadata = dict( + source=str(self.file_path), + seq_num=i, + ) + text = self._get_text(sample=sample, metadata=metadata) + docs.append(Document(page_content=text, metadata=metadata)) + + +langchain.document_loaders.CustomJSONLoader = CustomJSONLoader + + +def get_LoaderClass(file_extension): + for LoaderClass, extensions in LOADER_DICT.items(): + if file_extension in extensions: + return LoaderClass + + +def get_loader(loader_name: str, file_path_or_content: Union[str, bytes, io.StringIO, io.BytesIO]): + ''' + 根据loader_name和文件路径或内容返回文档加载器。 + ''' + try: + if loader_name in ["RapidOCRPDFLoader", "RapidOCRLoader"]: + document_loaders_module = importlib.import_module('document_loaders') + else: + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, loader_name) + except Exception as e: + logger.error(e) + document_loaders_module = importlib.import_module('langchain.document_loaders') + DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") + + if loader_name == "UnstructuredFileLoader": + loader = DocumentLoader(file_path_or_content, autodetect_encoding=True) + elif loader_name == "CSVLoader": + loader = DocumentLoader(file_path_or_content, encoding="utf-8") + elif loader_name == "JSONLoader": + loader = DocumentLoader(file_path_or_content, jq_schema=".", text_content=False) + elif loader_name == "CustomJSONLoader": + loader = DocumentLoader(file_path_or_content, text_content=False) + elif loader_name == "UnstructuredMarkdownLoader": + loader = DocumentLoader(file_path_or_content, mode="elements") + elif loader_name == "UnstructuredHTMLLoader": + loader = DocumentLoader(file_path_or_content, mode="elements") + else: + loader = DocumentLoader(file_path_or_content) + return loader + + +def make_text_splitter( + splitter_name: str = "SpacyTextSplitter", + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, +): + ''' + 根据参数获取特定的分词器 + ''' + splitter_name = splitter_name or "SpacyTextSplitter" + text_splitter_module = importlib.import_module('langchain.text_splitter') + try: + TextSplitter = getattr(text_splitter_module, splitter_name) + text_splitter = TextSplitter( + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + except Exception as e: + logger.error(e) + TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") + text_splitter = TextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + ) + return text_splitter + + +def content_to_docs(content: Union[str, bytes, io.StringIO, io.BytesIO, Path], ext: str = ".md") -> List[Document]: + ''' + 将磁盘文件、文本、字节、内存文件等转化成Document + ''' + if not ext.startswith("."): + ext = "." + ext + ext = ext.lower() + if ext not in SUPPORTED_EXTS: + raise ValueError(f"暂未支持的文件格式 {ext}") + + loader_name = get_LoaderClass(ext) + loader = get_loader(loader_name=loader_name, file_path_or_content=content) + return loader.load() + + +def split_docs( + docs: List[Document], + splitter_name: str = "SpacyTextSplitter", + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, +) -> List[Document]: + text_splitter = make_text_splitter(splitter_name=splitter_name, chunk_size=chunk_size, chunk_overlap=chunk_overlap) + return text_splitter.split_documents(docs) + + +class KnowledgeFile: + def __init__( + self, + filename: str, + knowledge_base_name: str + ): + ''' + 对应知识库目录中的文件,必须是磁盘上存在的才能进行向量化等操作。 + ''' + self.kb_name = knowledge_base_name + self.filename = filename + self.ext = os.path.splitext(filename)[-1].lower() + if self.ext not in SUPPORTED_EXTS: + raise ValueError(f"暂未支持的文件格式 {self.ext}") + self.filepath = get_file_path(knowledge_base_name, filename) + self.docs = None + self.splited_docs = None + self.document_loader_name = get_LoaderClass(self.ext) + + # TODO: 增加依据文件格式匹配text_splitter + self.text_splitter_name = None + + def file2docs(self, refresh: bool=False): + if self.docs is None or refresh: + logger.info(f"{self.document_loader_name} used for {self.filepath}") + loader = get_loader(self.document_loader_name, self.filepath) + self.docs = loader.load() + return self.docs + + def docs2texts( + self, + docs: List[Document] = None, + using_zh_title_enhance=ZH_TITLE_ENHANCE, + refresh: bool = False, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + text_splitter: TextSplitter = None, + ): + docs = docs or self.file2docs(refresh=refresh) + + if self.ext not in [".csv"]: + if text_splitter is None: + text_splitter = make_text_splitter(splitter_name=self.text_splitter_name, chunk_size=chunk_size, chunk_overlap=chunk_overlap) + docs = text_splitter.split_documents(docs) + + print(f"文档切分示例:{docs[0]}") + if using_zh_title_enhance: + docs = zh_title_enhance(docs) + self.splited_docs = docs + return self.splited_docs + + def file2text( + self, + using_zh_title_enhance=ZH_TITLE_ENHANCE, + refresh: bool = False, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + text_splitter: TextSplitter = None, + ): + if self.splited_docs is None or refresh: + self.splited_docs = self.docs2texts(using_zh_title_enhance=using_zh_title_enhance, + refresh=refresh, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + text_splitter=text_splitter) + return self.splited_docs + + def file_exist(self): + return os.path.isfile(self.filepath) + + def get_mtime(self): + return os.path.getmtime(self.filepath) + + def get_size(self): + return os.path.getsize(self.filepath) + + +def files2docs_in_thread( + files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], # 如果是Tuple,形式为(filename, kb_name) + pool: ThreadPoolExecutor = None, +) -> Generator: + ''' + 利用多线程批量将磁盘文件转化成langchain Document. + 生成器返回值为 status, (kb_name, file_name, docs) + ''' + def file2docs(*, file: KnowledgeFile, **kwargs) -> Tuple[bool, Tuple[str, str, List[Document]]]: + try: + return True, (file.kb_name, file.filename, file.file2text(**kwargs)) + except Exception as e: + return False, e + + kwargs_list = [] + for i, file in enumerate(files): + kwargs = {} + if isinstance(file, tuple) and len(file) >= 2: + file = KnowledgeFile(filename=file[0], knowledge_base_name=file[1]) + elif isinstance(file, dict): + filename = file.pop("filename") + kb_name = file.pop("kb_name") + kwargs = file + file = KnowledgeFile(filename=filename, knowledge_base_name=kb_name) + kwargs["file"] = file + kwargs_list.append(kwargs) + + for result in run_in_thread_pool(func=file2docs, params=kwargs_list, pool=pool): + yield result + + +if __name__ == "__main__": + from pprint import pprint + + # kb_file = KnowledgeFile(filename="test.txt", knowledge_base_name="samples") + # # kb_file.text_splitter_name = "RecursiveCharacterTextSplitter" + # docs = kb_file.file2docs() + # pprint(docs[-1]) + + # docs = kb_file.file2text() + # pprint(docs[-1]) + + docs = content_to_docs(""" + ## this is a title + + ## another title + + how are you + this a wonderful day. + """, "txt") + pprint(docs) + pprint(split_docs(docs, chunk_size=10, chunk_overlap=0)) diff --git a/tests/api/test_kb_api.py b/tests/api/test_kb_api.py index 51bbac19..3e371cf1 100644 --- a/tests/api/test_kb_api.py +++ b/tests/api/test_kb_api.py @@ -7,17 +7,21 @@ root_path = Path(__file__).parent.parent.parent sys.path.append(str(root_path)) from server.utils import api_address from configs.model_config import VECTOR_SEARCH_TOP_K -from server.knowledge_base.utils import get_kb_path +from server.knowledge_base.utils import get_kb_path, get_file_path +from webui_pages.utils import ApiRequest from pprint import pprint api_base_url = api_address() +api = ApiRequest(api_base_url) + kb = "kb_for_api_test" test_files = { + "FAQ.MD": str(root_path / "docs" / "FAQ.MD"), "README.MD": str(root_path / "README.MD"), - "FAQ.MD": str(root_path / "docs" / "FAQ.MD") + "test.txt": get_file_path("samples", "test.txt"), } @@ -78,37 +82,36 @@ def test_list_kbs(api="/knowledge_base/list_knowledge_bases"): assert kb in data["data"] -def test_upload_doc(api="/knowledge_base/upload_doc"): +def test_upload_docs(api="/knowledge_base/upload_docs"): url = api_base_url + api - for name, path in test_files.items(): - print(f"\n上传知识文件: {name}") - data = {"knowledge_base_name": kb, "override": True} - files = {"file": (name, open(path, "rb"))} - r = requests.post(url, data=data, files=files) - data = r.json() - pprint(data) - assert data["code"] == 200 - assert data["msg"] == f"成功上传文件 {name}" + files = [("files", (name, open(path, "rb"))) for name, path in test_files.items()] - for name, path in test_files.items(): - print(f"\n尝试重新上传知识文件: {name}, 不覆盖") - data = {"knowledge_base_name": kb, "override": False} - files = {"file": (name, open(path, "rb"))} - r = requests.post(url, data=data, files=files) - data = r.json() - pprint(data) - assert data["code"] == 404 - assert data["msg"] == f"文件 {name} 已存在。" + print(f"\n上传知识文件") + data = {"knowledge_base_name": kb, "override": True} + r = requests.post(url, data=data, files=files) + data = r.json() + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 - for name, path in test_files.items(): - print(f"\n尝试重新上传知识文件: {name}, 覆盖") - data = {"knowledge_base_name": kb, "override": True} - files = {"file": (name, open(path, "rb"))} - r = requests.post(url, data=data, files=files) - data = r.json() - pprint(data) - assert data["code"] == 200 - assert data["msg"] == f"成功上传文件 {name}" + print(f"\n尝试重新上传知识文件, 不覆盖") + data = {"knowledge_base_name": kb, "override": False} + files = [("files", (name, open(path, "rb"))) for name, path in test_files.items()] + r = requests.post(url, data=data, files=files) + data = r.json() + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == len(test_files) + + print(f"\n尝试重新上传知识文件, 覆盖,自定义docs") + docs = {"FAQ.MD": [{"page_content": "custom docs", "metadata": {}}]} + data = {"knowledge_base_name": kb, "override": True, "docs": json.dumps(docs)} + files = [("files", (name, open(path, "rb"))) for name, path in test_files.items()] + r = requests.post(url, data=data, files=files) + data = r.json() + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 def test_list_files(api="/knowledge_base/list_files"): @@ -134,26 +137,26 @@ def test_search_docs(api="/knowledge_base/search_docs"): assert isinstance(data, list) and len(data) == VECTOR_SEARCH_TOP_K -def test_update_doc(api="/knowledge_base/update_doc"): +def test_update_docs(api="/knowledge_base/update_docs"): url = api_base_url + api - for name, path in test_files.items(): - print(f"\n更新知识文件: {name}") - r = requests.post(url, json={"knowledge_base_name": kb, "file_name": name}) - data = r.json() - pprint(data) - assert data["code"] == 200 - assert data["msg"] == f"成功更新文件 {name}" + + print(f"\n更新知识文件") + r = requests.post(url, json={"knowledge_base_name": kb, "file_names": list(test_files)}) + data = r.json() + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 -def test_delete_doc(api="/knowledge_base/delete_doc"): +def test_delete_docs(api="/knowledge_base/delete_docs"): url = api_base_url + api - for name, path in test_files.items(): - print(f"\n删除知识文件: {name}") - r = requests.post(url, json={"knowledge_base_name": kb, "doc_name": name}) - data = r.json() - pprint(data) - assert data["code"] == 200 - assert data["msg"] == f"{name} 文件删除成功" + + print(f"\n删除知识文件") + r = requests.post(url, json={"knowledge_base_name": kb, "file_names": list(test_files)}) + data = r.json() + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 url = api_base_url + "/knowledge_base/search_docs" query = "介绍一下langchain-chatchat项目" diff --git a/webui_pages/utils.py b/webui_pages/utils.py index 08511044..e14df665 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -21,9 +21,7 @@ from fastapi.responses import StreamingResponse import contextlib import json from io import BytesIO -from server.db.repository.knowledge_base_repository import get_kb_detail -from server.db.repository.knowledge_file_repository import get_file_detail -from server.utils import run_async, iter_over_async, set_httpx_timeout +from server.utils import run_async, iter_over_async, set_httpx_timeout, api_address from configs.model_config import NLTK_DATA_PATH import nltk @@ -43,7 +41,7 @@ class ApiRequest: ''' def __init__( self, - base_url: str = "http://127.0.0.1:7861", + base_url: str = api_address(), timeout: float = HTTPX_DEFAULT_TIMEOUT, no_remote_api: bool = False, # call api view function directly ): @@ -78,7 +76,7 @@ class ApiRequest: else: return httpx.get(url, params=params, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when get {url}: {e}") retry -= 1 async def aget( @@ -99,7 +97,7 @@ class ApiRequest: else: return await client.get(url, params=params, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when aget {url}: {e}") retry -= 1 def post( @@ -121,7 +119,7 @@ class ApiRequest: else: return httpx.post(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when post {url}: {e}") retry -= 1 async def apost( @@ -143,7 +141,7 @@ class ApiRequest: else: return await client.post(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when apost {url}: {e}") retry -= 1 def delete( @@ -164,7 +162,7 @@ class ApiRequest: else: return httpx.delete(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when delete {url}: {e}") retry -= 1 async def adelete( @@ -186,7 +184,7 @@ class ApiRequest: else: return await client.delete(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(e) + logger.error(f"error when adelete {url}: {e}") retry -= 1 def _fastapi_stream2generator(self, response: StreamingResponse, as_json: bool =False): @@ -205,7 +203,7 @@ class ApiRequest: elif chunk.strip(): yield chunk except Exception as e: - logger.error(e) + logger.error(f"error when run fastapi router: {e}") def _httpx_stream2generator( self, @@ -231,18 +229,18 @@ class ApiRequest: print(chunk, end="", flush=True) yield chunk except httpx.ConnectError as e: - msg = f"无法连接API服务器,请确认 ‘api.py’ 已正常启动。" + msg = f"无法连接API服务器,请确认 ‘api.py’ 已正常启动。({e})" + logger.error(msg) logger.error(msg) - logger.error(e) yield {"code": 500, "msg": msg} except httpx.ReadTimeout as e: - msg = f"API通信超时,请确认已启动FastChat与API服务(详见RADME '5. 启动 API 服务或 Web UI')" + msg = f"API通信超时,请确认已启动FastChat与API服务(详见RADME '5. 启动 API 服务或 Web UI')。({e})" logger.error(msg) - logger.error(e) yield {"code": 500, "msg": msg} except Exception as e: - logger.error(e) - yield {"code": 500, "msg": str(e)} + msg = f"API通信遇到错误:{e}" + logger.error(msg) + yield {"code": 500, "msg": msg} # 对话相关操作 @@ -413,8 +411,9 @@ class ApiRequest: try: return response.json() except Exception as e: - logger.error(e) - return {"code": 500, "msg": errorMsg or str(e)} + msg = "API未能返回正确的JSON。" + (errorMsg or str(e)) + logger.error(msg) + return {"code": 500, "msg": msg} def list_knowledge_bases( self, @@ -510,12 +509,13 @@ class ApiRequest: data = self._check_httpx_json_response(response) return data.get("data", []) - def upload_kb_doc( + def upload_kb_docs( self, - file: Union[str, Path, bytes], + files: List[Union[str, Path, bytes]], knowledge_base_name: str, - filename: str = None, override: bool = False, + to_vector_store: bool = True, + docs: List[Dict] = [], not_refresh_vs_cache: bool = False, no_remote_api: bool = None, ): From 10237d24ca1768a26013a32f43346cfb0687af86 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Fri, 8 Sep 2023 09:32:33 +0800 Subject: [PATCH 18/60] update readme_cn.md --- README_en.md | 212 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 183 insertions(+), 29 deletions(-) diff --git a/README_en.md b/README_en.md index f24ecaf1..79c41ef2 100644 --- a/README_en.md +++ b/README_en.md @@ -4,12 +4,13 @@ **LangChain-Chatchat** (former Langchain-ChatGLM):基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。 -## Content +## Content(目录) * Introduction * Change Log * Docker Deployment * Deployment + * Enviroment Preresiquisite * Preparing Depolyment Enviroment * Downloading model to local disk(for offline deployment only) @@ -20,14 +21,12 @@ * FAQ * Roadmap * Wechat Group - -## 目录 - * [介绍](README.md#介绍) * [变更日志](README.md#变更日志) * [模型支持](README.md#模型支持) * [Docker 部署](README.md#Docker-部署) * [开发部署](README.md#开发部署) + * [软件需求](README.md#软件需求) * [1. 开发环境准备](README.md#1.-开发环境准备) * [2. 下载模型至本地](README.md#2.-下载模型至本地) @@ -45,18 +44,18 @@ 🤖️ A Q&A application based on local knowledge base implemented using the idea of [langchain](https://github.com/hwchase17/langchain). The goal is to build a KBQA(Knowledge based Q&A) solution that is friendly to Chinese scenarios and open source models and can run both offline and online. -一种利用 [langchain](https://github.com/hwchase17/langchain) 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 - 💡 Inspried by [document.ai](https://github.com/GanymedeNil/document.ai) and [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) , we build a local knowledge base question answering application that can be implemented using an open source model or remote LLM api throughout the process. In the latest version of this project, [FastChat](https://github.com/lm-sys/FastChat) is used to access Vicuna, Alpaca, LLaMA, Koala, RWKV and many other models. Relying on [langchain](https:// github.com/langchain-ai/langchain) , this project supports calling services through the API provided based on [FastAPI](https://github.com/tiangolo/fastapi), or using the WebUI based on [Streamlit](https://github.com /streamlit/streamlit) . -受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai) 和 [AlexZhangji](https://github.com/AlexZhangji) 创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat) 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain) 框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API 调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。 - ✅ Relying on the open source LLM and Embedding models, this project can realize full-process **offline private deployment**. At the same time, this project also supports the call of OpenAI GPT API- and Zhipu API, and will continue to expand the access to various models and remote APIs in the future. -依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。 - ⛓️ The implementation principle of this project is shown in the graph below. The main process includes: loading files -> reading text -> text segmentation -> text vectorization -> question vectorization -> matching the `top-k` most similar to the question vector in the text vector -> The matched text is added to `prompt `as context and question -> submitted to `LLM` to generate an answer. +一种利用 [langchain](https://github.com/hwchase17/langchain) 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 + +受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai) 和 [AlexZhangji](https://github.com/AlexZhangji) 创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat) 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain) 框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API 调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。 + +依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。 + 本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 `top k`个 -> 匹配出的文本作为上下文和问题一起添加到 `prompt`中 -> 提交给 `LLM`生成回答。 📺video introdution([原理介绍视频](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514)) @@ -206,6 +205,12 @@ Following models are tested by developers with Embedding class of [HuggingFace]( docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 ``` +- The image size of this version is `33.9GB`, using `v0.2.0`, with `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` as the base image +- This version has a built-in `embedding` model: `m3e-large`, built-in `chatglm2-6b-32k` +- This version is designed to facilitate one-click deployment. Please make sure you have installed the NVIDIA driver on your Linux distribution. +- Please note that you do not need to install the CUDA toolkit on the host system, but you need to install the `NVIDIA Driver` and the `NVIDIA Container Toolkit`, please refer to the [Installation Guide](https://docs.nvidia.com/datacenter/cloud -native/container-toolkit/latest/install-guide.html) +- It takes a certain amount of time to pull and start for the first time. When starting for the first time, please refer to the figure below to use `docker logs -f ` to view the log. +- If the startup process is stuck in the `Waiting..` step, it is recommended to use `docker exec -it bash` to enter the `/logs/` directory to view the corresponding stage logs - 该版本镜像大小 `33.9GB`,使用 `v0.2.0`,以 `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` 为基础镜像 - 该版本内置一个 `embedding` 模型:`m3e-large`,内置 `chatglm2-6b-32k` - 该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序 @@ -215,19 +220,37 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch --- -## 开发部署 +## Deployment(开发部署) -### 软件需求 +### Enviroment Preresiquisite(软件需求) + +The project is tested under Python3.8-python 3.10, CUDA 11.0-CUDA11.7, Windows, macOS of ARM architecture, and Linux platform. 本项目已在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成测试。已在 Windows、ARM 架构的 macOS、Linux 系统中完成测试。 -### 1. 开发环境准备 +### 1. Preparing Depolyment Enviroment(开发环境准备) + +Please refer to [install.md](docs/INSTALL.md) 参见 [开发环境准备](docs/INSTALL.md)。 **请注意:** `0.2.0` 及更新版本的依赖包与 `0.1.x` 版本依赖包可能发生冲突,强烈建议新建环境后重新安装依赖包。 -### 2. 下载模型至本地 +### 2. Downloading model to local disk(下载模型至本地) + +**For offline deployment only!** + +If you want to run this project in a local or offline environment, you need to first download the models required for the project to your local computer. Usually the open source LLM and Embedding models can be downloaded from [HuggingFace](https://huggingface.co/models). + +Take the LLM model [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) and Embedding model [moka-ai/m3e-base](https://huggingface. co/moka-ai/m3e-base) for example: + +To download the model, you need to [install Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage), and then run: + +```Shell +$ git clone https://huggingface.co/THUDM/chatglm2-6b + +$ git clone https://huggingface.co/moka-ai/m3e-base +``` 如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 [HuggingFace](https://huggingface.co/models) 下载。 @@ -241,7 +264,32 @@ $ git clone https://huggingface.co/THUDM/chatglm2-6b $ git clone https://huggingface.co/moka-ai/m3e-base ``` -### 3. 设置配置项 +### 3. Setting Configuration(设置配置项) + +Copy the model-related parameter configuration template file [configs/model_config.py.example](configs/model_config.py.example) and save it in the `./configs` path under the project path, and rename it to `model_config.py`. + +Copy the service-related parameter configuration template file [configs/server_config.py.example](configs/server_config.py.example) to save in the `./configs` path under the project path, and rename it to `server_config.py`. + +Before starting to execute Web UI or command line interaction, please check whether each model parameter in `configs/model_config.py` and `configs/server_config.py` meets the requirements. + +* Please confirm that the path to local LLM model and embedding model have been written in `llm_dict` of `configs/model_config.py`, here is an example: +* If you choose to use OpenAI's Embedding model, please write the model's ``key`` into `embedding_model_dict`. To use this model, you need to be able to access the OpenAI official API, or set up a proxy. + +```python +llm_model_dict={ + "chatglm2-6b": { + "local_model_path": "/Users/xxx/Downloads/chatglm2-6b", + "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" + "api_key": "EMPTY" + }, + } +``` + +```python +embedding_model_dict = { + "m3e-base": "/Users/xxx/Downloads/m3e-base", + } +``` 复制模型相关参数配置模板文件 [configs/model_config.py.example](configs/model_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `model_config.py`。 @@ -271,7 +319,20 @@ embedding_model_dict = { 如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 -### 4. 知识库初始化与迁移 +### 4. Knowledge Base Migration(知识库初始化与迁移) + +The knowledge base information is stored in the database, please initialize the database before running the project (we strongly recommend one back up the knowledge files before performing operations). + +- If you migrate from `0.1.x`, for the established knowledge base, please confirm that the vector library type and Embedding model of the knowledge base are consistent with the default settings in `configs/model_config.py`, if there is no change, simply add the existing repository information to the database with the following command: + + ```shell + $ python init_database.py + ``` +- If you are a beginner of the project whose knowledge base has not been established, or the knowledge base type and embedding model in the configuration file have changed, or the previous vector library did not enable `normalize_L2`, you need the following command to initialize or rebuild the knowledge base: + + ```shell + $ python init_database.py --recreate-vs + ``` 当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。 @@ -286,9 +347,24 @@ embedding_model_dict = { $ python init_database.py --recreate-vs ``` -### 5. 一键启动API 服务或 Web UI +### 5. Luanching API Service or WebUI with One Command(一键启动API 服务或 Web UI) -#### 5.1 启动命令 +#### 5.1 Command(启动命令) + +The script is `startuppy`, you can luanch all fastchat related, API,WebUI service with is, here is an example: + +```shell +$ python startup.py -a +``` + +optional args including: `-a(or --all-webui), --all-api, --llm-api, -c(or --controller),--openai-api, -m(or --model-worker), --api, --webui`, where: + +* `--all-webui` means to launch all related services of WEBUI +* `--all-api` means to launch all related services of API +* `--llm-api` means to launch all related services of FastChat +* `--openai-api` means to launch controller and openai-api-server of FastChat only +* `model-worker` means to launch model worker of FastChat only +* any other optional arg is to launch one particular function only 一键启动脚本 startup.py,一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码: @@ -307,7 +383,9 @@ $ python startup.py -a - `--openai-api` 为仅启动 FastChat 的 controller 和 openai-api-server 服务; - 其他为单独服务启动选项。 -#### 5.2 启动非默认模型 +#### 5.2 Launch none default model(启动非默认模型) + +If you want to specify a none default model, use `--model-name` arg, here is a example: 若想指定非默认模型,需要用 `--model-name` 选项,示例: @@ -317,7 +395,30 @@ $ python startup.py --all-webui --model-name Qwen-7B-Chat 更多信息可通过 `python startup.py -h`查看。 -#### 5.3 多卡加载 +#### 5.3 Load model with multi-gpus(多卡加载) + +If you want to load model with multi-gpus, then the following three parameters in `startup.create_model_worker_app` should be changed: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +where: + +* `gpus` is about specifying the gpus' ID, such as '0,1'; +* `num_gpus` is about specifying the number of gpus to be used under `gpus`; +* `max_gpu_memory` is about specifying the gpu memory of every gpu. + +note: + +* These parameters now can be specified by `server_config.FSCHST_MODEL_WORKERD`. +* In some extreme senses, `gpus` doesn't work, then one should specify the used gpus with environment variable `CUDA_VISIBLE_DEVICES`, here is an example: + +```shell +CUDA_VISIBLE_DEVICES=0,1 python startup.py -a +``` 项目支持多卡加载,需在 startup.py 中的 create_model_worker_app 函数中,修改如下三个参数: @@ -341,21 +442,33 @@ max_gpu_memory="20GiB" CUDA_VISIBLE_DEVICES=0,1 python startup.py -a ``` -#### 5.4 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) +#### 5.4 Load PEFT(PEFT 加载) + +Including lora,p-tuning,prefix tuning, prompt tuning,ia3 + +This project loads the LLM service based on FastChat, so one must load the PEFT in a FastChat way, that is, ensure that the word `peft` must be in the path name, the name of the configuration file must be `adapter_config.json`, and the path contains PEFT weights in `.bin` format. The peft path is specified in `args.model_names` of the `create_model_worker_app` function in `startup.py`, and enable the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` parameter. + +If the above method fails, you need to start standard fastchat service step by step. Step-by-step procedure could be found Section 6. For further steps, please refer to [Model invalid after loading lora fine-tuning](https://github. com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). 本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含.bin 格式的 PEFT 权重,peft路径在startup.py中create_model_worker_app函数的args.model_names中指定,并开启环境变量PEFT_SHARE_BASE_WEIGHTS=true参数。 -注:如果上述方式启动失败,则需要以标准的fastchat服务启动方式分步启动,分步启动步骤参考第六节,PEFT加载详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822), +注:如果上述方式启动失败,则需要以标准的fastchat服务启动方式分步启动,分步启动步骤参考第六节,PEFT加载详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). -#### **5.5 注意事项:** +#### **5.5 Some Notes(注意事项)** -**1. startup 脚本用多进程方式启动各模块的服务,可能会导致打印顺序问题,请等待全部服务发起后再调用,并根据默认或指定端口调用服务(默认 LLM API 服务端口:`127.0.0.1:8888`,默认 API 服务端口:`127.0.0.1:7861`,默认 WebUI 服务端口:`本机IP:8501`)** +1. **The `startup.py` uses multi-process mode to start the services of each module, which may cause printing order problems. Please wait for all services to be initiated before calling, and call the service according to the default or specified port (default LLM API service port: `127.0.0.1:8888 `, default API service port:`127.0.0.1:7861 `, default WebUI service port: `127.0.0.1: 8501`)** +2. **The startup time of the service differs across devices, usually it takes 3-10 minutes. If it does not start for a long time, please go to the `./logs` directory to monitor the logs and locate the problem.** +3. **Using ctrl+C to exit on Linux may cause orphan processes due to the multi-process mechanism of Linux. You can exit through `shutdown_all.sh`** + +**1. startup 脚本用多进程方式启动各模块的服务,可能会导致打印顺序问题,请等待全部服务发起后再调用,并根据默认或指定端口调用服务(默认 LLM API 服务端口:`127.0.0.1:8888`,默认 API 服务端口:`127.0.0.1:7861`,默认 WebUI 服务端口:`127.0.0.1:8501`)** **2.服务启动时间示设备不同而不同,约 3-10 分钟,如长时间没有启动请前往 `./logs`目录下监控日志,定位问题。** **3. 在Linux上使用ctrl+C退出可能会由于linux的多进程机制导致multiprocessing遗留孤儿进程,可通过shutdown_all.sh进行退出** -#### 5.6 启动界面示例: +#### 5.6 Interface Examples(启动界面示例) + +The API, chat interface of WebUI, and knowledge management interface of WebUI are list below respectively. 1. FastAPI docs 界面 @@ -368,7 +481,9 @@ CUDA_VISIBLE_DEVICES=0,1 python startup.py -a - Web UI 知识库管理页面: ![](img/webui_0813_1.png) -### 6 分步启动 API 服务或 Web UI +### 6 Luanching API Service or WebUI step-by-step(分步启动 API 服务或 Web UI) + +**The developers will depreciate step-by-step procudure in the future one or two version, feel free to ignore this part.** 注意:如使用了一键启动方式,可忽略本节。 @@ -500,15 +615,51 @@ $ streamlit run webui.py --server.port 666 --- -## 常见问题 +## FAQ(常见问题) + +Please refer to [FAQ](docs/FAQ.md) 参见 [常见问题](docs/FAQ.md)。 --- -## 路线图 +## Roadmap(路线图) +- [X] Langchain applications + + - [X] Load local documents + - [X] Unstructed documents + - [X] .md + - [X] .txt + - [X] .docx + - [ ] Structed documents + - [X] .csv + - [ ] .xlsx + - [ ] TextSplliter and Retriever + - [ ] multipy TextSplitter + - [ ] ChineseTextSplitter + - [ ] Recontructed Context Retriever + - [ ] Webpage + - [ ] SQL + - [ ] Knowledge Database + - [X] Search Engines + - [X] Bing + - [X] DuckDuckGo + - [ ] Agent +- [X] LLM Models + + - [X] [FastChat](https://github.com/lm-sys/fastchat) -based LLM Models + - [ ] Mutiply Remote LLM API +- [X] Embedding Models + + - [X] HuggingFace -based Embedding models + - [ ] Mutiply Remote Embedding API +- [X] 基于 FastAPI -based API +- [X] Web UI + + - [X] Streamlit -based Web UI - [X] Langchain 应用 + - [X] 本地数据接入 - [X] 接入非结构化文档 - [X] .md @@ -529,18 +680,21 @@ $ streamlit run webui.py --server.port 666 - [X] DuckDuckGo 搜索 - [ ] Agent 实现 - [X] LLM 模型接入 + - [X] 支持通过调用 [FastChat](https://github.com/lm-sys/fastchat) api 调用 llm - [ ] 支持 ChatGLM API 等 LLM API 的接入 - [X] Embedding 模型接入 + - [X] 支持调用 HuggingFace 中各开源 Emebdding 模型 - [ ] 支持 OpenAI Embedding API 等 Embedding API 的接入 - [X] 基于 FastAPI 的 API 方式调用 - [X] Web UI + - [X] 基于 Streamlit 的 Web UI --- -## 项目交流群 +## WeChat Group QR Code(项目交流群) 二维码 From bf748eb732c487ced534465de559fb1aa946d4f9 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Fri, 8 Sep 2023 09:46:23 +0800 Subject: [PATCH 19/60] =?UTF-8?q?add=20README=5Fen.md:=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=AD=E8=8B=B1=E5=AF=B9=E7=85=A7=E7=9A=84readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_en.md | 701 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 701 insertions(+) create mode 100644 README_en.md diff --git a/README_en.md b/README_en.md new file mode 100644 index 00000000..79c41ef2 --- /dev/null +++ b/README_en.md @@ -0,0 +1,701 @@ +![](img/logo-long-chatchat-trans-v2.png) + +**LangChain-Chatchat** (former Langchain-ChatGLM): A LLM application aims to implement knowledge- and search engineer- based QA based on Langchain and open-source or remote LLM api. + +**LangChain-Chatchat** (former Langchain-ChatGLM):基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。 + +## Content(目录) + +* Introduction +* Change Log +* Docker Deployment +* Deployment + + * Enviroment Preresiquisite + * Preparing Depolyment Enviroment + * Downloading model to local disk(for offline deployment only) + * Setting Configuration + * Knowledge Base Migration + * Luanching API Service or WebUI with One Command + * Luanching API Service or WebUI step-by-step +* FAQ +* Roadmap +* Wechat Group +* [介绍](README.md#介绍) +* [变更日志](README.md#变更日志) +* [模型支持](README.md#模型支持) +* [Docker 部署](README.md#Docker-部署) +* [开发部署](README.md#开发部署) + + * [软件需求](README.md#软件需求) + * [1. 开发环境准备](README.md#1.-开发环境准备) + * [2. 下载模型至本地](README.md#2.-下载模型至本地) + * [3. 设置配置项](README.md#3.-设置配置项) + * [4. 知识库初始化与迁移](README.md#4.-知识库初始化与迁移) + * [5. 一键启动API服务或WebUI服务](README.md#6.-一键启动) + * [6. 分步启动 API 服务或 Web UI](README.md#5.-启动-API-服务或-Web-UI) +* [常见问题](README.md#常见问题) +* [路线图](README.md#路线图) +* [项目交流群](README.md#项目交流群) + +--- + +## Introduction(介绍) + +🤖️ A Q&A application based on local knowledge base implemented using the idea of [langchain](https://github.com/hwchase17/langchain). The goal is to build a KBQA(Knowledge based Q&A) solution that is friendly to Chinese scenarios and open source models and can run both offline and online. + +💡 Inspried by [document.ai](https://github.com/GanymedeNil/document.ai) and [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) , we build a local knowledge base question answering application that can be implemented using an open source model or remote LLM api throughout the process. In the latest version of this project, [FastChat](https://github.com/lm-sys/FastChat) is used to access Vicuna, Alpaca, LLaMA, Koala, RWKV and many other models. Relying on [langchain](https:// github.com/langchain-ai/langchain) , this project supports calling services through the API provided based on [FastAPI](https://github.com/tiangolo/fastapi), or using the WebUI based on [Streamlit](https://github.com /streamlit/streamlit) . + +✅ Relying on the open source LLM and Embedding models, this project can realize full-process **offline private deployment**. At the same time, this project also supports the call of OpenAI GPT API- and Zhipu API, and will continue to expand the access to various models and remote APIs in the future. + +⛓️ The implementation principle of this project is shown in the graph below. The main process includes: loading files -> reading text -> text segmentation -> text vectorization -> question vectorization -> matching the `top-k` most similar to the question vector in the text vector -> The matched text is added to `prompt `as context and question -> submitted to `LLM` to generate an answer. + +一种利用 [langchain](https://github.com/hwchase17/langchain) 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 + +受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai) 和 [AlexZhangji](https://github.com/AlexZhangji) 创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat) 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain) 框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API 调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。 + +依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。 + +本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 `top k`个 -> 匹配出的文本作为上下文和问题一起添加到 `prompt`中 -> 提交给 `LLM`生成回答。 + +📺video introdution([原理介绍视频](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514)) + +![实现原理图](img/langchain+chatglm.png) + +The main process analysis from the aspect of document process: + +从文档处理角度来看,实现流程如下: + +![实现原理图2](img/langchain+chatglm2.png) + +🚩 The training or fined-tuning are not involved in the project, but still, one always can improve performance by do these. + +本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。 + +🌐 [AutoDL image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) is supported, and in v7 the codes are update to v0.2.3. + +[AutoDL 镜像](https://www.codewithgpu.com/i/imClumsyPanda/langchain-ChatGLM/Langchain-Chatchat) 中 `v7` 版本所使用代码已更新至本项目 `v0.2.3` 版本。 + +🐳 [Docker image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) + +💻 Run Docker with one command: + +一行命令运行 Docker: + +```shell +docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 +``` + +--- + +## Change Log(变更日志) + +plese refer to [version change log](https://github.com/imClumsyPanda/langchain-ChatGLM/releases) + +### Current Features + +* **Consistent LLM Service based on FastChat**. The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models and access it in the form of OpenAI API interface to improve the loading effect of the LLM model; +* **Chain and Agent based on Langchian**. Use the existing Chain implementation in [langchain](https://github.com/langchain-ai/langchain) to facilitate subsequent access to different types of Chain, and will test Agent access; +* **Full fuction API service based on FastAPI**. All interfaces can be tested in the docs automatically generated by [FastAPI](https://github.com/tiangolo/fastapi), and all dialogue interfaces support streaming or non-streaming output through parameters. ; +* **WebUI service based on Streamlit**. With [Streamlit](https://github.com/streamlit/streamlit), you can choose whether to start WebUI based on API services, add session management, customize session themes and switch, and will support different display of content forms of output in the future; +* **Abundant open source LLM and Embedding models**. The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base), the file loading method and the paragraph division method have also been adjusted. In the future, context expansion will be re-implemented and optional settings will be added; +* **Multiply vector libraries**. The project has expanded support for different types of vector libraries. Including [FAISS](https://github.com/facebookresearch/faiss), [Milvus](https://github.com/milvus -io/milvus), and [PGVector](https://github.com/pgvector/pgvector); +* **Varied Search engines**. We provide two search engines now: Bing and DuckDuckGo. DuckDuckGo search does not require configuring an API Key and can be used directly in environments with access to foreign services. + +参见 [版本更新日志](https://github.com/imClumsyPanda/langchain-ChatGLM/releases)。 + +从 `0.1.x` 升级过来的用户请注意,需要按照[开发部署](README.md#3.-开发部署)过程操作,将现有知识库迁移到新格式,具体见[知识库初始化与迁移](docs/INSTALL.md#知识库初始化与迁移)。 + +### `0.2.0` 版本与 `0.1.x` 版本区别 + +1. 使用 [FastChat](https://github.com/lm-sys/FastChat) 提供开源 LLM 模型的 API,以 OpenAI API 接口形式接入,提升 LLM 模型加载效果; +2. 使用 [langchain](https://github.com/langchain-ai/langchain) 中已有 Chain 的实现,便于后续接入不同类型 Chain,并将对 Agent 接入开展测试; +3. 使用 [FastAPI](https://github.com/tiangolo/fastapi) 提供 API 服务,全部接口可在 FastAPI 自动生成的 docs 中开展测试,且所有对话接口支持通过参数设置流式或非流式输出; +4. 使用 [Streamlit](https://github.com/streamlit/streamlit) 提供 WebUI 服务,可选是否基于 API 服务启动 WebUI,增加会话管理,可以自定义会话主题并切换,且后续可支持不同形式输出内容的显示; +5. 项目中默认 LLM 模型改为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认 Embedding 模型改为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base),文件加载方式与文段划分方式也有调整,后续将重新实现上下文扩充,并增加可选设置; +6. 项目中扩充了对不同类型向量库的支持,除支持 [FAISS](https://github.com/facebookresearch/faiss) 向量库外,还提供 [Milvus](https://github.com/milvus-io/milvus), [PGVector](https://github.com/pgvector/pgvector) 向量库的接入; +7. 项目中搜索引擎对话,除 Bing 搜索外,增加 DuckDuckGo 搜索选项,DuckDuckGo 搜索无需配置 API Key,在可访问国外服务环境下可直接使用。 + +--- + +## Supported Model(模型支持) + +The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base). + +本项目中默认使用的 LLM 模型为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认使用的 Embedding 模型为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例。 + +### Supported LLM models (LLM模型支持) + +The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models, supported models include: + +本项目最新版本中基于 [FastChat](https://github.com/lm-sys/FastChat) 进行本地 LLM 模型接入,支持模型如下: + +- [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf) +- Vicuna, Alpaca, LLaMA, Koala +- [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven) +- [camel-ai/CAMEL-13B-Combined-Data](https://huggingface.co/camel-ai/CAMEL-13B-Combined-Data) +- [databricks/dolly-v2-12b](https://huggingface.co/databricks/dolly-v2-12b) +- [FreedomIntelligence/phoenix-inst-chat-7b](https://huggingface.co/FreedomIntelligence/phoenix-inst-chat-7b) +- [h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b) +- [lcw99/polyglot-ko-12.8b-chang-instruct-chat](https://huggingface.co/lcw99/polyglot-ko-12.8b-chang-instruct-chat) +- [lmsys/fastchat-t5-3b-v1.0](https://huggingface.co/lmsys/fastchat-t5) +- [mosaicml/mpt-7b-chat](https://huggingface.co/mosaicml/mpt-7b-chat) +- [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT) +- [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy) +- [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b) +- [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg) +- [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5) +- [project-baize/baize-v2-7b](https://huggingface.co/project-baize/baize-v2-7b) +- [Salesforce/codet5p-6b](https://huggingface.co/Salesforce/codet5p-6b) +- [StabilityAI/stablelm-tuned-alpha-7b](https://huggingface.co/stabilityai/stablelm-tuned-alpha-7b) +- [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b) +- [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) +- [tiiuae/falcon-40b](https://huggingface.co/tiiuae/falcon-40b) +- [timdettmers/guanaco-33b-merged](https://huggingface.co/timdettmers/guanaco-33b-merged) +- [togethercomputer/RedPajama-INCITE-7B-Chat](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Chat) +- [WizardLM/WizardLM-13B-V1.0](https://huggingface.co/WizardLM/WizardLM-13B-V1.0) +- [WizardLM/WizardCoder-15B-V1.0](https://huggingface.co/WizardLM/WizardCoder-15B-V1.0) +- [baichuan-inc/baichuan-7B](https://huggingface.co/baichuan-inc/baichuan-7B) +- [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b) +- [Qwen/Qwen-7B-Chat](https://huggingface.co/Qwen/Qwen-7B-Chat) +- [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta) +- [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat) and other models of FlagAlpha +- [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B) +- [all models of OpenOrca](https://huggingface.co/Open-Orca) + +* Any [EleutherAI](https://huggingface.co/EleutherAI) pythia model such as [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)(任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)) +* Any [Peft](https://github.com/huggingface/peft) adapter trained on top of a model above. To activate, must have `peft` in the model path. Note: If loading multiple peft models, you can have them share the base model weights by setting the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` in any model worker.(在以上模型基础上训练的任何 [Peft](https://github.com/huggingface/peft) 适配器。为了激活,模型路径中必须有 `peft` 。注意:如果加载多个peft模型,你可以通过在任何模型工作器中设置环境变量 `PEFT_SHARE_BASE_WEIGHTS=true` 来使它们共享基础模型的权重。) + +Please refer to `llm_model_dict` in `configs.model_configs.py.example` to invoke OpenAI API. + +以上模型支持列表可能随 [FastChat](https://github.com/lm-sys/FastChat) 更新而持续更新,可参考 [FastChat 已支持模型列表](https://github.com/lm-sys/FastChat/blob/main/docs/model_support.md)。 + +除本地模型外,本项目也支持直接接入 OpenAI API,具体设置可参考 `configs/model_configs.py.example` 中的 `llm_model_dict` 的 `openai-chatgpt-3.5` 配置信息。 + +### Supported Embedding models (Embedding模型支持) + +Following models are tested by developers with Embedding class of [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity): + +本项目支持调用 [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity) 中的 Embedding 模型,已支持的 Embedding 模型如下: + +- [moka-ai/m3e-small](https://huggingface.co/moka-ai/m3e-small) +- [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) +- [moka-ai/m3e-large](https://huggingface.co/moka-ai/m3e-large) +- [BAAI/bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) +- [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) +- [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) +- [BAAI/bge-large-zh-noinstruct](https://huggingface.co/BAAI/bge-large-zh-noinstruct) +- [shibing624/text2vec-base-chinese-sentence](https://huggingface.co/shibing624/text2vec-base-chinese-sentence) +- [shibing624/text2vec-base-chinese-paraphrase](https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase) +- [shibing624/text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual) +- [shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese) +- [shibing624/text2vec-bge-large-chinese](https://huggingface.co/shibing624/text2vec-bge-large-chinese) +- [GanymedeNil/text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese) +- [nghuyong/ernie-3.0-nano-zh](https://huggingface.co/nghuyong/ernie-3.0-nano-zh) +- [nghuyong/ernie-3.0-base-zh](https://huggingface.co/nghuyong/ernie-3.0-base-zh) +- [OpenAI/text-embedding-ada-002](https://platform.openai.com/docs/guides/embeddings) + +--- + +## Docker image (Docker 部署) + +🐳 Docker image path: `registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0)` + +```shell +docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 +``` + +- The image size of this version is `33.9GB`, using `v0.2.0`, with `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` as the base image +- This version has a built-in `embedding` model: `m3e-large`, built-in `chatglm2-6b-32k` +- This version is designed to facilitate one-click deployment. Please make sure you have installed the NVIDIA driver on your Linux distribution. +- Please note that you do not need to install the CUDA toolkit on the host system, but you need to install the `NVIDIA Driver` and the `NVIDIA Container Toolkit`, please refer to the [Installation Guide](https://docs.nvidia.com/datacenter/cloud -native/container-toolkit/latest/install-guide.html) +- It takes a certain amount of time to pull and start for the first time. When starting for the first time, please refer to the figure below to use `docker logs -f ` to view the log. +- If the startup process is stuck in the `Waiting..` step, it is recommended to use `docker exec -it bash` to enter the `/logs/` directory to view the corresponding stage logs +- 该版本镜像大小 `33.9GB`,使用 `v0.2.0`,以 `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` 为基础镜像 +- 该版本内置一个 `embedding` 模型:`m3e-large`,内置 `chatglm2-6b-32k` +- 该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序 +- 请注意,您不需要在主机系统上安装CUDA工具包,但需要安装 `NVIDIA Driver` 以及 `NVIDIA Container Toolkit`,请参考[安装指南](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) +- 首次拉取和启动均需要一定时间,首次启动时请参照下图使用 `docker logs -f ` 查看日志 +- 如遇到启动过程卡在 `Waiting..` 步骤,建议使用 `docker exec -it bash` 进入 `/logs/` 目录查看对应阶段日志 + +--- + +## Deployment(开发部署) + +### Enviroment Preresiquisite(软件需求) + +The project is tested under Python3.8-python 3.10, CUDA 11.0-CUDA11.7, Windows, macOS of ARM architecture, and Linux platform. + +本项目已在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成测试。已在 Windows、ARM 架构的 macOS、Linux 系统中完成测试。 + +### 1. Preparing Depolyment Enviroment(开发环境准备) + +Please refer to [install.md](docs/INSTALL.md) + +参见 [开发环境准备](docs/INSTALL.md)。 + +**请注意:** `0.2.0` 及更新版本的依赖包与 `0.1.x` 版本依赖包可能发生冲突,强烈建议新建环境后重新安装依赖包。 + +### 2. Downloading model to local disk(下载模型至本地) + +**For offline deployment only!** + +If you want to run this project in a local or offline environment, you need to first download the models required for the project to your local computer. Usually the open source LLM and Embedding models can be downloaded from [HuggingFace](https://huggingface.co/models). + +Take the LLM model [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) and Embedding model [moka-ai/m3e-base](https://huggingface. co/moka-ai/m3e-base) for example: + +To download the model, you need to [install Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage), and then run: + +```Shell +$ git clone https://huggingface.co/THUDM/chatglm2-6b + +$ git clone https://huggingface.co/moka-ai/m3e-base +``` + +如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 [HuggingFace](https://huggingface.co/models) 下载。 + +以本项目中默认使用的 LLM 模型 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) 与 Embedding 模型 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例: + +下载模型需要先[安装Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage),然后运行 + +```Shell +$ git clone https://huggingface.co/THUDM/chatglm2-6b + +$ git clone https://huggingface.co/moka-ai/m3e-base +``` + +### 3. Setting Configuration(设置配置项) + +Copy the model-related parameter configuration template file [configs/model_config.py.example](configs/model_config.py.example) and save it in the `./configs` path under the project path, and rename it to `model_config.py`. + +Copy the service-related parameter configuration template file [configs/server_config.py.example](configs/server_config.py.example) to save in the `./configs` path under the project path, and rename it to `server_config.py`. + +Before starting to execute Web UI or command line interaction, please check whether each model parameter in `configs/model_config.py` and `configs/server_config.py` meets the requirements. + +* Please confirm that the path to local LLM model and embedding model have been written in `llm_dict` of `configs/model_config.py`, here is an example: +* If you choose to use OpenAI's Embedding model, please write the model's ``key`` into `embedding_model_dict`. To use this model, you need to be able to access the OpenAI official API, or set up a proxy. + +```python +llm_model_dict={ + "chatglm2-6b": { + "local_model_path": "/Users/xxx/Downloads/chatglm2-6b", + "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" + "api_key": "EMPTY" + }, + } +``` + +```python +embedding_model_dict = { + "m3e-base": "/Users/xxx/Downloads/m3e-base", + } +``` + +复制模型相关参数配置模板文件 [configs/model_config.py.example](configs/model_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `model_config.py`。 + +复制服务相关参数配置模板文件 [configs/server_config.py.example](configs/server_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `server_config.py`。 + +在开始执行 Web UI 或命令行交互前,请先检查 `configs/model_config.py` 和 `configs/server_config.py` 中的各项模型参数设计是否符合需求: + +- 请确认已下载至本地的 LLM 模型本地存储路径写在 `llm_model_dict` 对应模型的 `local_model_path` 属性中,如: + +```python +llm_model_dict={ + "chatglm2-6b": { + "local_model_path": "/Users/xxx/Downloads/chatglm2-6b", + "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" + "api_key": "EMPTY" + }, + } +``` + +- 请确认已下载至本地的 Embedding 模型本地存储路径写在 `embedding_model_dict` 对应模型位置,如: + +```python +embedding_model_dict = { + "m3e-base": "/Users/xxx/Downloads/m3e-base", + } +``` + +如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 + +### 4. Knowledge Base Migration(知识库初始化与迁移) + +The knowledge base information is stored in the database, please initialize the database before running the project (we strongly recommend one back up the knowledge files before performing operations). + +- If you migrate from `0.1.x`, for the established knowledge base, please confirm that the vector library type and Embedding model of the knowledge base are consistent with the default settings in `configs/model_config.py`, if there is no change, simply add the existing repository information to the database with the following command: + + ```shell + $ python init_database.py + ``` +- If you are a beginner of the project whose knowledge base has not been established, or the knowledge base type and embedding model in the configuration file have changed, or the previous vector library did not enable `normalize_L2`, you need the following command to initialize or rebuild the knowledge base: + + ```shell + $ python init_database.py --recreate-vs + ``` + +当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。 + +- 如果您是从 `0.1.x` 版本升级过来的用户,针对已建立的知识库,请确认知识库的向量库类型、Embedding 模型与 `configs/model_config.py` 中默认设置一致,如无变化只需以下命令将现有知识库信息添加到数据库即可: + + ```shell + $ python init_database.py + ``` +- 如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 `normalize_L2`,需要以下命令初始化或重建知识库: + + ```shell + $ python init_database.py --recreate-vs + ``` + +### 5. Luanching API Service or WebUI with One Command(一键启动API 服务或 Web UI) + +#### 5.1 Command(启动命令) + +The script is `startuppy`, you can luanch all fastchat related, API,WebUI service with is, here is an example: + +```shell +$ python startup.py -a +``` + +optional args including: `-a(or --all-webui), --all-api, --llm-api, -c(or --controller),--openai-api, -m(or --model-worker), --api, --webui`, where: + +* `--all-webui` means to launch all related services of WEBUI +* `--all-api` means to launch all related services of API +* `--llm-api` means to launch all related services of FastChat +* `--openai-api` means to launch controller and openai-api-server of FastChat only +* `model-worker` means to launch model worker of FastChat only +* any other optional arg is to launch one particular function only + +一键启动脚本 startup.py,一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码: + +```shell +$ python startup.py -a +``` + +并可使用 `Ctrl + C` 直接关闭所有运行服务。如果一次结束不了,可以多按几次。 + +可选参数包括 `-a (或--all-webui)`, `--all-api`, `--llm-api`, `-c (或--controller)`, `--openai-api`, +`-m (或--model-worker)`, `--api`, `--webui`,其中: + +- `--all-webui` 为一键启动 WebUI 所有依赖服务; +- `--all-api` 为一键启动 API 所有依赖服务; +- `--llm-api` 为一键启动 Fastchat 所有依赖的 LLM 服务; +- `--openai-api` 为仅启动 FastChat 的 controller 和 openai-api-server 服务; +- 其他为单独服务启动选项。 + +#### 5.2 Launch none default model(启动非默认模型) + +If you want to specify a none default model, use `--model-name` arg, here is a example: + +若想指定非默认模型,需要用 `--model-name` 选项,示例: + +```shell +$ python startup.py --all-webui --model-name Qwen-7B-Chat +``` + +更多信息可通过 `python startup.py -h`查看。 + +#### 5.3 Load model with multi-gpus(多卡加载) + +If you want to load model with multi-gpus, then the following three parameters in `startup.create_model_worker_app` should be changed: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +where: + +* `gpus` is about specifying the gpus' ID, such as '0,1'; +* `num_gpus` is about specifying the number of gpus to be used under `gpus`; +* `max_gpu_memory` is about specifying the gpu memory of every gpu. + +note: + +* These parameters now can be specified by `server_config.FSCHST_MODEL_WORKERD`. +* In some extreme senses, `gpus` doesn't work, then one should specify the used gpus with environment variable `CUDA_VISIBLE_DEVICES`, here is an example: + +```shell +CUDA_VISIBLE_DEVICES=0,1 python startup.py -a +``` + +项目支持多卡加载,需在 startup.py 中的 create_model_worker_app 函数中,修改如下三个参数: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +其中,`gpus` 控制使用的显卡的ID,例如 "0,1"; + +`num_gpus` 控制使用的卡数; + +`max_gpu_memory` 控制每个卡使用的显存容量。 + +注1:server_config.py的FSCHAT_MODEL_WORKERS字典中也增加了相关配置,如有需要也可通过修改FSCHAT_MODEL_WORKERS字典中对应参数实现多卡加载。 + +注2:少数情况下,gpus参数会不生效,此时需要通过设置环境变量CUDA_VISIBLE_DEVICES来指定torch可见的gpu,示例代码: + +```shell +CUDA_VISIBLE_DEVICES=0,1 python startup.py -a +``` + +#### 5.4 Load PEFT(PEFT 加载) + +Including lora,p-tuning,prefix tuning, prompt tuning,ia3 + +This project loads the LLM service based on FastChat, so one must load the PEFT in a FastChat way, that is, ensure that the word `peft` must be in the path name, the name of the configuration file must be `adapter_config.json`, and the path contains PEFT weights in `.bin` format. The peft path is specified in `args.model_names` of the `create_model_worker_app` function in `startup.py`, and enable the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` parameter. + +If the above method fails, you need to start standard fastchat service step by step. Step-by-step procedure could be found Section 6. For further steps, please refer to [Model invalid after loading lora fine-tuning](https://github. com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). + +本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含.bin 格式的 PEFT 权重,peft路径在startup.py中create_model_worker_app函数的args.model_names中指定,并开启环境变量PEFT_SHARE_BASE_WEIGHTS=true参数。 + +注:如果上述方式启动失败,则需要以标准的fastchat服务启动方式分步启动,分步启动步骤参考第六节,PEFT加载详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). + +#### **5.5 Some Notes(注意事项)** + +1. **The `startup.py` uses multi-process mode to start the services of each module, which may cause printing order problems. Please wait for all services to be initiated before calling, and call the service according to the default or specified port (default LLM API service port: `127.0.0.1:8888 `, default API service port:`127.0.0.1:7861 `, default WebUI service port: `127.0.0.1: 8501`)** +2. **The startup time of the service differs across devices, usually it takes 3-10 minutes. If it does not start for a long time, please go to the `./logs` directory to monitor the logs and locate the problem.** +3. **Using ctrl+C to exit on Linux may cause orphan processes due to the multi-process mechanism of Linux. You can exit through `shutdown_all.sh`** + +**1. startup 脚本用多进程方式启动各模块的服务,可能会导致打印顺序问题,请等待全部服务发起后再调用,并根据默认或指定端口调用服务(默认 LLM API 服务端口:`127.0.0.1:8888`,默认 API 服务端口:`127.0.0.1:7861`,默认 WebUI 服务端口:`127.0.0.1:8501`)** + +**2.服务启动时间示设备不同而不同,约 3-10 分钟,如长时间没有启动请前往 `./logs`目录下监控日志,定位问题。** + +**3. 在Linux上使用ctrl+C退出可能会由于linux的多进程机制导致multiprocessing遗留孤儿进程,可通过shutdown_all.sh进行退出** + +#### 5.6 Interface Examples(启动界面示例) + +The API, chat interface of WebUI, and knowledge management interface of WebUI are list below respectively. + +1. FastAPI docs 界面 + +![](img/fastapi_docs_020_0.png) + +2. webui启动界面示例: + +- Web UI 对话界面: + ![img](img/webui_0813_0.png) +- Web UI 知识库管理页面: + ![](img/webui_0813_1.png) + +### 6 Luanching API Service or WebUI step-by-step(分步启动 API 服务或 Web UI) + +**The developers will depreciate step-by-step procudure in the future one or two version, feel free to ignore this part.** + +注意:如使用了一键启动方式,可忽略本节。 + +#### 6.1 启动 LLM 服务 + +如需使用开源模型进行本地部署,需首先启动 LLM 服务,启动方式分为三种: + +- [基于多进程脚本 llm_api.py 启动 LLM 服务](README.md#5.1.1-基于多进程脚本-llm_api.py-启动-LLM-服务) +- [基于命令行脚本 llm_api_stale.py 启动 LLM 服务](README.md#5.1.2-基于命令行脚本-llm_api_stale.py-启动-LLM-服务) +- [PEFT 加载](README.md#5.1.3-PEFT-加载) + +三种方式只需选择一个即可,具体操作方式详见 5.1.1 - 5.1.3。 + +如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务,即 5.1 小节的任何命令均无需启动。 + +##### 6.1.1 基于多进程脚本 llm_api.py 启动 LLM 服务 + +在项目根目录下,执行 [server/llm_api.py](server/llm_api.py) 脚本启动 **LLM 模型**服务: + +```shell +$ python server/llm_api.py +``` + +项目支持多卡加载,需在 llm_api.py 中的 create_model_worker_app 函数中,修改如下三个参数: + +```python +gpus=None, +num_gpus=1, +max_gpu_memory="20GiB" +``` + +其中,`gpus` 控制使用的显卡的ID,如果 "0,1"; + +`num_gpus` 控制使用的卡数; + +`max_gpu_memory` 控制每个卡使用的显存容量。 + +##### 6.1.2 基于命令行脚本 llm_api_stale.py 启动 LLM 服务 + +⚠️ **注意:** + +**1.llm_api_stale.py脚本原生仅适用于linux,mac设备需要安装对应的linux命令,win平台请使用wsl;** + +**2.加载非默认模型需要用命令行参数--model-path-address指定模型,不会读取model_config.py配置;** + +在项目根目录下,执行 [server/llm_api_stale.py](server/llm_api_stale.py) 脚本启动 **LLM 模型**服务: + +```shell +$ python server/llm_api_stale.py +``` + +该方式支持启动多个worker,示例启动方式: + +```shell +$ python server/llm_api_stale.py --model-path-address model1@host1@port1 model2@host2@port2 +``` + +如果出现server端口占用情况,需手动指定server端口,并同步修改model_config.py下对应模型的base_api_url为指定端口: + +```shell +$ python server/llm_api_stale.py --server-port 8887 +``` + +如果要启动多卡加载,示例命令如下: + +```shell +$ python server/llm_api_stale.py --gpus 0,1 --num-gpus 2 --max-gpu-memory 10GiB +``` + +注:以如上方式启动LLM服务会以nohup命令在后台运行 FastChat 服务,如需停止服务,可以运行如下命令: + +```shell +$ python server/llm_api_shutdown.py --serve all +``` + +亦可单独停止一个 FastChat 服务模块,可选 [`all`, `controller`, `model_worker`, `openai_api_server`] + +##### 6.1.3 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) + +本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含 model.bin 格式的 PEFT 权重。 +详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822) + +![image](https://github.com/chatchat-space/Langchain-Chatchat/assets/22924096/4e056c1c-5c4b-4865-a1af-859cd58a625d) + +#### 6.2 启动 API 服务 + +本地部署情况下,按照 [5.1 节](README.md#5.1-启动-LLM-服务)**启动 LLM 服务后**,再执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; + +在线调用API服务的情况下,直接执执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; + +调用命令示例: + +```shell +$ python server/api.py +``` + +启动 API 服务后,可访问 `localhost:7861` 或 `{API 所在服务器 IP}:7861` FastAPI 自动生成的 docs 进行接口查看与测试。 + +- FastAPI docs 界面 + + ![](img/fastapi_docs_020_0.png) + +#### 6.3 启动 Web UI 服务 + +按照 [5.2 节](README.md#5.2-启动-API-服务)**启动 API 服务后**,执行 [webui.py](webui.py) 启动 **Web UI** 服务(默认使用端口 `8501`) + +```shell +$ streamlit run webui.py +``` + +使用 Langchain-Chatchat 主题色启动 **Web UI** 服务(默认使用端口 `8501`) + +```shell +$ streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000" +``` + +或使用以下命令指定启动 **Web UI** 服务并指定端口号 + +```shell +$ streamlit run webui.py --server.port 666 +``` + +- Web UI 对话界面: + + ![](img/webui_0813_0.png) +- Web UI 知识库管理页面: + + ![](img/webui_0813_1.png) + +--- + +## FAQ(常见问题) + +Please refer to [FAQ](docs/FAQ.md) + +参见 [常见问题](docs/FAQ.md)。 + +--- + +## Roadmap(路线图) + +- [X] Langchain applications + + - [X] Load local documents + - [X] Unstructed documents + - [X] .md + - [X] .txt + - [X] .docx + - [ ] Structed documents + - [X] .csv + - [ ] .xlsx + - [ ] TextSplliter and Retriever + - [ ] multipy TextSplitter + - [ ] ChineseTextSplitter + - [ ] Recontructed Context Retriever + - [ ] Webpage + - [ ] SQL + - [ ] Knowledge Database + - [X] Search Engines + - [X] Bing + - [X] DuckDuckGo + - [ ] Agent +- [X] LLM Models + + - [X] [FastChat](https://github.com/lm-sys/fastchat) -based LLM Models + - [ ] Mutiply Remote LLM API +- [X] Embedding Models + + - [X] HuggingFace -based Embedding models + - [ ] Mutiply Remote Embedding API +- [X] 基于 FastAPI -based API +- [X] Web UI + + - [X] Streamlit -based Web UI +- [X] Langchain 应用 + + - [X] 本地数据接入 + - [X] 接入非结构化文档 + - [X] .md + - [X] .txt + - [X] .docx + - [ ] 结构化数据接入 + - [X] .csv + - [ ] .xlsx + - [ ] 分词及召回 + - [ ] 接入不同类型 TextSplitter + - [ ] 优化依据中文标点符号设计的 ChineseTextSplitter + - [ ] 重新实现上下文拼接召回 + - [ ] 本地网页接入 + - [ ] SQL 接入 + - [ ] 知识图谱/图数据库接入 + - [X] 搜索引擎接入 + - [X] Bing 搜索 + - [X] DuckDuckGo 搜索 + - [ ] Agent 实现 +- [X] LLM 模型接入 + + - [X] 支持通过调用 [FastChat](https://github.com/lm-sys/fastchat) api 调用 llm + - [ ] 支持 ChatGLM API 等 LLM API 的接入 +- [X] Embedding 模型接入 + + - [X] 支持调用 HuggingFace 中各开源 Emebdding 模型 + - [ ] 支持 OpenAI Embedding API 等 Embedding API 的接入 +- [X] 基于 FastAPI 的 API 方式调用 +- [X] Web UI + + - [X] 基于 Streamlit 的 Web UI + +--- + +## WeChat Group QR Code(项目交流群) + +二维码 + +🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 From 136b667683a72d192e796377cfb2759f67686d99 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Fri, 8 Sep 2023 10:19:49 +0800 Subject: [PATCH 20/60] =?UTF-8?q?update=20reamd=5Fen.md:=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E5=AF=B9=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_en.md | 415 +++++---------------------------------------------- 1 file changed, 35 insertions(+), 380 deletions(-) diff --git a/README_en.md b/README_en.md index 79c41ef2..07b26037 100644 --- a/README_en.md +++ b/README_en.md @@ -2,9 +2,7 @@ **LangChain-Chatchat** (former Langchain-ChatGLM): A LLM application aims to implement knowledge- and search engineer- based QA based on Langchain and open-source or remote LLM api. -**LangChain-Chatchat** (former Langchain-ChatGLM):基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。 - -## Content(目录) +## Content * Introduction * Change Log @@ -21,26 +19,10 @@ * FAQ * Roadmap * Wechat Group -* [介绍](README.md#介绍) -* [变更日志](README.md#变更日志) -* [模型支持](README.md#模型支持) -* [Docker 部署](README.md#Docker-部署) -* [开发部署](README.md#开发部署) - - * [软件需求](README.md#软件需求) - * [1. 开发环境准备](README.md#1.-开发环境准备) - * [2. 下载模型至本地](README.md#2.-下载模型至本地) - * [3. 设置配置项](README.md#3.-设置配置项) - * [4. 知识库初始化与迁移](README.md#4.-知识库初始化与迁移) - * [5. 一键启动API服务或WebUI服务](README.md#6.-一键启动) - * [6. 分步启动 API 服务或 Web UI](README.md#5.-启动-API-服务或-Web-UI) -* [常见问题](README.md#常见问题) -* [路线图](README.md#路线图) -* [项目交流群](README.md#项目交流群) --- -## Introduction(介绍) +## Introduction 🤖️ A Q&A application based on local knowledge base implemented using the idea of [langchain](https://github.com/hwchase17/langchain). The goal is to build a KBQA(Knowledge based Q&A) solution that is friendly to Chinese scenarios and open source models and can run both offline and online. @@ -50,45 +32,29 @@ ⛓️ The implementation principle of this project is shown in the graph below. The main process includes: loading files -> reading text -> text segmentation -> text vectorization -> question vectorization -> matching the `top-k` most similar to the question vector in the text vector -> The matched text is added to `prompt `as context and question -> submitted to `LLM` to generate an answer. -一种利用 [langchain](https://github.com/hwchase17/langchain) 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 - -受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai) 和 [AlexZhangji](https://github.com/AlexZhangji) 创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216) 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat) 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain) 框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API 调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。 - -依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。 - -本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 `top k`个 -> 匹配出的文本作为上下文和问题一起添加到 `prompt`中 -> 提交给 `LLM`生成回答。 - -📺video introdution([原理介绍视频](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514)) +📺[video introdution](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514) ![实现原理图](img/langchain+chatglm.png) The main process analysis from the aspect of document process: -从文档处理角度来看,实现流程如下: - ![实现原理图2](img/langchain+chatglm2.png) 🚩 The training or fined-tuning are not involved in the project, but still, one always can improve performance by do these. -本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。 - 🌐 [AutoDL image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) is supported, and in v7 the codes are update to v0.2.3. -[AutoDL 镜像](https://www.codewithgpu.com/i/imClumsyPanda/langchain-ChatGLM/Langchain-Chatchat) 中 `v7` 版本所使用代码已更新至本项目 `v0.2.3` 版本。 - 🐳 [Docker image](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0) 💻 Run Docker with one command: -一行命令运行 Docker: - ```shell docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0 ``` --- -## Change Log(变更日志) +## Change Log plese refer to [version change log](https://github.com/imClumsyPanda/langchain-ChatGLM/releases) @@ -102,34 +68,14 @@ plese refer to [version change log](https://github.com/imClumsyPanda/langchain-C * **Multiply vector libraries**. The project has expanded support for different types of vector libraries. Including [FAISS](https://github.com/facebookresearch/faiss), [Milvus](https://github.com/milvus -io/milvus), and [PGVector](https://github.com/pgvector/pgvector); * **Varied Search engines**. We provide two search engines now: Bing and DuckDuckGo. DuckDuckGo search does not require configuring an API Key and can be used directly in environments with access to foreign services. -参见 [版本更新日志](https://github.com/imClumsyPanda/langchain-ChatGLM/releases)。 - -从 `0.1.x` 升级过来的用户请注意,需要按照[开发部署](README.md#3.-开发部署)过程操作,将现有知识库迁移到新格式,具体见[知识库初始化与迁移](docs/INSTALL.md#知识库初始化与迁移)。 - -### `0.2.0` 版本与 `0.1.x` 版本区别 - -1. 使用 [FastChat](https://github.com/lm-sys/FastChat) 提供开源 LLM 模型的 API,以 OpenAI API 接口形式接入,提升 LLM 模型加载效果; -2. 使用 [langchain](https://github.com/langchain-ai/langchain) 中已有 Chain 的实现,便于后续接入不同类型 Chain,并将对 Agent 接入开展测试; -3. 使用 [FastAPI](https://github.com/tiangolo/fastapi) 提供 API 服务,全部接口可在 FastAPI 自动生成的 docs 中开展测试,且所有对话接口支持通过参数设置流式或非流式输出; -4. 使用 [Streamlit](https://github.com/streamlit/streamlit) 提供 WebUI 服务,可选是否基于 API 服务启动 WebUI,增加会话管理,可以自定义会话主题并切换,且后续可支持不同形式输出内容的显示; -5. 项目中默认 LLM 模型改为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认 Embedding 模型改为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base),文件加载方式与文段划分方式也有调整,后续将重新实现上下文扩充,并增加可选设置; -6. 项目中扩充了对不同类型向量库的支持,除支持 [FAISS](https://github.com/facebookresearch/faiss) 向量库外,还提供 [Milvus](https://github.com/milvus-io/milvus), [PGVector](https://github.com/pgvector/pgvector) 向量库的接入; -7. 项目中搜索引擎对话,除 Bing 搜索外,增加 DuckDuckGo 搜索选项,DuckDuckGo 搜索无需配置 API Key,在可访问国外服务环境下可直接使用。 - ---- - -## Supported Model(模型支持) +## Supported Models The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base). -本项目中默认使用的 LLM 模型为 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b),默认使用的 Embedding 模型为 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例。 - -### Supported LLM models (LLM模型支持) +### Supported LLM models The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models, supported models include: -本项目最新版本中基于 [FastChat](https://github.com/lm-sys/FastChat) 进行本地 LLM 模型接入,支持模型如下: - - [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf) - Vicuna, Alpaca, LLaMA, Koala - [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven) @@ -164,20 +110,14 @@ The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the AP - [all models of OpenOrca](https://huggingface.co/Open-Orca) * Any [EleutherAI](https://huggingface.co/EleutherAI) pythia model such as [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)(任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)) -* Any [Peft](https://github.com/huggingface/peft) adapter trained on top of a model above. To activate, must have `peft` in the model path. Note: If loading multiple peft models, you can have them share the base model weights by setting the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` in any model worker.(在以上模型基础上训练的任何 [Peft](https://github.com/huggingface/peft) 适配器。为了激活,模型路径中必须有 `peft` 。注意:如果加载多个peft模型,你可以通过在任何模型工作器中设置环境变量 `PEFT_SHARE_BASE_WEIGHTS=true` 来使它们共享基础模型的权重。) +* Any [Peft](https://github.com/huggingface/peft) adapter trained on top of a model above. To activate, must have `peft` in the model path. Note: If loading multiple peft models, you can have them share the base model weights by setting the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` in any model worker. Please refer to `llm_model_dict` in `configs.model_configs.py.example` to invoke OpenAI API. -以上模型支持列表可能随 [FastChat](https://github.com/lm-sys/FastChat) 更新而持续更新,可参考 [FastChat 已支持模型列表](https://github.com/lm-sys/FastChat/blob/main/docs/model_support.md)。 - -除本地模型外,本项目也支持直接接入 OpenAI API,具体设置可参考 `configs/model_configs.py.example` 中的 `llm_model_dict` 的 `openai-chatgpt-3.5` 配置信息。 - -### Supported Embedding models (Embedding模型支持) +### Supported Embedding models Following models are tested by developers with Embedding class of [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity): -本项目支持调用 [HuggingFace](https://huggingface.co/models?pipeline_tag=sentence-similarity) 中的 Embedding 模型,已支持的 Embedding 模型如下: - - [moka-ai/m3e-small](https://huggingface.co/moka-ai/m3e-small) - [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) - [moka-ai/m3e-large](https://huggingface.co/moka-ai/m3e-large) @@ -197,7 +137,7 @@ Following models are tested by developers with Embedding class of [HuggingFace]( --- -## Docker image (Docker 部署) +## Docker image 🐳 Docker image path: `registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0)` @@ -211,32 +151,20 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch - Please note that you do not need to install the CUDA toolkit on the host system, but you need to install the `NVIDIA Driver` and the `NVIDIA Container Toolkit`, please refer to the [Installation Guide](https://docs.nvidia.com/datacenter/cloud -native/container-toolkit/latest/install-guide.html) - It takes a certain amount of time to pull and start for the first time. When starting for the first time, please refer to the figure below to use `docker logs -f ` to view the log. - If the startup process is stuck in the `Waiting..` step, it is recommended to use `docker exec -it bash` to enter the `/logs/` directory to view the corresponding stage logs -- 该版本镜像大小 `33.9GB`,使用 `v0.2.0`,以 `nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04` 为基础镜像 -- 该版本内置一个 `embedding` 模型:`m3e-large`,内置 `chatglm2-6b-32k` -- 该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序 -- 请注意,您不需要在主机系统上安装CUDA工具包,但需要安装 `NVIDIA Driver` 以及 `NVIDIA Container Toolkit`,请参考[安装指南](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) -- 首次拉取和启动均需要一定时间,首次启动时请参照下图使用 `docker logs -f ` 查看日志 -- 如遇到启动过程卡在 `Waiting..` 步骤,建议使用 `docker exec -it bash` 进入 `/logs/` 目录查看对应阶段日志 --- -## Deployment(开发部署) +## Deployment -### Enviroment Preresiquisite(软件需求) +### Enviroment Preresiquisite The project is tested under Python3.8-python 3.10, CUDA 11.0-CUDA11.7, Windows, macOS of ARM architecture, and Linux platform. -本项目已在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成测试。已在 Windows、ARM 架构的 macOS、Linux 系统中完成测试。 - -### 1. Preparing Depolyment Enviroment(开发环境准备) +### 1. Preparing Depolyment Enviroment Please refer to [install.md](docs/INSTALL.md) -参见 [开发环境准备](docs/INSTALL.md)。 - -**请注意:** `0.2.0` 及更新版本的依赖包与 `0.1.x` 版本依赖包可能发生冲突,强烈建议新建环境后重新安装依赖包。 - -### 2. Downloading model to local disk(下载模型至本地) +### 2. Downloading model to local disk **For offline deployment only!** @@ -252,19 +180,7 @@ $ git clone https://huggingface.co/THUDM/chatglm2-6b $ git clone https://huggingface.co/moka-ai/m3e-base ``` -如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 [HuggingFace](https://huggingface.co/models) 下载。 - -以本项目中默认使用的 LLM 模型 [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b) 与 Embedding 模型 [moka-ai/m3e-base](https://huggingface.co/moka-ai/m3e-base) 为例: - -下载模型需要先[安装Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage),然后运行 - -```Shell -$ git clone https://huggingface.co/THUDM/chatglm2-6b - -$ git clone https://huggingface.co/moka-ai/m3e-base -``` - -### 3. Setting Configuration(设置配置项) +### 3. Setting Configuration Copy the model-related parameter configuration template file [configs/model_config.py.example](configs/model_config.py.example) and save it in the `./configs` path under the project path, and rename it to `model_config.py`. @@ -291,35 +207,7 @@ embedding_model_dict = { } ``` -复制模型相关参数配置模板文件 [configs/model_config.py.example](configs/model_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `model_config.py`。 - -复制服务相关参数配置模板文件 [configs/server_config.py.example](configs/server_config.py.example) 存储至项目路径下 `./configs` 路径下,并重命名为 `server_config.py`。 - -在开始执行 Web UI 或命令行交互前,请先检查 `configs/model_config.py` 和 `configs/server_config.py` 中的各项模型参数设计是否符合需求: - -- 请确认已下载至本地的 LLM 模型本地存储路径写在 `llm_model_dict` 对应模型的 `local_model_path` 属性中,如: - -```python -llm_model_dict={ - "chatglm2-6b": { - "local_model_path": "/Users/xxx/Downloads/chatglm2-6b", - "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" - "api_key": "EMPTY" - }, - } -``` - -- 请确认已下载至本地的 Embedding 模型本地存储路径写在 `embedding_model_dict` 对应模型位置,如: - -```python -embedding_model_dict = { - "m3e-base": "/Users/xxx/Downloads/m3e-base", - } -``` - -如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 - -### 4. Knowledge Base Migration(知识库初始化与迁移) +### 4. Knowledge Base Migration The knowledge base information is stored in the database, please initialize the database before running the project (we strongly recommend one back up the knowledge files before performing operations). @@ -334,22 +222,9 @@ The knowledge base information is stored in the database, please initialize the $ python init_database.py --recreate-vs ``` -当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。 +### 5. Luanching API Service or WebUI with One Command -- 如果您是从 `0.1.x` 版本升级过来的用户,针对已建立的知识库,请确认知识库的向量库类型、Embedding 模型与 `configs/model_config.py` 中默认设置一致,如无变化只需以下命令将现有知识库信息添加到数据库即可: - - ```shell - $ python init_database.py - ``` -- 如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 `normalize_L2`,需要以下命令初始化或重建知识库: - - ```shell - $ python init_database.py --recreate-vs - ``` - -### 5. Luanching API Service or WebUI with One Command(一键启动API 服务或 Web UI) - -#### 5.1 Command(启动命令) +#### 5.1 Command The script is `startuppy`, you can luanch all fastchat related, API,WebUI service with is, here is an example: @@ -366,36 +241,15 @@ optional args including: `-a(or --all-webui), --all-api, --llm-api, -c(or --cont * `model-worker` means to launch model worker of FastChat only * any other optional arg is to launch one particular function only -一键启动脚本 startup.py,一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码: +#### 5.2 Launch none-default model -```shell -$ python startup.py -a -``` - -并可使用 `Ctrl + C` 直接关闭所有运行服务。如果一次结束不了,可以多按几次。 - -可选参数包括 `-a (或--all-webui)`, `--all-api`, `--llm-api`, `-c (或--controller)`, `--openai-api`, -`-m (或--model-worker)`, `--api`, `--webui`,其中: - -- `--all-webui` 为一键启动 WebUI 所有依赖服务; -- `--all-api` 为一键启动 API 所有依赖服务; -- `--llm-api` 为一键启动 Fastchat 所有依赖的 LLM 服务; -- `--openai-api` 为仅启动 FastChat 的 controller 和 openai-api-server 服务; -- 其他为单独服务启动选项。 - -#### 5.2 Launch none default model(启动非默认模型) - -If you want to specify a none default model, use `--model-name` arg, here is a example: - -若想指定非默认模型,需要用 `--model-name` 选项,示例: +If you want to specify a none-default model, use `--model-name` arg, here is a example: ```shell $ python startup.py --all-webui --model-name Qwen-7B-Chat ``` -更多信息可通过 `python startup.py -h`查看。 - -#### 5.3 Load model with multi-gpus(多卡加载) +#### 5.3 Load model with multi-gpus If you want to load model with multi-gpus, then the following three parameters in `startup.create_model_worker_app` should be changed: @@ -411,7 +265,7 @@ where: * `num_gpus` is about specifying the number of gpus to be used under `gpus`; * `max_gpu_memory` is about specifying the gpu memory of every gpu. -note: +note: * These parameters now can be specified by `server_config.FSCHST_MODEL_WORKERD`. * In some extreme senses, `gpus` doesn't work, then one should specify the used gpus with environment variable `CUDA_VISIBLE_DEVICES`, here is an example: @@ -420,29 +274,7 @@ note: CUDA_VISIBLE_DEVICES=0,1 python startup.py -a ``` -项目支持多卡加载,需在 startup.py 中的 create_model_worker_app 函数中,修改如下三个参数: - -```python -gpus=None, -num_gpus=1, -max_gpu_memory="20GiB" -``` - -其中,`gpus` 控制使用的显卡的ID,例如 "0,1"; - -`num_gpus` 控制使用的卡数; - -`max_gpu_memory` 控制每个卡使用的显存容量。 - -注1:server_config.py的FSCHAT_MODEL_WORKERS字典中也增加了相关配置,如有需要也可通过修改FSCHAT_MODEL_WORKERS字典中对应参数实现多卡加载。 - -注2:少数情况下,gpus参数会不生效,此时需要通过设置环境变量CUDA_VISIBLE_DEVICES来指定torch可见的gpu,示例代码: - -```shell -CUDA_VISIBLE_DEVICES=0,1 python startup.py -a -``` - -#### 5.4 Load PEFT(PEFT 加载) +#### 5.4 Load PEFT Including lora,p-tuning,prefix tuning, prompt tuning,ia3 @@ -450,180 +282,38 @@ This project loads the LLM service based on FastChat, so one must load the PEFT If the above method fails, you need to start standard fastchat service step by step. Step-by-step procedure could be found Section 6. For further steps, please refer to [Model invalid after loading lora fine-tuning](https://github. com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). -本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含.bin 格式的 PEFT 权重,peft路径在startup.py中create_model_worker_app函数的args.model_names中指定,并开启环境变量PEFT_SHARE_BASE_WEIGHTS=true参数。 - -注:如果上述方式启动失败,则需要以标准的fastchat服务启动方式分步启动,分步启动步骤参考第六节,PEFT加载详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822). - -#### **5.5 Some Notes(注意事项)** +#### **5.5 Some Notes** 1. **The `startup.py` uses multi-process mode to start the services of each module, which may cause printing order problems. Please wait for all services to be initiated before calling, and call the service according to the default or specified port (default LLM API service port: `127.0.0.1:8888 `, default API service port:`127.0.0.1:7861 `, default WebUI service port: `127.0.0.1: 8501`)** 2. **The startup time of the service differs across devices, usually it takes 3-10 minutes. If it does not start for a long time, please go to the `./logs` directory to monitor the logs and locate the problem.** 3. **Using ctrl+C to exit on Linux may cause orphan processes due to the multi-process mechanism of Linux. You can exit through `shutdown_all.sh`** -**1. startup 脚本用多进程方式启动各模块的服务,可能会导致打印顺序问题,请等待全部服务发起后再调用,并根据默认或指定端口调用服务(默认 LLM API 服务端口:`127.0.0.1:8888`,默认 API 服务端口:`127.0.0.1:7861`,默认 WebUI 服务端口:`127.0.0.1:8501`)** - -**2.服务启动时间示设备不同而不同,约 3-10 分钟,如长时间没有启动请前往 `./logs`目录下监控日志,定位问题。** - -**3. 在Linux上使用ctrl+C退出可能会由于linux的多进程机制导致multiprocessing遗留孤儿进程,可通过shutdown_all.sh进行退出** - -#### 5.6 Interface Examples(启动界面示例) +#### 5.6 Interface Examples The API, chat interface of WebUI, and knowledge management interface of WebUI are list below respectively. -1. FastAPI docs 界面 +1. FastAPI docs ![](img/fastapi_docs_020_0.png) -2. webui启动界面示例: +2. Chat Interface of WebUI -- Web UI 对话界面: - ![img](img/webui_0813_0.png) -- Web UI 知识库管理页面: - ![](img/webui_0813_1.png) +![img](img/webui_0813_0.png) -### 6 Luanching API Service or WebUI step-by-step(分步启动 API 服务或 Web UI) +- Knowledge management interface of WebUI + ![img](img/webui_0813_1.png) + +### 6 Luanching API Service or WebUI step-by-step **The developers will depreciate step-by-step procudure in the future one or two version, feel free to ignore this part.** -注意:如使用了一键启动方式,可忽略本节。 - -#### 6.1 启动 LLM 服务 - -如需使用开源模型进行本地部署,需首先启动 LLM 服务,启动方式分为三种: - -- [基于多进程脚本 llm_api.py 启动 LLM 服务](README.md#5.1.1-基于多进程脚本-llm_api.py-启动-LLM-服务) -- [基于命令行脚本 llm_api_stale.py 启动 LLM 服务](README.md#5.1.2-基于命令行脚本-llm_api_stale.py-启动-LLM-服务) -- [PEFT 加载](README.md#5.1.3-PEFT-加载) - -三种方式只需选择一个即可,具体操作方式详见 5.1.1 - 5.1.3。 - -如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务,即 5.1 小节的任何命令均无需启动。 - -##### 6.1.1 基于多进程脚本 llm_api.py 启动 LLM 服务 - -在项目根目录下,执行 [server/llm_api.py](server/llm_api.py) 脚本启动 **LLM 模型**服务: - -```shell -$ python server/llm_api.py -``` - -项目支持多卡加载,需在 llm_api.py 中的 create_model_worker_app 函数中,修改如下三个参数: - -```python -gpus=None, -num_gpus=1, -max_gpu_memory="20GiB" -``` - -其中,`gpus` 控制使用的显卡的ID,如果 "0,1"; - -`num_gpus` 控制使用的卡数; - -`max_gpu_memory` 控制每个卡使用的显存容量。 - -##### 6.1.2 基于命令行脚本 llm_api_stale.py 启动 LLM 服务 - -⚠️ **注意:** - -**1.llm_api_stale.py脚本原生仅适用于linux,mac设备需要安装对应的linux命令,win平台请使用wsl;** - -**2.加载非默认模型需要用命令行参数--model-path-address指定模型,不会读取model_config.py配置;** - -在项目根目录下,执行 [server/llm_api_stale.py](server/llm_api_stale.py) 脚本启动 **LLM 模型**服务: - -```shell -$ python server/llm_api_stale.py -``` - -该方式支持启动多个worker,示例启动方式: - -```shell -$ python server/llm_api_stale.py --model-path-address model1@host1@port1 model2@host2@port2 -``` - -如果出现server端口占用情况,需手动指定server端口,并同步修改model_config.py下对应模型的base_api_url为指定端口: - -```shell -$ python server/llm_api_stale.py --server-port 8887 -``` - -如果要启动多卡加载,示例命令如下: - -```shell -$ python server/llm_api_stale.py --gpus 0,1 --num-gpus 2 --max-gpu-memory 10GiB -``` - -注:以如上方式启动LLM服务会以nohup命令在后台运行 FastChat 服务,如需停止服务,可以运行如下命令: - -```shell -$ python server/llm_api_shutdown.py --serve all -``` - -亦可单独停止一个 FastChat 服务模块,可选 [`all`, `controller`, `model_worker`, `openai_api_server`] - -##### 6.1.3 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) - -本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含 model.bin 格式的 PEFT 权重。 -详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822) - -![image](https://github.com/chatchat-space/Langchain-Chatchat/assets/22924096/4e056c1c-5c4b-4865-a1af-859cd58a625d) - -#### 6.2 启动 API 服务 - -本地部署情况下,按照 [5.1 节](README.md#5.1-启动-LLM-服务)**启动 LLM 服务后**,再执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; - -在线调用API服务的情况下,直接执执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; - -调用命令示例: - -```shell -$ python server/api.py -``` - -启动 API 服务后,可访问 `localhost:7861` 或 `{API 所在服务器 IP}:7861` FastAPI 自动生成的 docs 进行接口查看与测试。 - -- FastAPI docs 界面 - - ![](img/fastapi_docs_020_0.png) - -#### 6.3 启动 Web UI 服务 - -按照 [5.2 节](README.md#5.2-启动-API-服务)**启动 API 服务后**,执行 [webui.py](webui.py) 启动 **Web UI** 服务(默认使用端口 `8501`) - -```shell -$ streamlit run webui.py -``` - -使用 Langchain-Chatchat 主题色启动 **Web UI** 服务(默认使用端口 `8501`) - -```shell -$ streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000" -``` - -或使用以下命令指定启动 **Web UI** 服务并指定端口号 - -```shell -$ streamlit run webui.py --server.port 666 -``` - -- Web UI 对话界面: - - ![](img/webui_0813_0.png) -- Web UI 知识库管理页面: - - ![](img/webui_0813_1.png) - ---- - -## FAQ(常见问题) +## FAQ Please refer to [FAQ](docs/FAQ.md) -参见 [常见问题](docs/FAQ.md)。 - --- -## Roadmap(路线图) +## Roadmap - [X] Langchain applications @@ -658,44 +348,9 @@ Please refer to [FAQ](docs/FAQ.md) - [X] Web UI - [X] Streamlit -based Web UI -- [X] Langchain 应用 - - - [X] 本地数据接入 - - [X] 接入非结构化文档 - - [X] .md - - [X] .txt - - [X] .docx - - [ ] 结构化数据接入 - - [X] .csv - - [ ] .xlsx - - [ ] 分词及召回 - - [ ] 接入不同类型 TextSplitter - - [ ] 优化依据中文标点符号设计的 ChineseTextSplitter - - [ ] 重新实现上下文拼接召回 - - [ ] 本地网页接入 - - [ ] SQL 接入 - - [ ] 知识图谱/图数据库接入 - - [X] 搜索引擎接入 - - [X] Bing 搜索 - - [X] DuckDuckGo 搜索 - - [ ] Agent 实现 -- [X] LLM 模型接入 - - - [X] 支持通过调用 [FastChat](https://github.com/lm-sys/fastchat) api 调用 llm - - [ ] 支持 ChatGLM API 等 LLM API 的接入 -- [X] Embedding 模型接入 - - - [X] 支持调用 HuggingFace 中各开源 Emebdding 模型 - - [ ] 支持 OpenAI Embedding API 等 Embedding API 的接入 -- [X] 基于 FastAPI 的 API 方式调用 -- [X] Web UI - - - [X] 基于 Streamlit 的 Web UI --- -## WeChat Group QR Code(项目交流群) +## WeChat Group QR Code -二维码 - -🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 +二维码 From 4cfee9c17cf8b860ade20220f3aaa5a16f69e3ad Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Fri, 8 Sep 2023 10:22:04 +0800 Subject: [PATCH 21/60] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9ApiRequest=E5=92=8Cwebui?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E3=80=82=E4=BF=AE=E6=94=B9=E5=90=8E=E9=A2=84=E6=9C=9Fwebui?= =?UTF-8?q?=E4=B8=AD=E6=89=B9=E9=87=8F=E7=9F=A5=E8=AF=86=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=93=8D=E4=BD=9C=E5=87=8F=E5=B0=91=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/api/test_kb_api.py | 4 +- tests/api/test_kb_api_request.py | 161 +++++++++++++++++++ webui_pages/knowledge_base/knowledge_base.py | 28 ++-- webui_pages/utils.py | 132 ++++++++++----- 4 files changed, 265 insertions(+), 60 deletions(-) create mode 100644 tests/api/test_kb_api_request.py diff --git a/tests/api/test_kb_api.py b/tests/api/test_kb_api.py index 3e371cf1..ed4e8b21 100644 --- a/tests/api/test_kb_api.py +++ b/tests/api/test_kb_api.py @@ -8,13 +8,11 @@ sys.path.append(str(root_path)) from server.utils import api_address from configs.model_config import VECTOR_SEARCH_TOP_K from server.knowledge_base.utils import get_kb_path, get_file_path -from webui_pages.utils import ApiRequest from pprint import pprint api_base_url = api_address() -api = ApiRequest(api_base_url) kb = "kb_for_api_test" @@ -24,6 +22,8 @@ test_files = { "test.txt": get_file_path("samples", "test.txt"), } +print("\n\n直接url访问\n") + def test_delete_kb_before(api="/knowledge_base/delete_knowledge_base"): if not Path(get_kb_path(kb)).exists(): diff --git a/tests/api/test_kb_api_request.py b/tests/api/test_kb_api_request.py new file mode 100644 index 00000000..a0d15ced --- /dev/null +++ b/tests/api/test_kb_api_request.py @@ -0,0 +1,161 @@ +import requests +import json +import sys +from pathlib import Path + +root_path = Path(__file__).parent.parent.parent +sys.path.append(str(root_path)) +from server.utils import api_address +from configs.model_config import VECTOR_SEARCH_TOP_K +from server.knowledge_base.utils import get_kb_path, get_file_path +from webui_pages.utils import ApiRequest + +from pprint import pprint + + +api_base_url = api_address() +api: ApiRequest = ApiRequest(api_base_url) + + +kb = "kb_for_api_test" +test_files = { + "FAQ.MD": str(root_path / "docs" / "FAQ.MD"), + "README.MD": str(root_path / "README.MD"), + "test.txt": get_file_path("samples", "test.txt"), +} + +print("\n\nApiRquest调用\n") + + +def test_delete_kb_before(): + if not Path(get_kb_path(kb)).exists(): + return + + data = api.delete_knowledge_base(kb) + pprint(data) + assert data["code"] == 200 + assert isinstance(data["data"], list) and len(data["data"]) > 0 + assert kb not in data["data"] + + +def test_create_kb(): + print(f"\n尝试用空名称创建知识库:") + data = api.create_knowledge_base(" ") + pprint(data) + assert data["code"] == 404 + assert data["msg"] == "知识库名称不能为空,请重新填写知识库名称" + + print(f"\n创建新知识库: {kb}") + data = api.create_knowledge_base(kb) + pprint(data) + assert data["code"] == 200 + assert data["msg"] == f"已新增知识库 {kb}" + + print(f"\n尝试创建同名知识库: {kb}") + data = api.create_knowledge_base(kb) + pprint(data) + assert data["code"] == 404 + assert data["msg"] == f"已存在同名知识库 {kb}" + + +def test_list_kbs(): + data = api.list_knowledge_bases() + pprint(data) + assert isinstance(data, list) and len(data) > 0 + assert kb in data + + +def test_upload_docs(): + files = list(test_files.values()) + + print(f"\n上传知识文件") + data = {"knowledge_base_name": kb, "override": True} + data = api.upload_kb_docs(files, **data) + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 + + print(f"\n尝试重新上传知识文件, 不覆盖") + data = {"knowledge_base_name": kb, "override": False} + data = api.upload_kb_docs(files, **data) + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == len(test_files) + + print(f"\n尝试重新上传知识文件, 覆盖,自定义docs") + docs = {"FAQ.MD": [{"page_content": "custom docs", "metadata": {}}]} + data = {"knowledge_base_name": kb, "override": True, "docs": json.dumps(docs)} + data = api.upload_kb_docs(files, **data) + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 + + +def test_list_files(): + print("\n获取知识库中文件列表:") + data = api.list_kb_docs(knowledge_base_name=kb) + pprint(data) + assert isinstance(data, list) + for name in test_files: + assert name in data + + +def test_search_docs(): + query = "介绍一下langchain-chatchat项目" + print("\n检索知识库:") + print(query) + data = api.search_kb_docs(query, kb) + pprint(data) + assert isinstance(data, list) and len(data) == VECTOR_SEARCH_TOP_K + + +def test_update_docs(): + print(f"\n更新知识文件") + data = api.update_kb_docs(knowledge_base_name=kb, file_names=list(test_files)) + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 + + +def test_delete_docs(): + print(f"\n删除知识文件") + data = api.delete_kb_docs(knowledge_base_name=kb, file_names=list(test_files)) + pprint(data) + assert data["code"] == 200 + assert len(data["data"]["failed_files"]) == 0 + + query = "介绍一下langchain-chatchat项目" + print("\n尝试检索删除后的检索知识库:") + print(query) + data = api.search_kb_docs(query, kb) + pprint(data) + assert isinstance(data, list) and len(data) == 0 + + +def test_recreate_vs(): + print("\n重建知识库:") + r = api.recreate_vector_store(kb) + for data in r: + assert isinstance(data, dict) + assert data["code"] == 200 + print(data["msg"]) + + query = "本项目支持哪些文件格式?" + print("\n尝试检索重建后的检索知识库:") + print(query) + data = api.search_kb_docs(query, kb) + pprint(data) + assert isinstance(data, list) and len(data) == VECTOR_SEARCH_TOP_K + + +def test_delete_kb_after(): + print("\n删除知识库") + data = api.delete_knowledge_base(kb) + pprint(data) + + # check kb not exists anymore + print("\n获取知识库列表:") + data = api.list_knowledge_bases() + pprint(data) + assert isinstance(data, list) and len(data) > 0 + assert kb not in data diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index 0889ca54..17b35d47 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -127,7 +127,7 @@ def knowledge_base_page(api: ApiRequest): # 上传文件 # sentence_size = st.slider("文本入库分句长度限制", 1, 1000, SENTENCE_SIZE, disabled=True) - files = st.file_uploader("上传知识文件(暂不支持扫描PDF)", + files = st.file_uploader("上传知识文件", [i for ls in LOADER_DICT.values() for i in ls], accept_multiple_files=True, ) @@ -138,14 +138,11 @@ def knowledge_base_page(api: ApiRequest): # use_container_width=True, disabled=len(files) == 0, ): - data = [{"file": f, "knowledge_base_name": kb, "not_refresh_vs_cache": True} for f in files] - data[-1]["not_refresh_vs_cache"]=False - for k in data: - ret = api.upload_kb_doc(**k) - if msg := check_success_msg(ret): - st.toast(msg, icon="✔") - elif msg := check_error_msg(ret): - st.toast(msg, icon="✖") + ret = api.upload_kb_docs(files, knowledge_base_name=kb, override=True) + if msg := check_success_msg(ret): + st.toast(msg, icon="✔") + elif msg := check_error_msg(ret): + st.toast(msg, icon="✖") st.session_state.files = [] st.divider() @@ -217,8 +214,8 @@ def knowledge_base_page(api: ApiRequest): disabled=not file_exists(kb, selected_rows)[0], use_container_width=True, ): - for row in selected_rows: - api.update_kb_doc(kb, row["file_name"]) + file_names = [row["file_name"] for row in selected_rows] + api.update_kb_docs(kb, file_names=file_names) st.experimental_rerun() # 将文件从向量库中删除,但不删除文件本身。 @@ -227,8 +224,8 @@ def knowledge_base_page(api: ApiRequest): disabled=not (selected_rows and selected_rows[0]["in_db"]), use_container_width=True, ): - for row in selected_rows: - api.delete_kb_doc(kb, row["file_name"]) + file_names = [row["file_name"] for row in selected_rows] + api.delete_kb_docs(kb, file_names=file_names) st.experimental_rerun() if cols[3].button( @@ -236,9 +233,8 @@ def knowledge_base_page(api: ApiRequest): type="primary", use_container_width=True, ): - for row in selected_rows: - ret = api.delete_kb_doc(kb, row["file_name"], True) - st.toast(ret.get("msg", " ")) + file_names = [row["file_name"] for row in selected_rows] + api.delete_kb_docs(kb, file_names=file_names, delete_content=True) st.experimental_rerun() st.divider() diff --git a/webui_pages/utils.py b/webui_pages/utils.py index e14df665..27843f8c 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -509,13 +509,45 @@ class ApiRequest: data = self._check_httpx_json_response(response) return data.get("data", []) + def search_kb_docs( + self, + query: str, + knowledge_base_name: str, + top_k: int = VECTOR_SEARCH_TOP_K, + score_threshold: int = SCORE_THRESHOLD, + no_remote_api: bool = None, + ) -> List: + ''' + 对应api.py/knowledge_base/search_docs接口 + ''' + if no_remote_api is None: + no_remote_api = self.no_remote_api + + data = { + "query": query, + "knowledge_base_name": knowledge_base_name, + "top_k": top_k, + "score_threshold": score_threshold, + } + + if no_remote_api: + from server.knowledge_base.kb_doc_api import search_docs + return search_docs(**data) + else: + response = self.post( + "/knowledge_base/search_docs", + json=data, + ) + data = self._check_httpx_json_response(response) + return data + def upload_kb_docs( self, files: List[Union[str, Path, bytes]], knowledge_base_name: str, override: bool = False, to_vector_store: bool = True, - docs: List[Dict] = [], + docs: Dict = {}, not_refresh_vs_cache: bool = False, no_remote_api: bool = None, ): @@ -525,97 +557,113 @@ class ApiRequest: if no_remote_api is None: no_remote_api = self.no_remote_api - if isinstance(file, bytes): # raw bytes - file = BytesIO(file) - elif hasattr(file, "read"): # a file io like object - filename = filename or file.name - else: # a local path - file = Path(file).absolute().open("rb") - filename = filename or file.name + def convert_file(file, filename=None): + if isinstance(file, bytes): # raw bytes + file = BytesIO(file) + elif hasattr(file, "read"): # a file io like object + filename = filename or file.name + else: # a local path + file = Path(file).absolute().open("rb") + filename = filename or file.name + return filename, file + + files = [convert_file(file) for file in files] + data={ + "knowledge_base_name": knowledge_base_name, + "override": override, + "to_vector_store": to_vector_store, + "docs": docs, + "not_refresh_vs_cache": not_refresh_vs_cache, + } if no_remote_api: - from server.knowledge_base.kb_doc_api import upload_doc + from server.knowledge_base.kb_doc_api import upload_docs from fastapi import UploadFile from tempfile import SpooledTemporaryFile - temp_file = SpooledTemporaryFile(max_size=10 * 1024 * 1024) - temp_file.write(file.read()) - temp_file.seek(0) - response = run_async(upload_doc( - UploadFile(file=temp_file, filename=filename), - knowledge_base_name, - override, - )) + upload_files = [] + for file, filename in files: + temp_file = SpooledTemporaryFile(max_size=10 * 1024 * 1024) + temp_file.write(file.read()) + temp_file.seek(0) + upload_files.append(UploadFile(file=temp_file, filename=filename)) + + response = run_async(upload_docs(upload_files, **data)) return response.dict() else: + if isinstance(data["docs"], dict): + data["docs"] = json.dumps(data["docs"], ensure_ascii=False) response = self.post( - "/knowledge_base/upload_doc", - data={ - "knowledge_base_name": knowledge_base_name, - "override": override, - "not_refresh_vs_cache": not_refresh_vs_cache, - }, - files={"file": (filename, file)}, + "/knowledge_base/upload_docs", + data=data, + files=[("files", (filename, file)) for filename, file in files], ) return self._check_httpx_json_response(response) - def delete_kb_doc( + def delete_kb_docs( self, knowledge_base_name: str, - doc_name: str, + file_names: List[str], delete_content: bool = False, not_refresh_vs_cache: bool = False, no_remote_api: bool = None, ): ''' - 对应api.py/knowledge_base/delete_doc接口 + 对应api.py/knowledge_base/delete_docs接口 ''' if no_remote_api is None: no_remote_api = self.no_remote_api data = { "knowledge_base_name": knowledge_base_name, - "doc_name": doc_name, + "file_names": file_names, "delete_content": delete_content, "not_refresh_vs_cache": not_refresh_vs_cache, } if no_remote_api: - from server.knowledge_base.kb_doc_api import delete_doc - response = run_async(delete_doc(**data)) + from server.knowledge_base.kb_doc_api import delete_docs + response = run_async(delete_docs(**data)) return response.dict() else: response = self.post( - "/knowledge_base/delete_doc", + "/knowledge_base/delete_docs", json=data, ) return self._check_httpx_json_response(response) - def update_kb_doc( + def update_kb_docs( self, knowledge_base_name: str, - file_name: str, + file_names: List[str], + override_custom_docs: bool = False, + docs: Dict = {}, not_refresh_vs_cache: bool = False, no_remote_api: bool = None, ): ''' - 对应api.py/knowledge_base/update_doc接口 + 对应api.py/knowledge_base/update_docs接口 ''' if no_remote_api is None: no_remote_api = self.no_remote_api + data = { + "knowledge_base_name": knowledge_base_name, + "file_names": file_names, + "override_custom_docs": override_custom_docs, + "docs": docs, + "not_refresh_vs_cache": not_refresh_vs_cache, + } if no_remote_api: - from server.knowledge_base.kb_doc_api import update_doc - response = run_async(update_doc(knowledge_base_name, file_name)) + from server.knowledge_base.kb_doc_api import update_docs + response = run_async(update_docs(**data)) return response.dict() else: + if isinstance(data["docs"], dict): + data["docs"] = json.dumps(data["docs"], ensure_ascii=False) response = self.post( - "/knowledge_base/update_doc", - json={ - "knowledge_base_name": knowledge_base_name, - "file_name": file_name, - "not_refresh_vs_cache": not_refresh_vs_cache, - }, + "/knowledge_base/update_docs", + json=data, ) return self._check_httpx_json_response(response) From 775870a51696f9550550b192aa1813764238f45f Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:25:02 +0800 Subject: [PATCH 22/60] =?UTF-8?q?=E6=94=B9=E5=8F=98api=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E7=9A=84sync/async=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E9=AB=98api=E5=B9=B6=E5=8F=91=E8=83=BD=E5=8A=9B=EF=BC=9A=20(#1?= =?UTF-8?q?414)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 4个chat类接口改为async 2. 知识库操作,涉及向量库修改的使用async,避免FAISS写入错误;涉及向量库读取的改为sync,提高并发 --- server/chat/chat.py | 4 ++-- server/chat/knowledge_base_chat.py | 18 +++++++-------- server/chat/openai_chat.py | 9 ++++---- server/chat/search_engine_chat.py | 34 +++++++++++++++-------------- server/knowledge_base/kb_api.py | 2 +- server/knowledge_base/kb_doc_api.py | 10 ++++----- webui_pages/utils.py | 16 ++++++++------ 7 files changed, 48 insertions(+), 45 deletions(-) diff --git a/server/chat/chat.py b/server/chat/chat.py index ba23a5a1..b4fd6bba 100644 --- a/server/chat/chat.py +++ b/server/chat/chat.py @@ -12,8 +12,8 @@ from typing import List from server.chat.utils import History -def chat(query: str = Body(..., description="用户输入", examples=["恼羞成怒"]), - history: List[History] = Body([], +async def chat(query: str = Body(..., description="用户输入", examples=["恼羞成怒"]), + history: List[History] = Body([], description="历史对话", examples=[[ {"role": "user", "content": "我们来玩成语接龙,我先来,生龙活虎"}, diff --git a/server/chat/knowledge_base_chat.py b/server/chat/knowledge_base_chat.py index 69ec25dd..9aa0d5da 100644 --- a/server/chat/knowledge_base_chat.py +++ b/server/chat/knowledge_base_chat.py @@ -18,11 +18,11 @@ from urllib.parse import urlencode from server.knowledge_base.kb_doc_api import search_docs -def knowledge_base_chat(query: str = Body(..., description="用户输入", examples=["你好"]), - knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), - top_k: int = Body(VECTOR_SEARCH_TOP_K, description="匹配向量数"), - score_threshold: float = Body(SCORE_THRESHOLD, description="知识库匹配相关度阈值,取值范围在0-1之间,SCORE越小,相关度越高,取到1相当于不筛选,建议设置在0.5左右", ge=0, le=1), - history: List[History] = Body([], +async def knowledge_base_chat(query: str = Body(..., description="用户输入", examples=["你好"]), + knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), + top_k: int = Body(VECTOR_SEARCH_TOP_K, description="匹配向量数"), + score_threshold: float = Body(SCORE_THRESHOLD, description="知识库匹配相关度阈值,取值范围在0-1之间,SCORE越小,相关度越高,取到1相当于不筛选,建议设置在0.5左右", ge=0, le=1), + history: List[History] = Body([], description="历史对话", examples=[[ {"role": "user", @@ -30,10 +30,10 @@ def knowledge_base_chat(query: str = Body(..., description="用户输入", examp {"role": "assistant", "content": "虎头虎脑"}]] ), - stream: bool = Body(False, description="流式输出"), - model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), - local_doc_url: bool = Body(False, description="知识文件返回本地路径(true)或URL(false)"), - request: Request = None, + stream: bool = Body(False, description="流式输出"), + model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), + local_doc_url: bool = Body(False, description="知识文件返回本地路径(true)或URL(false)"), + request: Request = None, ): kb = KBServiceFactory.get_service_by_name(knowledge_base_name) if kb is None: diff --git a/server/chat/openai_chat.py b/server/chat/openai_chat.py index a799c623..24140908 100644 --- a/server/chat/openai_chat.py +++ b/server/chat/openai_chat.py @@ -29,13 +29,13 @@ async def openai_chat(msg: OpenAiChatMsgIn): print(f"{openai.api_base=}") print(msg) - def get_response(msg): + async def get_response(msg): data = msg.dict() try: - response = openai.ChatCompletion.create(**data) + response = await openai.ChatCompletion.acreate(**data) if msg.stream: - for data in response: + async for data in response: if choices := data.choices: if chunk := choices[0].get("delta", {}).get("content"): print(chunk, end="", flush=True) @@ -46,8 +46,7 @@ async def openai_chat(msg: OpenAiChatMsgIn): print(answer) yield(answer) except Exception as e: - print(type(e)) - logger.error(e) + logger.error(f"获取ChatCompletion时出错:{e}") return StreamingResponse( get_response(msg), diff --git a/server/chat/search_engine_chat.py b/server/chat/search_engine_chat.py index 8fe7dae6..a77106f1 100644 --- a/server/chat/search_engine_chat.py +++ b/server/chat/search_engine_chat.py @@ -2,6 +2,7 @@ from langchain.utilities import BingSearchAPIWrapper, DuckDuckGoSearchAPIWrapper from configs.model_config import BING_SEARCH_URL, BING_SUBSCRIPTION_KEY from fastapi import Body from fastapi.responses import StreamingResponse +from fastapi.concurrency import run_in_threadpool from configs.model_config import (llm_model_dict, LLM_MODEL, SEARCH_ENGINE_TOP_K, PROMPT_TEMPLATE) from server.chat.utils import wrap_done from server.utils import BaseResponse @@ -47,29 +48,30 @@ def search_result2docs(search_results): return docs -def lookup_search_engine( +async def lookup_search_engine( query: str, search_engine_name: str, top_k: int = SEARCH_ENGINE_TOP_K, ): - results = SEARCH_ENGINES[search_engine_name](query, result_len=top_k) + search_engine = SEARCH_ENGINES[search_engine_name] + results = await run_in_threadpool(search_engine, query, result_len=top_k) docs = search_result2docs(results) return docs -def search_engine_chat(query: str = Body(..., description="用户输入", examples=["你好"]), - search_engine_name: str = Body(..., description="搜索引擎名称", examples=["duckduckgo"]), - top_k: int = Body(SEARCH_ENGINE_TOP_K, description="检索结果数量"), - history: List[History] = Body([], - description="历史对话", - examples=[[ - {"role": "user", - "content": "我们来玩成语接龙,我先来,生龙活虎"}, - {"role": "assistant", - "content": "虎头虎脑"}]] - ), - stream: bool = Body(False, description="流式输出"), - model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), +async def search_engine_chat(query: str = Body(..., description="用户输入", examples=["你好"]), + search_engine_name: str = Body(..., description="搜索引擎名称", examples=["duckduckgo"]), + top_k: int = Body(SEARCH_ENGINE_TOP_K, description="检索结果数量"), + history: List[History] = Body([], + description="历史对话", + examples=[[ + {"role": "user", + "content": "我们来玩成语接龙,我先来,生龙活虎"}, + {"role": "assistant", + "content": "虎头虎脑"}]] + ), + stream: bool = Body(False, description="流式输出"), + model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), ): if search_engine_name not in SEARCH_ENGINES.keys(): return BaseResponse(code=404, msg=f"未支持搜索引擎 {search_engine_name}") @@ -96,7 +98,7 @@ def search_engine_chat(query: str = Body(..., description="用户输入", exampl openai_proxy=llm_model_dict[model_name].get("openai_proxy") ) - docs = lookup_search_engine(query, search_engine_name, top_k) + docs = await lookup_search_engine(query, search_engine_name, top_k) context = "\n".join([doc.page_content for doc in docs]) input_msg = History(role="user", content=PROMPT_TEMPLATE).to_msg_template(False) diff --git a/server/knowledge_base/kb_api.py b/server/knowledge_base/kb_api.py index 4b135feb..0648a397 100644 --- a/server/knowledge_base/kb_api.py +++ b/server/knowledge_base/kb_api.py @@ -7,7 +7,7 @@ from configs.model_config import EMBEDDING_MODEL, logger from fastapi import Body -async def list_kbs(): +def list_kbs(): # Get List of Knowledge Base return ListResponse(data=list_kbs_from_db()) diff --git a/server/knowledge_base/kb_doc_api.py b/server/knowledge_base/kb_doc_api.py index 24b1c8ed..6539217e 100644 --- a/server/knowledge_base/kb_doc_api.py +++ b/server/knowledge_base/kb_doc_api.py @@ -34,7 +34,7 @@ def search_docs(query: str = Body(..., description="用户输入", examples=[" return data -async def list_files( +def list_files( knowledge_base_name: str ) -> ListResponse: if not validate_kb_name(knowledge_base_name): @@ -258,10 +258,10 @@ async def update_docs( return BaseResponse(code=200, msg=f"更新文档完成", data={"failed_files": failed_files}) -async def download_doc( - knowledge_base_name: str = Query(...,description="知识库名称", examples=["samples"]), - file_name: str = Query(...,description="文件名称", examples=["test.txt"]), - preview: bool = Query(False, description="是:浏览器内预览;否:下载"), +def download_doc( + knowledge_base_name: str = Query(...,description="知识库名称", examples=["samples"]), + file_name: str = Query(...,description="文件名称", examples=["test.txt"]), + preview: bool = Query(False, description="是:浏览器内预览;否:下载"), ): ''' 下载知识库文档 diff --git a/webui_pages/utils.py b/webui_pages/utils.py index 27843f8c..0292c2ae 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -48,6 +48,8 @@ class ApiRequest: self.base_url = base_url self.timeout = timeout self.no_remote_api = no_remote_api + if no_remote_api: + logger.warn("将来可能取消对no_remote_api的支持,更新版本时请注意。") def _parse_url(self, url: str) -> str: if (not url.startswith("http") @@ -270,7 +272,7 @@ class ApiRequest: if no_remote_api: from server.chat.openai_chat import openai_chat - response = openai_chat(msg) + response = run_async(openai_chat(msg)) return self._fastapi_stream2generator(response) else: data = msg.dict(exclude_unset=True, exclude_none=True) @@ -280,7 +282,7 @@ class ApiRequest: response = self.post( "/chat/fastchat", json=data, - stream=stream, + stream=True, ) return self._httpx_stream2generator(response) @@ -310,7 +312,7 @@ class ApiRequest: if no_remote_api: from server.chat.chat import chat - response = chat(**data) + response = run_async(chat(**data)) return self._fastapi_stream2generator(response) else: response = self.post("/chat/chat", json=data, stream=True) @@ -349,7 +351,7 @@ class ApiRequest: if no_remote_api: from server.chat.knowledge_base_chat import knowledge_base_chat - response = knowledge_base_chat(**data) + response = run_async(knowledge_base_chat(**data)) return self._fastapi_stream2generator(response, as_json=True) else: response = self.post( @@ -387,7 +389,7 @@ class ApiRequest: if no_remote_api: from server.chat.search_engine_chat import search_engine_chat - response = search_engine_chat(**data) + response = run_async(search_engine_chat(**data)) return self._fastapi_stream2generator(response, as_json=True) else: response = self.post( @@ -427,7 +429,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_api import list_kbs - response = run_async(list_kbs()) + response = list_kbs() return response.data else: response = self.get("/knowledge_base/list_knowledge_bases") @@ -499,7 +501,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_doc_api import list_files - response = run_async(list_files(knowledge_base_name)) + response = list_files(knowledge_base_name) return response.data else: response = self.get( From f94f2793f8228b06f8766ea10023f45d6e6fef76 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Fri, 8 Sep 2023 15:18:13 +0800 Subject: [PATCH 23/60] update startup.py: (#1416) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 恢复模型切换功能 2. --model-name支持多个名称(空格分开),同时启动多个模型 3. 优化服务启动顺序。严格按照顺序启动:controller -> [openai-api, model_worker, api_worker]并行 -> api.py -> webui.py 4. 修复:从在线API模型切换到本地模型时失败 --- .gitignore | 1 + startup.py | 264 +++++++++++++++++-------------- webui_pages/dialogue/dialogue.py | 6 +- 3 files changed, 153 insertions(+), 118 deletions(-) diff --git a/.gitignore b/.gitignore index a7ef90f8..af754407 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ __pycache__/ configs/*.py .vscode/ .pytest_cache/ +*.bak diff --git a/startup.py b/startup.py index 591e3b10..15af03e7 100644 --- a/startup.py +++ b/startup.py @@ -3,7 +3,8 @@ import multiprocessing as mp import os import subprocess import sys -from multiprocessing import Process, Queue +from multiprocessing import Process +from datetime import datetime from pprint import pprint # 设置numexpr最大线程数,默认为CPU核心数 @@ -19,7 +20,7 @@ sys.path.append(os.path.dirname(os.path.dirname(__file__))) from configs.model_config import EMBEDDING_MODEL, llm_model_dict, LLM_MODEL, LOG_PATH, \ logger from configs.server_config import (WEBUI_SERVER, API_SERVER, FSCHAT_CONTROLLER, - FSCHAT_OPENAI_API, ) + FSCHAT_OPENAI_API, HTTPX_DEFAULT_TIMEOUT) from server.utils import (fschat_controller_address, fschat_model_worker_address, fschat_openai_api_address, set_httpx_timeout, get_model_worker_config, get_all_model_worker_configs, @@ -47,7 +48,7 @@ def create_controller_app( return app -def create_model_worker_app(log_level: str = "INFO", **kwargs) -> Tuple[argparse.ArgumentParser, FastAPI]: +def create_model_worker_app(log_level: str = "INFO", **kwargs) -> FastAPI: import fastchat.constants fastchat.constants.LOGDIR = LOG_PATH from fastchat.serve.model_worker import app, GptqConfig, AWQConfig, ModelWorker, worker_id, logger @@ -188,29 +189,15 @@ def create_openai_api_app( return app -def _set_app_seq(app: FastAPI, q: Queue, run_seq: int): - if q is None or not isinstance(run_seq, int): - return - - if run_seq == 1: - @app.on_event("startup") - async def on_startup(): - set_httpx_timeout() - q.put(run_seq) - elif run_seq > 1: - @app.on_event("startup") - async def on_startup(): - set_httpx_timeout() - while True: - no = q.get() - if no != run_seq - 1: - q.put(no) - else: - break - q.put(run_seq) +def _set_app_event(app: FastAPI, started_event: mp.Event = None): + @app.on_event("startup") + async def on_startup(): + set_httpx_timeout() + if started_event is not None: + started_event.set() -def run_controller(q: Queue, run_seq: int = 1, log_level: str = "INFO", e: mp.Event = None): +def run_controller(log_level: str = "INFO", started_event: mp.Event = None): import uvicorn import httpx from fastapi import Body @@ -221,12 +208,7 @@ def run_controller(q: Queue, run_seq: int = 1, log_level: str = "INFO", e: mp.Ev dispatch_method=FSCHAT_CONTROLLER.get("dispatch_method"), log_level=log_level, ) - _set_app_seq(app, q, run_seq) - - @app.on_event("startup") - def on_startup(): - if e is not None: - e.set() + _set_app_event(app, started_event) # add interface to release and load model worker @app.post("/release_worker") @@ -266,7 +248,7 @@ def run_controller(q: Queue, run_seq: int = 1, log_level: str = "INFO", e: mp.Ev return {"code": 500, "msg": msg} if new_model_name: - timer = 300 # wait 5 minutes for new model_worker register + timer = HTTPX_DEFAULT_TIMEOUT * 2 # wait for new model_worker register while timer > 0: models = app._controller.list_models() if new_model_name in models: @@ -299,9 +281,9 @@ def run_controller(q: Queue, run_seq: int = 1, log_level: str = "INFO", e: mp.Ev def run_model_worker( model_name: str = LLM_MODEL, controller_address: str = "", - q: Queue = None, - run_seq: int = 2, log_level: str = "INFO", + q: mp.Queue = None, + started_event: mp.Event = None, ): import uvicorn from fastapi import Body @@ -317,7 +299,7 @@ def run_model_worker( kwargs["model_path"] = model_path app = create_model_worker_app(log_level=log_level, **kwargs) - _set_app_seq(app, q, run_seq) + _set_app_event(app, started_event) if log_level == "ERROR": sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__ @@ -325,29 +307,29 @@ def run_model_worker( # add interface to release and load model @app.post("/release") def release_model( - new_model_name: str = Body(None, description="释放后加载该模型"), - keep_origin: bool = Body(False, description="不释放原模型,加载新模型") + new_model_name: str = Body(None, description="释放后加载该模型"), + keep_origin: bool = Body(False, description="不释放原模型,加载新模型") ) -> Dict: if keep_origin: if new_model_name: - q.put(["start", new_model_name]) + q.put([model_name, "start", new_model_name]) else: if new_model_name: - q.put(["replace", new_model_name]) + q.put([model_name, "replace", new_model_name]) else: - q.put(["stop"]) + q.put([model_name, "stop", None]) return {"code": 200, "msg": "done"} uvicorn.run(app, host=host, port=port, log_level=log_level.lower()) -def run_openai_api(q: Queue, run_seq: int = 3, log_level: str = "INFO"): +def run_openai_api(log_level: str = "INFO", started_event: mp.Event = None): import uvicorn import sys controller_addr = fschat_controller_address() app = create_openai_api_app(controller_addr, log_level=log_level) # TODO: not support keys yet. - _set_app_seq(app, q, run_seq) + _set_app_event(app, started_event) host = FSCHAT_OPENAI_API["host"] port = FSCHAT_OPENAI_API["port"] @@ -357,12 +339,12 @@ def run_openai_api(q: Queue, run_seq: int = 3, log_level: str = "INFO"): uvicorn.run(app, host=host, port=port) -def run_api_server(q: Queue, run_seq: int = 4): +def run_api_server(started_event: mp.Event = None): from server.api import create_app import uvicorn app = create_app() - _set_app_seq(app, q, run_seq) + _set_app_event(app, started_event) host = API_SERVER["host"] port = API_SERVER["port"] @@ -370,21 +352,14 @@ def run_api_server(q: Queue, run_seq: int = 4): uvicorn.run(app, host=host, port=port) -def run_webui(q: Queue, run_seq: int = 5): +def run_webui(started_event: mp.Event = None): host = WEBUI_SERVER["host"] port = WEBUI_SERVER["port"] - if q is not None and isinstance(run_seq, int): - while True: - no = q.get() - if no != run_seq - 1: - q.put(no) - else: - break - q.put(run_seq) p = subprocess.Popen(["streamlit", "run", "webui.py", "--server.address", host, "--server.port", str(port)]) + started_event.set() p.wait() @@ -427,8 +402,9 @@ def parse_args() -> argparse.ArgumentParser: "-n", "--model-name", type=str, - default=LLM_MODEL, - help="specify model name for model worker.", + nargs="+", + default=[LLM_MODEL], + help="specify model name for model worker. add addition names with space seperated to start multiple model workers.", dest="model_name", ) parser.add_argument( @@ -483,11 +459,12 @@ def dump_server_info(after_start=False, args=None): print(f"langchain版本:{langchain.__version__}. fastchat版本:{fastchat.__version__}") print("\n") - model = LLM_MODEL + models = [LLM_MODEL] if args and args.model_name: - model = args.model_name - print(f"当前LLM模型:{model} @ {llm_device()}") - pprint(llm_model_dict[model]) + models = args.model_name + print(f"当前启动的LLM模型:{models} @ {llm_device()}") + for model in models: + pprint(llm_model_dict[model]) print(f"当前Embbedings模型: {EMBEDDING_MODEL} @ {embedding_device()}") if after_start: @@ -554,10 +531,10 @@ async def start_main_server(): logger.info(f"正在启动服务:") logger.info(f"如需查看 llm_api 日志,请前往 {LOG_PATH}") - processes = {"online-api": []} + processes = {"online_api": {}, "model_worker": {}} def process_count(): - return len(processes) + len(processes["online-api"]) - 1 + return len(processes) + len(processes["online_api"]) - 1 if args.quiet: log_level = "ERROR" @@ -569,63 +546,73 @@ async def start_main_server(): process = Process( target=run_controller, name=f"controller", - args=(queue, process_count() + 1, log_level, controller_started), + kwargs=dict(log_level=log_level, started_event=controller_started), daemon=True, ) - processes["controller"] = process process = Process( target=run_openai_api, name=f"openai_api", - args=(queue, process_count() + 1), daemon=True, ) processes["openai_api"] = process + model_worker_started = [] if args.model_worker: - config = get_model_worker_config(args.model_name) - if not config.get("online_api"): - process = Process( - target=run_model_worker, - name=f"model_worker - {args.model_name}", - args=(args.model_name, args.controller_address, queue, process_count() + 1, log_level), - daemon=True, - ) - - processes["model_worker"] = process + for model_name in args.model_name: + config = get_model_worker_config(model_name) + if not config.get("online_api"): + e = manager.Event() + model_worker_started.append(e) + process = Process( + target=run_model_worker, + name=f"model_worker - {model_name}", + kwargs=dict(model_name=model_name, + controller_address=args.controller_address, + log_level=log_level, + q=queue, + started_event=e), + daemon=True, + ) + processes["model_worker"][model_name] = process if args.api_worker: configs = get_all_model_worker_configs() for model_name, config in configs.items(): if config.get("online_api") and config.get("worker_class"): + e = manager.Event() + model_worker_started.append(e) process = Process( target=run_model_worker, - name=f"model_worker - {model_name}", - args=(model_name, args.controller_address, queue, process_count() + 1, log_level), + name=f"api_worker - {model_name}", + kwargs=dict(model_name=model_name, + controller_address=args.controller_address, + log_level=log_level, + q=queue, + started_event=e), daemon=True, ) + processes["online_api"][model_name] = process - processes["online-api"].append(process) - + api_started = manager.Event() if args.api: process = Process( target=run_api_server, name=f"API Server", - args=(queue, process_count() + 1), + kwargs=dict(started_event=api_started), daemon=True, ) - processes["api"] = process + webui_started = manager.Event() if args.webui: process = Process( target=run_webui, name=f"WEBUI Server", - args=(queue, process_count() + 1), + kwargs=dict(started_event=webui_started), daemon=True, ) - processes["webui"] = process if process_count() == 0: @@ -636,60 +623,106 @@ async def start_main_server(): if p:= processes.get("controller"): p.start() p.name = f"{p.name} ({p.pid})" - controller_started.wait() + controller_started.wait() # 等待controller启动完成 if p:= processes.get("openai_api"): p.start() p.name = f"{p.name} ({p.pid})" - if p:= processes.get("model_worker"): + for n, p in processes.get("model_worker", {}).items(): p.start() p.name = f"{p.name} ({p.pid})" - for p in processes.get("online-api", []): + for n, p in processes.get("online_api", []).items(): p.start() p.name = f"{p.name} ({p.pid})" + # 等待所有model_worker启动完成 + for e in model_worker_started: + e.wait() + if p:= processes.get("api"): p.start() p.name = f"{p.name} ({p.pid})" + api_started.wait() # 等待api.py启动完成 if p:= processes.get("webui"): p.start() p.name = f"{p.name} ({p.pid})" + webui_started.wait() # 等待webui.py启动完成 + + dump_server_info(after_start=True, args=args) while True: - no = queue.get() - if no == process_count(): - time.sleep(0.5) - dump_server_info(after_start=True, args=args) - break - else: - queue.put(no) + cmd = queue.get() # 收到切换模型的消息 + e = manager.Event() + if isinstance(cmd, list): + model_name, cmd, new_model_name = cmd + if cmd == "start": # 运行新模型 + logger.info(f"准备启动新模型进程:{new_model_name}") + process = Process( + target=run_model_worker, + name=f"model_worker - {new_model_name}", + kwargs=dict(model_name=new_model_name, + controller_address=args.controller_address, + log_level=log_level, + q=queue, + started_event=e), + daemon=True, + ) + process.start() + process.name = f"{process.name} ({process.pid})" + processes["model_worker"][new_model_name] = process + e.wait() + logger.info(f"成功启动新模型进程:{new_model_name}") + elif cmd == "stop": + if process := processes["model_worker"].get(model_name): + time.sleep(1) + process.terminate() + process.join() + logger.info(f"停止模型进程:{model_name}") + else: + logger.error(f"未找到模型进程:{model_name}") + elif cmd == "replace": + if process := processes["model_worker"].pop(model_name, None): + logger.info(f"停止模型进程:{model_name}") + start_time = datetime.now() + time.sleep(1) + process.terminate() + process.join() + process = Process( + target=run_model_worker, + name=f"model_worker - {new_model_name}", + kwargs=dict(model_name=new_model_name, + controller_address=args.controller_address, + log_level=log_level, + q=queue, + started_event=e), + daemon=True, + ) + process.start() + process.name = f"{process.name} ({process.pid})" + processes["model_worker"][new_model_name] = process + e.wait() + timing = datetime.now() - start_time + logger.info(f"成功启动新模型进程:{new_model_name}。用时:{timing}。") + else: + logger.error(f"未找到模型进程:{model_name}") - if model_worker_process := processes.get("model_worker"): - model_worker_process.join() - for process in processes.get("online-api", []): - process.join() - for name, process in processes.items(): - if name not in ["model_worker", "online-api"]: - if isinstance(p, list): - for work_process in p: - work_process.join() - else: - process.join() + + # for process in processes.get("model_worker", {}).values(): + # process.join() + # for process in processes.get("online_api", {}).values(): + # process.join() + + # for name, process in processes.items(): + # if name not in ["model_worker", "online_api"]: + # if isinstance(p, dict): + # for work_process in p.values(): + # work_process.join() + # else: + # process.join() except Exception as e: - # if model_worker_process := processes.pop("model_worker", None): - # model_worker_process.terminate() - # for process in processes.pop("online-api", []): - # process.terminate() - # for process in processes.values(): - # - # if isinstance(process, list): - # for work_process in process: - # work_process.terminate() - # else: - # process.terminate() logger.error(e) logger.warning("Caught KeyboardInterrupt! Setting stop event...") finally: @@ -702,10 +735,9 @@ async def start_main_server(): # Queues and other inter-process communication primitives can break when # process is killed, but we don't care here - if isinstance(p, list): - for process in p: + if isinstance(p, dict): + for process in p.values(): process.kill() - else: p.kill() diff --git a/webui_pages/dialogue/dialogue.py b/webui_pages/dialogue/dialogue.py index 25b885b3..947be745 100644 --- a/webui_pages/dialogue/dialogue.py +++ b/webui_pages/dialogue/dialogue.py @@ -65,7 +65,9 @@ def dialogue_page(api: ApiRequest): ) def on_llm_change(): - st.session_state["prev_llm_model"] = llm_model + config = get_model_worker_config(llm_model) + if not config.get("online_api"): # 只有本地model_worker可以切换模型 + st.session_state["prev_llm_model"] = llm_model def llm_model_format_func(x): if x in running_models: @@ -91,7 +93,7 @@ def dialogue_page(api: ApiRequest): ) if (st.session_state.get("prev_llm_model") != llm_model and not get_model_worker_config(llm_model).get("online_api")): - with st.spinner(f"正在加载模型: {llm_model}"): + with st.spinner(f"正在加载模型: {llm_model},请勿进行操作或刷新页面"): r = api.change_llm_model(st.session_state.get("prev_llm_model"), llm_model) st.session_state["prev_llm_model"] = llm_model From f082edbaadce220e47dda6415872a04f680ef773 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Fri, 8 Sep 2023 15:23:54 +0800 Subject: [PATCH 24/60] fix startup.py: correct processes count --- startup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/startup.py b/startup.py index 15af03e7..5681009b 100644 --- a/startup.py +++ b/startup.py @@ -534,7 +534,11 @@ async def start_main_server(): processes = {"online_api": {}, "model_worker": {}} def process_count(): +<<<<<<< Updated upstream return len(processes) + len(processes["online_api"]) - 1 +======= + return len(processes) + len(processes["online_api"]) + len(processes["model_worker"]) - 2 +>>>>>>> Stashed changes if args.quiet: log_level = "ERROR" From 228fc5bd93052a83264f1de48dc1d8a466b89851 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Fri, 8 Sep 2023 15:24:43 +0800 Subject: [PATCH 25/60] fix startup.py: correct processes count --- startup.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/startup.py b/startup.py index 5681009b..cdf3397c 100644 --- a/startup.py +++ b/startup.py @@ -534,11 +534,7 @@ async def start_main_server(): processes = {"online_api": {}, "model_worker": {}} def process_count(): -<<<<<<< Updated upstream - return len(processes) + len(processes["online_api"]) - 1 -======= return len(processes) + len(processes["online_api"]) + len(processes["model_worker"]) - 2 ->>>>>>> Stashed changes if args.quiet: log_level = "ERROR" From 5550e3c1a9d6741d9d366cfe52dd4b8c16ae978a Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Fri, 8 Sep 2023 20:48:31 +0800 Subject: [PATCH 26/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E6=97=A5=E5=BF=97=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 2 + server/api.py | 8 +++- server/chat/openai_chat.py | 6 ++- server/chat/utils.py | 5 +- server/knowledge_base/kb_api.py | 8 ++-- server/knowledge_base/kb_doc_api.py | 23 ++++++---- .../kb_service/faiss_kb_service.py | 6 +-- server/knowledge_base/migrate.py | 6 ++- server/knowledge_base/utils.py | 15 ++++-- server/llm_api.py | 4 +- server/utils.py | 17 ++++--- webui_pages/utils.py | 46 +++++++++++++------ 12 files changed, 97 insertions(+), 49 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index fc89be32..f67fbd4b 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -5,6 +5,8 @@ LOG_FORMAT = "%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(mes logger = logging.getLogger() logger.setLevel(logging.INFO) logging.basicConfig(format=LOG_FORMAT) +# 是否显示详细日志 +log_verbose = False # 在以下字典中修改属性值,以指定本地embedding模型存储位置 diff --git a/server/api.py b/server/api.py index 74426cce..a6d08271 100644 --- a/server/api.py +++ b/server/api.py @@ -6,7 +6,7 @@ sys.path.append(os.path.dirname(os.path.dirname(__file__))) from configs.model_config import LLM_MODEL, NLTK_DATA_PATH from configs.server_config import OPEN_CROSS_DOMAIN, HTTPX_DEFAULT_TIMEOUT -from configs import VERSION +from configs import VERSION, logger, log_verbose import argparse import uvicorn from fastapi import Body @@ -140,6 +140,8 @@ def create_app(): r = httpx.post(controller_address + "/list_models") return BaseResponse(data=r.json()["models"]) except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) return BaseResponse( code=500, data=[], @@ -165,6 +167,8 @@ def create_app(): ) return r.json() except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) return BaseResponse( code=500, msg=f"failed to stop LLM model {model_name} from controller: {controller_address}。错误信息是: {e}") @@ -190,6 +194,8 @@ def create_app(): ) return r.json() except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) return BaseResponse( code=500, msg=f"failed to switch LLM model from controller: {controller_address}。错误信息是: {e}") diff --git a/server/chat/openai_chat.py b/server/chat/openai_chat.py index 24140908..857ac979 100644 --- a/server/chat/openai_chat.py +++ b/server/chat/openai_chat.py @@ -1,7 +1,7 @@ from fastapi.responses import StreamingResponse from typing import List import openai -from configs.model_config import llm_model_dict, LLM_MODEL, logger +from configs.model_config import llm_model_dict, LLM_MODEL, logger, log_verbose from pydantic import BaseModel @@ -46,7 +46,9 @@ async def openai_chat(msg: OpenAiChatMsgIn): print(answer) yield(answer) except Exception as e: - logger.error(f"获取ChatCompletion时出错:{e}") + msg = f"获取ChatCompletion时出错:{e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return StreamingResponse( get_response(msg), diff --git a/server/chat/utils.py b/server/chat/utils.py index 2167f10e..a80648b1 100644 --- a/server/chat/utils.py +++ b/server/chat/utils.py @@ -2,6 +2,7 @@ import asyncio from typing import Awaitable, List, Tuple, Dict, Union from pydantic import BaseModel, Field from langchain.prompts.chat import ChatMessagePromptTemplate +from configs import logger, log_verbose async def wrap_done(fn: Awaitable, event: asyncio.Event): @@ -10,7 +11,9 @@ async def wrap_done(fn: Awaitable, event: asyncio.Event): await fn except Exception as e: # TODO: handle exception - print(f"Caught exception: {e}") + msg = f"Caught exception: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) finally: # Signal the aiter to stop. event.set() diff --git a/server/knowledge_base/kb_api.py b/server/knowledge_base/kb_api.py index 0648a397..a6efa68a 100644 --- a/server/knowledge_base/kb_api.py +++ b/server/knowledge_base/kb_api.py @@ -3,7 +3,7 @@ from server.utils import BaseResponse, ListResponse from server.knowledge_base.utils import validate_kb_name from server.knowledge_base.kb_service.base import KBServiceFactory from server.db.repository.knowledge_base_repository import list_kbs_from_db -from configs.model_config import EMBEDDING_MODEL, logger +from configs.model_config import EMBEDDING_MODEL, logger, log_verbose from fastapi import Body @@ -31,7 +31,8 @@ async def create_kb(knowledge_base_name: str = Body(..., examples=["samples"]), kb.create_kb() except Exception as e: msg = f"创建知识库出错: {e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return BaseResponse(code=500, msg=msg) return BaseResponse(code=200, msg=f"已新增知识库 {knowledge_base_name}") @@ -57,7 +58,8 @@ async def delete_kb( return BaseResponse(code=200, msg=f"成功删除知识库 {knowledge_base_name}") except Exception as e: msg = f"删除知识库时出现意外: {e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return BaseResponse(code=500, msg=msg) return BaseResponse(code=500, msg=f"删除知识库失败 {knowledge_base_name}") diff --git a/server/knowledge_base/kb_doc_api.py b/server/knowledge_base/kb_doc_api.py index 6539217e..b80ce2d7 100644 --- a/server/knowledge_base/kb_doc_api.py +++ b/server/knowledge_base/kb_doc_api.py @@ -3,7 +3,7 @@ import urllib from fastapi import File, Form, Body, Query, UploadFile from configs.model_config import (DEFAULT_VS_TYPE, EMBEDDING_MODEL, VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD, - logger,) + logger, log_verbose,) from server.utils import BaseResponse, ListResponse, run_in_thread_pool from server.knowledge_base.utils import (validate_kb_name, list_files_from_folder,get_file_path, files2docs_in_thread, KnowledgeFile) @@ -80,7 +80,8 @@ def _save_files_in_thread(files: List[UploadFile], return dict(code=200, msg=f"成功上传文件 {filename}", data=data) except Exception as e: msg = f"{filename} 文件上传失败,报错信息为: {e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return dict(code=500, msg=msg, data=data) params = [{"file": file, "knowledge_base_name": knowledge_base_name, "override": override} for file in files] @@ -100,7 +101,7 @@ def _save_files_in_thread(files: List[UploadFile], # yield json.dumps(result, ensure_ascii=False) # return StreamingResponse(generate(files, knowledge_base_name=knowledge_base_name, override=override), media_type="text/event-stream") - + # TODO: 等langchain.document_loaders支持内存文件的时候再开通 # def files2docs(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), @@ -141,7 +142,7 @@ async def upload_docs(files: List[UploadFile] = File(..., description="上传文 filename = result["data"]["file_name"] if result["code"] != 200: failed_files[filename] = result["msg"] - + if filename not in file_names: file_names.append(filename) @@ -185,9 +186,10 @@ async def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]) kb.delete_doc(kb_file, delete_content, not_refresh_vs_cache=True) except Exception as e: msg = f"{file_name} 文件删除失败,错误信息:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) failed_files[file_name] = msg - + if not not_refresh_vs_cache: kb.save_vector_store() @@ -225,7 +227,8 @@ async def update_docs( kb_files.append(KnowledgeFile(filename=file_name, knowledge_base_name=knowledge_base_name)) except Exception as e: msg = f"加载文档 {file_name} 时出错:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) failed_files[file_name] = msg # 从文件生成docs,并进行向量化。 @@ -249,7 +252,8 @@ async def update_docs( kb.update_doc(kb_file, docs=v, not_refresh_vs_cache=True) except Exception as e: msg = f"为 {file_name} 添加自定义docs时出错:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) failed_files[file_name] = msg if not not_refresh_vs_cache: @@ -291,7 +295,8 @@ def download_doc( ) except Exception as e: msg = f"{kb_file.filename} 读取文件失败,错误信息是:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return BaseResponse(code=500, msg=msg) return BaseResponse(code=500, msg=f"{kb_file.filename} 读取文件失败") diff --git a/server/knowledge_base/kb_service/faiss_kb_service.py b/server/knowledge_base/kb_service/faiss_kb_service.py index a8fc17d5..c415b822 100644 --- a/server/knowledge_base/kb_service/faiss_kb_service.py +++ b/server/knowledge_base/kb_service/faiss_kb_service.py @@ -6,7 +6,7 @@ from configs.model_config import ( CACHED_VS_NUM, EMBEDDING_MODEL, SCORE_THRESHOLD, - logger, + logger, log_verbose, ) from server.knowledge_base.kb_service.base import KBService, SupportedVSType from functools import lru_cache @@ -46,7 +46,7 @@ def load_faiss_vector_store( ids = [k for k, v in search_index.docstore._dict.items()] search_index.delete(ids) search_index.save_local(vs_path) - + if tick == 0: # vector store is loaded first time _VECTOR_STORE_TICKS[knowledge_base_name] = 0 @@ -166,4 +166,4 @@ if __name__ == '__main__': faissService.add_doc(KnowledgeFile("README.md", "test")) faissService.delete_doc(KnowledgeFile("README.md", "test")) faissService.do_drop_kb() - print(faissService.search_docs("如何启动api服务")) \ No newline at end of file + print(faissService.search_docs("如何启动api服务")) diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index c11c00d2..100a2497 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -1,4 +1,4 @@ -from configs.model_config import EMBEDDING_MODEL, DEFAULT_VS_TYPE +from configs.model_config import EMBEDDING_MODEL, DEFAULT_VS_TYPE, logger, log_verbose from server.knowledge_base.utils import (get_file_path, list_kbs_from_folder, list_files_from_folder, run_in_thread_pool, files2docs_in_thread, @@ -30,7 +30,9 @@ def file_to_kbfile(kb_name: str, files: List[str]) -> List[KnowledgeFile]: kb_file = KnowledgeFile(filename=file, knowledge_base_name=kb_name) kb_files.append(kb_file) except Exception as e: - print(f"{e},已跳过") + msg = f"{e},已跳过" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return kb_files diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index 9de4e7c7..a5b107ae 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -8,7 +8,7 @@ from configs.model_config import ( CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, - logger, + logger, log_verbose, ) from functools import lru_cache import importlib @@ -189,7 +189,9 @@ def get_loader(loader_name: str, file_path_or_content: Union[str, bytes, io.Stri document_loaders_module = importlib.import_module('langchain.document_loaders') DocumentLoader = getattr(document_loaders_module, loader_name) except Exception as e: - logger.error(f"为文件{file_path_or_content}查找加载器{loader_name}时出错:{e}") + msg = f"为文件{file_path_or_content}查找加载器{loader_name}时出错:{e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) document_loaders_module = importlib.import_module('langchain.document_loaders') DocumentLoader = getattr(document_loaders_module, "UnstructuredFileLoader") @@ -228,7 +230,9 @@ def make_text_splitter( chunk_overlap=chunk_overlap, ) except Exception as e: - logger.error(f"查找分词器 {splitter_name} 时出错:{e}") + msg = f"查找分词器 {splitter_name} 时出错:{e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") text_splitter = TextSplitter( chunk_size=chunk_size, @@ -330,7 +334,8 @@ def files2docs_in_thread( return True, (file.kb_name, file.filename, file.file2text(**kwargs)) except Exception as e: msg = f"从文件 {file.kb_name}/{file.filename} 加载文档时出错:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return False, (file.kb_name, file.filename, msg) kwargs_list = [] @@ -345,7 +350,7 @@ def files2docs_in_thread( file = KnowledgeFile(filename=filename, knowledge_base_name=kb_name) kwargs["file"] = file kwargs_list.append(kwargs) - + for result in run_in_thread_pool(func=file2docs, params=kwargs_list, pool=pool): yield result diff --git a/server/llm_api.py b/server/llm_api.py index d9667e4f..e4f012bf 100644 --- a/server/llm_api.py +++ b/server/llm_api.py @@ -4,7 +4,7 @@ import sys import os sys.path.append(os.path.dirname(os.path.dirname(__file__))) -from configs.model_config import llm_model_dict, LLM_MODEL, LOG_PATH, logger +from configs.model_config import llm_model_dict, LLM_MODEL, LOG_PATH, logger, log_verbose from server.utils import MakeFastAPIOffline, set_httpx_timeout, llm_device @@ -140,7 +140,7 @@ def create_model_worker_app( sys.modules["fastchat.serve.model_worker"].worker = worker sys.modules["fastchat.serve.model_worker"].args = args sys.modules["fastchat.serve.model_worker"].gptq_config = gptq_config - + MakeFastAPIOffline(app) app.title = f"FastChat LLM Server ({LLM_MODEL})" return app diff --git a/server/utils.py b/server/utils.py index 8d781248..163250de 100644 --- a/server/utils.py +++ b/server/utils.py @@ -4,7 +4,7 @@ from typing import List from fastapi import FastAPI from pathlib import Path import asyncio -from configs.model_config import LLM_MODEL, llm_model_dict, LLM_DEVICE, EMBEDDING_DEVICE +from configs.model_config import LLM_MODEL, llm_model_dict, LLM_DEVICE, EMBEDDING_DEVICE, logger, log_verbose from configs.server_config import FSCHAT_MODEL_WORKERS import os from server import model_workers @@ -86,9 +86,10 @@ def torch_gc(): from torch.mps import empty_cache empty_cache() except Exception as e: - print(e) - print("如果您使用的是 macOS 建议将 pytorch 版本升级至 2.0.0 或更高版本,以支持及时清理 torch 产生的内存占用。") - + msg=("如果您使用的是 macOS 建议将 pytorch 版本升级至 2.0.0 或更高版本," + "以支持及时清理 torch 产生的内存占用。") + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) def run_async(cor): ''' @@ -217,7 +218,9 @@ def get_model_worker_config(model_name: str = LLM_MODEL) -> dict: try: config["worker_class"] = getattr(model_workers, provider) except Exception as e: - print(f"在线模型 ‘{model_name}’ 的provider没有正确配置") + msg = f"在线模型 ‘{model_name}’ 的provider没有正确配置" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) config["device"] = llm_device(config.get("device") or LLM_DEVICE) return config @@ -322,11 +325,11 @@ def run_in_thread_pool( ''' tasks = [] pool = pool or thread_pool - + for kwargs in params: thread = pool.submit(func, **kwargs) tasks.append(thread) - + for obj in as_completed(tasks): yield obj.result() diff --git a/webui_pages/utils.py b/webui_pages/utils.py index 0292c2ae..cd9ebc08 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -11,7 +11,7 @@ from configs.model_config import ( SCORE_THRESHOLD, VECTOR_SEARCH_TOP_K, SEARCH_ENGINE_TOP_K, - logger, + logger, log_verbose, ) from configs.server_config import HTTPX_DEFAULT_TIMEOUT import httpx @@ -78,7 +78,9 @@ class ApiRequest: else: return httpx.get(url, params=params, **kwargs) except Exception as e: - logger.error(f"error when get {url}: {e}") + msg = f"error when get {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 async def aget( @@ -99,7 +101,9 @@ class ApiRequest: else: return await client.get(url, params=params, **kwargs) except Exception as e: - logger.error(f"error when aget {url}: {e}") + msg = f"error when aget {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 def post( @@ -121,7 +125,9 @@ class ApiRequest: else: return httpx.post(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(f"error when post {url}: {e}") + msg = f"error when post {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 async def apost( @@ -143,7 +149,9 @@ class ApiRequest: else: return await client.post(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(f"error when apost {url}: {e}") + msg = f"error when apost {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 def delete( @@ -164,7 +172,9 @@ class ApiRequest: else: return httpx.delete(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(f"error when delete {url}: {e}") + msg = f"error when delete {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 async def adelete( @@ -186,7 +196,9 @@ class ApiRequest: else: return await client.delete(url, data=data, json=json, **kwargs) except Exception as e: - logger.error(f"error when adelete {url}: {e}") + msg = f"error when adelete {url}: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) retry -= 1 def _fastapi_stream2generator(self, response: StreamingResponse, as_json: bool =False): @@ -197,7 +209,7 @@ class ApiRequest: loop = asyncio.get_event_loop() except: loop = asyncio.new_event_loop() - + try: for chunk in iter_over_async(response.body_iterator, loop): if as_json and chunk: @@ -205,7 +217,9 @@ class ApiRequest: elif chunk.strip(): yield chunk except Exception as e: - logger.error(f"error when run fastapi router: {e}") + msg = f"error when run fastapi router: {e}" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) def _httpx_stream2generator( self, @@ -226,7 +240,9 @@ class ApiRequest: pprint(data, depth=1) yield data except Exception as e: - logger.error(f"接口返回json错误: ‘{chunk}’。错误信息是:{e}。") + msg = f"接口返回json错误: ‘{chunk}’。错误信息是:{e}。" + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) else: print(chunk, end="", flush=True) yield chunk @@ -241,7 +257,8 @@ class ApiRequest: yield {"code": 500, "msg": msg} except Exception as e: msg = f"API通信遇到错误:{e}" - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) yield {"code": 500, "msg": msg} # 对话相关操作 @@ -414,7 +431,8 @@ class ApiRequest: return response.json() except Exception as e: msg = "API未能返回正确的JSON。" + (errorMsg or str(e)) - logger.error(msg) + logger.error(f'{e.__class__.__name__}: {msg}', + exc_info=e if log_verbose else None) return {"code": 500, "msg": msg} def list_knowledge_bases( @@ -531,7 +549,7 @@ class ApiRequest: "top_k": top_k, "score_threshold": score_threshold, } - + if no_remote_api: from server.knowledge_base.kb_doc_api import search_docs return search_docs(**data) @@ -736,7 +754,7 @@ class ApiRequest: json=data, ) return r.json() - + def change_llm_model( self, model_name: str, From b0a9d8f30e7ef4aa2cf92d540663f86e9f7e2c21 Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Fri, 8 Sep 2023 21:32:41 +0800 Subject: [PATCH 27/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BAocr?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E8=BF=9B=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- document_loaders/mypdfloader.py | 13 ++++++++++++- requirements.txt | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/document_loaders/mypdfloader.py b/document_loaders/mypdfloader.py index 71e063d6..c4236435 100644 --- a/document_loaders/mypdfloader.py +++ b/document_loaders/mypdfloader.py @@ -1,5 +1,6 @@ from typing import List from langchain.document_loaders.unstructured import UnstructuredFileLoader +import tqdm class RapidOCRPDFLoader(UnstructuredFileLoader): @@ -11,7 +12,14 @@ class RapidOCRPDFLoader(UnstructuredFileLoader): ocr = RapidOCR() doc = fitz.open(filepath) resp = "" - for page in doc: + + b_unit = tqdm.tqdm(total=doc.page_count, desc="RapidOCRPDFLoader context page index: 0") + for i, page in enumerate(doc): + + # 更新描述 + b_unit.set_description("RapidOCRPDFLoader context page index: {}".format(i)) + # 立即显示进度条更新结果 + b_unit.refresh() # TODO: 依据文本与图片顺序调整处理方式 text = page.get_text("") resp += text + "\n" @@ -24,6 +32,9 @@ class RapidOCRPDFLoader(UnstructuredFileLoader): if result: ocr_result = [line[1] for line in result] resp += "\n".join(ocr_result) + + # 更新进度 + b_unit.update(1) return resp text = pdf2text(self.file_path) diff --git a/requirements.txt b/requirements.txt index 910a9ed6..78972322 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,3 +33,4 @@ streamlit-chatbox>=1.1.6 streamlit-aggrid>=0.3.4.post3 httpx~=0.24.1 watchdog +tqdm From ed6df7cd24942c82f45a9ac8c74bcaa6ab7f1c82 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Sat, 9 Sep 2023 17:34:56 +0800 Subject: [PATCH 28/60] =?UTF-8?q?update=20readme.md,readme=5Fcn.md:?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E9=98=85=E5=8F=B7QRcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ README_en.md | 8 +++++++- image/README/1694251762513.png | Bin 0 -> 27349 bytes image/README_en/1694251973694.png | Bin 0 -> 255360 bytes image/README_en/1694252029167.png | Bin 0 -> 27349 bytes img/chatchat-qrcode.jpg | Bin 0 -> 27349 bytes 6 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 image/README/1694251762513.png create mode 100644 image/README_en/1694251973694.png create mode 100644 image/README_en/1694252029167.png create mode 100644 img/chatchat-qrcode.jpg diff --git a/README.md b/README.md index 3d0fe9f9..a12c0f00 100644 --- a/README.md +++ b/README.md @@ -491,3 +491,7 @@ $ streamlit run webui.py --server.port 666 二维码 🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 + +![1694251762513](image/README/1694251762513.png) + +🎉 langchain-ChatGLM 项目新开通了订阅号,欢迎订阅。 diff --git a/README_en.md b/README_en.md index 07b26037..4f61aac8 100644 --- a/README_en.md +++ b/README_en.md @@ -72,7 +72,7 @@ plese refer to [version change log](https://github.com/imClumsyPanda/langchain-C The default LLM model in the project is changed to [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b), and the default Embedding model is changed to [moka-ai/m3e-base](https:// huggingface.co/moka-ai/m3e-base). -### Supported LLM models +### Supported LLM models The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the API service of the open source LLM models, supported models include: @@ -354,3 +354,9 @@ Please refer to [FAQ](docs/FAQ.md) ## WeChat Group QR Code 二维码 + +**WeChat Group** + +![1694252029167](image/README_en/1694252029167.png) + +**WeChat Subscription** diff --git a/image/README/1694251762513.png b/image/README/1694251762513.png new file mode 100644 index 0000000000000000000000000000000000000000..a16a6081c327d22d0e64ccbe5a196d20f7f0027c GIT binary patch literal 27349 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 E2V=D79RL6T literal 0 HcmV?d00001 diff --git a/image/README_en/1694251973694.png b/image/README_en/1694251973694.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6d909fd3220ee18b330301f79726dc5f3dfbea GIT binary patch literal 255360 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ŨjZXIYzcWo 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

6?Z1J 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

RiMg(06`&jwi? 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≠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 diff --git a/img/webui_020_1.png b/img/webui_020_1.png deleted file mode 100644 index 1818c5dd9a0af9cf9f9dad84c0d69022ee372b17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156394 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%0A*>zxdF=Gbkmh8#7MV-0M-?*MT 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

Nmilr4$10pgR#x5EKd9j6V)lej0Fw&YbbQ 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

U)X>B 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

U*b40vPTdz?ofR`(I2lzJz$yg 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 z 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 P0%mA%O~3R!EbPAlK2*}R diff --git a/img/webui_0813_1.png b/img/webui_0813_1.png deleted file mode 100644 index c064727202d3f117afb2d5ce3730860599ca06ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139988 zcmeFZX*iqf*ESw))h&NqB4jv zNX%MVvl2nXSVDpzk|4tW*8SVZv-k6VKfTBCet3`fxj*1Y?&(_By4E_^xz5YeTQ{$Y z3QGxtKp@d;e_px+0trQeKszq{wiEbdx~JY41d0S*yJTn)>@b@lRB>Q(pw`sy!SX&G!ziHd|AoKc+bn@)!gHz&yN3g z-KP^7!JI!5qeZ06KGcgXA#xG+n&(&@vu(4pDzvuMIaUqLLMbfk*ztcJcj;j_D+Kob z>o7Op=5*Oi^lKn$4}cM6YZTZvYvVm&_Jie$w{*&(jBQgW@wf6j zfYIN$&2F9vRY#pTe*CULepcC7RxNPrCr?sRcGRUTDm(_SNbkNcGFTv9Uap~>%EGz< zPdQ+Ld|BXFawXotV(YS{-cB2%En|QA$k^_B-FEc{cj|ug$72F#+)9O!P)NZ~1!Utf zm?64wwSJBLdE3@gkC7f-T@mjE9%SW9clTMLscqRH(_Ug-17qKss_u31wg2q9vHj9ln!!5<8B_@y8^f%dxWA%@CzGU&wiO1L?5nPs8rQ z&MegWT-Vw$#=t&ZXqUdJf>Xv23)LNTD?@OCvV`# zD$7pxPJzYuBNW%y!u9O0m-({k$%6%Fj9A-tMY3~yzbp2m9Eut|tXDVu=1t$)?y)0! zCcc%q3YNR2XJ9XHZPod~=v^3g@yXM^;C>>c#8ez@SD6GpEwd}oC8mCuqq3}Q-h{Hi zLdymXoWUoN1|lyzpEYi_Dpdd8j}JlRRV3-@m??RR_~ zQM{w|@Ee2T`3xP26-M$h$VwjLxZ)_Q-&QT)hR{{F)mxpBGi~XXHL;I$=dt02zEzSY zn%hVUx_g2Uw|i9=y>Fp&_114GY97Ss*R5TFI#;QIt9f1N>^}Bm>t?DOEE!gw>*8jW zQGmc+XNPw0v7+5-YPZZE_(ta(y4OCO=?=4uaL(YQz*(}CrRCh5CB^PxX;-2>Ou)V4`76J}jX8<^v-q8A}|(uy%fHNggrdCXk=J``9#_ zzC0F-r|=Lftr$@bd+`quYyG8vn0tLKcE!7~J#CA^-?gXfQ)6_`eUtUN zHNvkxz20BdySaTVt9dIh%%J3i^*8?1On!s4EgDKvwR2**b@)1?lO(Fd5S+tYBG}pD z^%~s@wGMuw6?_pH=FxvEY;&%Bs1mi$YAnDx)67b6swK?go{iPJ=b5+&aR3EjeCi16$LX+o-bu&SPI0N} z;olS`Rf}J#>Sj@8O|W6ycFoxyu;N_zO__-Z=ta$K`3FFZxcB}Mu3w(de@$F_KmAB8 zY_NG=^j5yzz&3=waHMU!9n4-V4L&jrX8JSNQR?@dMTK4zPBE2AFi+8Q_1)&!Kw2~Q$96C#Do9k(5;bLN zVv{2*fxWXTG!!0>IC50UOYF{1M#ua};y>X%D8 z9P-|*WXlqlml(6JTMP8QK3A=7+So|Y@%r}Cne&yFMUm`oh7DHKr)qfBxr?a@V(fE@ ziO5X;_ZyVeuaff)R_5Gy@hZp}sySL7dsQc>Bj~pqpclYYzx&v5F*@1hYVGWj+T=Zj z;}&(F9d0k5w3av!FSQnhwJGkGu*csYI_({kbOY{d!>uQ98kt|m!^ z^0J68uCjxEQt|jRNbrj_fl9PkSE>x|J2O6)pRX+f!}cjdLqBLL8rtdu!eQ zuEX@D{9z1Rb=psc-1-pma7SHey#$ATnVZ#H9W*jI3}RJFZ-a-R;TxBKL&Jpw!5SOm zFY6yTo~Hix={g9b8U7{|ZVxZXB)_4`!CSAdum!*iSaFOIYY3Iu*=xRS6d@p>ZomaKWc?QOIoM^;cft3Fl?fZg1`on5P61fus`ex}~tKta;|8mp>42lS6p>7Z0Kbe$Zm9E$5mo6I{_DILLHpy7gK8lPx=Tk z9fH^`iSrvl&78RhBt)4$MUM~&&&pq@8Nc?|q`p79&DGc^A*3CmYCn$hd}RDo!HQ(j z8nFjG90FLs15h(1qW}Oj57h;h8Ya3^VM9y)$v`V4x zTy6Vs{#3>0R*5%Qa~dg(S}3xG;%$fQ&yz3mc z!b^~qYsXqlR89WE@R>$AXvXxdFz{rv92!BT z=agvxZ4N17v?k{O--Q+SNbHd8jaBysVVuagWlIH0JL3xjCvU218Js@S86mm zw9QEnub8abInP<81`QX9s8)4#7;J{~>ct~oo>)(`!FjwnWjZtwupM(W*eNT|{{0dC zodRb7Amn*i^@Y(F^X*Q2FGY)-1R$3L*S3Ecp=3WIP z;;;O@$HQgaQSl!ZP2exQWppZdWO5acV#r@R#Sb2IEapD7vZ9y#`0OnM6=R+| ztk8I;BX8ofqNl`Jg%$8vUMLX^!d$mx`=a54Zr$kv1$iS;+Id!MhO<*}sQ;Yxg@K*h zoxsa$0)>A1lL*u@xL+D_tTs0^y@0Y%-#OXOeP{Dtpm6v_=yKNz>mZd?{^Lo6z@FB;IEz3|g$%+05xIHvOjUO}C1 z#aPwB+GIn#DGM9^=WrmaiGzQvljMrLE5>$8&Wjzn&~@r&iW8eoDuF25+VD7Y*eh{T zedRumY3k4uQsg!Qp4)QUnU;Ps%MtAjyXsr3xEn)NTNlGsy@vRXf`BuGul?q@!Dav6+} z&6GY<7dSuk?!M?ieyDp%cFFevUVlW2sqLE7pWfc!UB9wgitN6wqg!FN z9Km^~x3OX#xR^s8Y%d==I5WPw^yi-NnMty3a)I9LjQ;i#Vsy=V%SgY(*9aHnTC2fO zAeF!_h1r%jiASbs`cFL5-<&-+ALK!u@K91Jb659xec~}Glp0yiiC|im-MzQo{VlXz z6J_442cfLkn?P-4T%1Pqy+bCSNoZ_f%Q1M(krrYzNiy)!SR$bWjI#{2>)9!afso!% zDTGn7jvTe05i=|vB^}mmU*S|EEeY;a57*oKym;-!jKAi@L;`iChQI~y!Hm5;kDDI? z&!JVQRKm1XU8*IeILCzQuCjhO;pA3qI-X06*!w}jNJ2OU2v7Q-e62!^&S>5#xRtZc zS1~ascUMlDg`Jb*V&P}b~k^XxA|2bcvm0-qzyEKU}lt>5;&vWkY~?<7^u*hzpC zcZN&=EyI3d^)@YcGX^kk6Qr51RfaE)n zQ5I0AxY$}3aUZSwB}5>zlXI_#=n}tR+kbXmDiPt z)8lCS1q%HGrw;|zu~f4w?&W*SwM(hDExr>0GNIh;G~c1xw|*Oi07vtTroM>l`*M+k zkYlisywHJEFxviemG_*Kv|7M@PEAZO&#EM}491^5XUo7!&r^|fwJ}ie>W>_}@5cJK z2URe**}^66ymyAt1dv!N6~+MntsH)IWw&&y%rYMK&h=cLS-J9XC2Y9r`zg~DCu?zy zqJ&cs)2J5`nKP^UgO%nD60e@P+afgBv8b|PTC;da-i_3Ia%S&l8yu_inyXiHv35m6 zh$J`U*`8BX+)Up3ef|`HZJe31TCa-Ae%VTm%0_#*BXmik@^qSD>e|;h5%|mtmhVaifG~Xe&hVL!(QfiL``_!E*&=+1X4Pq{Ct}4Vtz2Q=^mYAk_bT3=sX#AS z9xYqEvV&N-ee_he+m5DgT7%CgM>9Js)aB3LJyCF3)vd89Dj z@lt%=o(lGQC)TsNiF0w0h&3EJR#0uznAA5rceyX1%}dk4m&g_ZAft{?)>BIXngj^C z+liXKMm0!Qw(SG+VjejKa0%1l$ve3w%HUR-Y+GtjR&j1M!hEHqIe z_H8VYkpoMvt(Xv5frXduJ1d_JlhBZXDbqBs{+GuzIAvrnW~Lsep7?4$l?b1`uT$Ia zVRBHpxc<@3f#n1P{B|KRs}YB4yKh7oMT4wS$3xf)kmjjGj4?%{phfc#h_UF1m_pKAq2y*g;g)t9Z7a&J(}>3;50y7}>##Fh&hdDxWYW=KT3d zp*jU$3!<=i+0A!vVh)0%eIMDV`?n7-L2vJlge!3`Ut*@?F^)8a2!tk3wnSM(*VPBY z^6;0o4XmfW5?ElU*8X(32M@z6m^<4zTYyaL&mjCmSI55w&Q9;86tU0gg#LV@$F}M; z!fhmKZ|?0BF9OI3zsZ#`7Mm0TJ?fL#q^P7+3JR{ZCZBKA9R|7%oSdjKwUuvwI-IIQmvVc?_qzo=CO6Kp>G1az2BQyRX1lAtHicJp&q8q zZN*bQs(uNu%^6uVNqbeGaKp-fu8d5$$juC!f8er>`E2jTn!v)sSYyfd(Y>lQfBy2S zEBiWrWkgaLLvCX^h`8P&JxeBU)K7If{xouWF#cs1rD#F~u=;NsKi>>+22(UKKDCB{ zb8Muaz2WADIMSc@O%Vjy!%GQDSS49H4)mDmj?Igr!%%29K_WeOwX9o}2xA|@_N;(a z6ON4O&F_VdVttrYr*f~g_hk$7jR!cWysQW_y~+93oB1FIeA`sVySb)0k{8rQ=Jg* zm!}rhzcArl0vZ&&-cN?nWA_*PADg@`CBEXy95${MS59F+Z9PPQ2loqp^)xSdKWB04 zbEH+R&SX;cB)MvvQ^v^KU2+FJK}vA5+?QZIaUNZl#}54wT}OAeY|X=P=NqF)r0-`> z03aL0_`+9v8*p1Bd)tLzS)1BH;xs^Ak{M4+_HA6Z7ph)BCn@0p)+|77YC(e_8!9WM zXeH;Mhg;D2e&#BuY6R0hUfs9wt_V^>I*}Kc6+VIhI7Bn(`JeXC@+qgllfHMhkKW0_ z%s}OAV`Z*lJh4r$7LnED{IR-MeIZOWXzhjwwEX78dLIyrrN!mkWr8vaQDte?eV@Pp zAsIFtZtg?OhE!jJqHk%_*m3R-0F4m|84Y7#%K@iKu3gVjwlDq?$0agaRZAW@wli1h zijp8pv<(Tyt7alPPno9Q9|_0$Z2kqaAN>upg$;a&)t^KnRS7HPz8q-hEU2HhvN*w+ zOeT8G4YD;nejGrXB9e1GWp$0W4_$Tx*nVq6X zMvX9dYh|ydWe@!Qv8Y*>`_gbGrXYvJc^o8%ng76@9dJq0fR%Db5X~7lj!sygyhadb zcD6YN_s8AaV5TMFX@ht$`{Zw%8~t)LOYZkEwMYpuG^`y3?khFqKOW}psN16L<`vG} zDgWBi8DQ|C>SE<iRo zvS!v`3b#AuyLgV&xQFd_iW@^8Enn6PB0>{60)vI|NNMyYeh?2Q1hu`qaF_rJZps(%ja7}e&Zfy*ef5*L zxhqoQ69jduJ+(%gqK$wbCkkJv6!6`J?kP*Axbx*>t)lmFtpu4zq{R7k^Z*7dQITAj zi!&{wo0e4ht2!sPSQg_I^~*IxG(#D5D@vjc)(tH-j5o7pT-K>#O8`v$;)ty?&|49o z9r3Z(4#G3TX*$2yE}8NX?{m3kK_k8#AK!8x$`tB=cEGd~Ei%h` zV7@G$c?Gl^+)!)br@IDb`C>z*9*V@3A5i=EVLc<>aEV$99#)PWX13p9QOcQxrfC|K zpWo$(D%oIu7=ZAt<_1M!t+}QuH^h)rQ34C+_&nPz2eZKfDiK=}^vE&$t{`)xunOG) z?*EDM9|>=Si&HDSGiFuggS;qB8MH!LY<~@cH~@&8cZ^XcDyR#zJ zi)P!}b7!*HpGI&Gki00L41`m9$XB zM}?21#1d2lT&8MH_Vn!`Dba{_!Vz^eg>@KBsjlVP^#Ro$*S7T!DAu|5)vM;1gjdg> z?x>SuK)(Ztv-`57bz_Vu^+Mf<0oM*n#$%-&Z`{n(9Z;$K`Fge>%e7Nh&+c;J#*<6G z64$R%&N3@ONV>Nin*}R+Ffj~&IG<=qonD{F+Vn>9cyoa)qO!I25ks1W2 zDMiiOZiKc|G+^va6tz41%An>jlY#0YiE_8#dF$$~NK((6sQWT5%imtj5A6)&hSM+K zU;cc1emxI>y@EA#m2y*v2$?eb(QhttJLfO_6-lNPWUEl32(P}l}--%1f)Tg7o^0Z>lpab9lnFX z;`9j>P@ibYaLNXuaASYEmg~}Cp}Nc0GV+Gk*Xlm|1Rzq}&3G4dcK5}O16>&ViF^;E&6%ZdqlJFTB{4~A_1q5l#` zcMO`<-R4C7=6R&hr)Fbt=Q7iWmW8aTKJWQ9PD<;?RA(Bk!5(W_-c`HuRkgTrM2A_` zgZH7*`~DlJBOHYHp?Cx20p8KxFHR&#Rh1)cDSE^VmQ5e=n?zR(!w-y49R#7D(`Z>? zeN=IUUa;Ut3#JaL3H%-vSysbMdEiqsR@1w>O3Nau`k?3#iMlm@IDZYk)q`t-NG*UGTC+~HwChlv0#{=+S+V@vYq+$vmp3+{Y% zkWy=qaX|+m3lY4)AVg@u+&JN*?8Z84K3(EjzEK6fd~*SQS*eA7t{d$x&hu(bnk{%g zk!aPsUk@CRf*pV>!9?i%@ma%e< zxpoj*J<3WM!-+(Szf(u*ga{M{*c%!Qc4|jF_@X_h23@Sbi{4z`gQk>}tIKK(!+ArK zPptc{ieNnX2m4l56R>V+^8g#92|YXRg0{<{=TAt=-v?;**O#B$)uFvJ+07rD<-*#Y zNhrE~eJ)vU=@|00%!3b9G_wsNssUp@`FC=TyM!ay;7`x*Gf!0@nR$OTQ0jaSML&^e zZyy!Sitr@X40(u1DwW#$sLn*$3szNzEV_~h4K@+U?eET!!P5%A$4P)p;ANQWj>seS z1K)X6n|dtaai3mJgX3oUai&QQwP);Tl$!n}1^&FzdqZ-c>_tK@CciEWgf0e%!ak zVcyOC96tT72C>xwgDpRAq%sYKV-n>A^XP`$KbW#c_D0Av^DwkSk)CuW9xt> zou6t%74)Se_%_A&)+gyn-@-JR1=$yeyv1X_u)}I+jQ}FI^U@p+;B@=K*X212Nr(a3 zj|a)tX(!V#4$KdbqVSXG4W}^losx%Ol+{h=T(_aqGC+dz5XHqrx+hLAxa^- z<3#-6ji`bl{q!^S*WaFYHr^>7*os=PFAv0mF;?AcTn5eCm%m`yLsEqFpODcZs9t)U zVE8MW*ld+SnpOgsk*91Pt13hUvy70i|80v9tn~iC@3Lfh_7KKTwhmydOJL>PLwXtx zf`vGPOk6GIVm>7Cy4E0{b%$81UttE5ww4UB^F{bNP_GGbZ8Zt7>glzi_yu1L!sSW zjTJsys8&+7b!Yu{yBo7$; zQaTgVY>MHZ0pU<*`h7U1n#xg1JZ^_(5d<%)*Z(L#k zmncK+=)ft<<4S>S@RLZKyc94Yo~+;jMyVG{waejCmF4iBq7(pcieGBtlAzd$E89ne zU9VprygRG-*9@X4OX_HVA9LgjwBmL^3ejoSmSfT+ro!Mz2UskOrJ4}jt*!gEWG#7% z7FT1pG3Bs(&s{_4TdWd1zdoB?ya?V^6*6&3`uzRE#M9Ot5jtvNt5kbVUJvSN13IGc0LPCD^FC?np3?+p%fu=ajUB5bSi6c{XP^A5 z&GG~HJ9q)r1s`rZta8Mn9w47ivZe@&Zi%WZ4<7`}eTUfJK|jAM;S(dG-RLQ;6}a5$ zezMja59x2-jh+xce4$Q|MmR_a9Ag})a9hgsR6^@XYjmXJ2U`ku{$zl5nY+O|n4vlg44y*pv zs=9tCI)x}4xyFuY0Sho%UkXRD1;6{$3^ST)!Iu|)em93LT{ZWbA6mu37?ARt)%5$e zd|9mbT_H9jIs4ARz2?SVL92Ak8<@!q_)pjXS{13$*rUhyrIQ~P!HBo~Jn$KAC zfyWVnA2K}~zoswtN`gqH@Z2fc4Ho2yT#ZIiukS@+4cDcII!IlG+*h<=C8gZ+olNg3Tev9yR!Q!>ZQJ85omW0ObWgr@G(?)cjLw{CE7h#l28jVt$o4j-uGLHP4t>)3zC4X^?EzuV0l1^ch~PztNYdkU(Nx; zQ~M;hL-Os|#J?nZr%e72%IJQL_U|A6o1(tObY3-b&)&t|RjOw$1Nt<)s}T!O*tx$u z1S{I@Etx6KJTWw-Dnx07S$$3tYX{P8rYTeO#@@Z>>ip-c*8Th)_GYZHF1IM|^J>NF z5$0Q3PY_n?{5Vx3vaMBpd68d@STp0`haR^%^seyhA+GoJ3)i8@P}h6I`K!AZQ|r!W zRB1Goo(|10a8x>*1-q{m#=EOk&ZhW>RoRM34Xae??{bh!hkkulpZ-hbkI($Q-~`GO}j{md+6FuYaVsENm~@0@!8((=?-}o`2Mg&E2T-3Ff60=)tSc;qbvM!Tg}~+Q08ANa0UjBm%0Bu)W-*u5iLC z_jCQ~rx5#Xta|){M&{;kcpmE*9~RYPv6yxH5$oMl?Y5qP#gSu=U`2hjR)$%&DQm+o zSbu10HH&e=t(<1QxmeGCOc8Fh&2CETOc+DtMwJ7v@mTZA{pYT}#4dnei?y&Vq&mja z*nu4zNIr$LsWV-Bvtv_!8fny;S$@6jD!la}r?7l=L&vjFxk5!7874ctm(8&~L6{uv z%@S7{Ic#5J&RSh47^+epr>0&>X4a?|AK_$96TEh zzX{s0O!+u0=c1+AN^2&1ZEg>0x;6Iz^DfW-XKKC2;^KV*(#ic9nWTYS6cLrhW82quE8qya2ixXrPXqO0*fGbjN_E1 z36r(&J0F|lhcD|Y4Y-$TjMG!}tO^-8dz;xl(5G-Fj%NJOgA@L)AI~XgB|l0MQ@#p& zBTm_wn-}bOZ&0PlkI4IIjvRK3?qkR_ZawA`bbGSWsUW4GJdIM`n;r02qj>N zw!hThNvcz2*Pyy*vS0V===pf+c*thH{!B$X+y^ZT#$XN*eM-mEf+ z>(Jqc)as3jJoHeCU1Nbyu#EZn26BzgtG>Zbsc6#i9!b7Oz_2NQ_4A3Pv2S(f4dPL< zU{<|rXY#$W>GR@_V(qaq8Li>Ej^AT(eZMJ%v2ZBm!Auv2p3k_+@s#kD(Dp7rCFsuF z+s!+%59mwMMHmSe`l_36b<+N2tX;UyUg*^$k`7{}Q2ptZu5jIvU56aRc;4x*rmQ7B zYk6%^X|IHiT1WYhN&MA9xyMs1KcnM)Wqi5N9&zZ#^Fxp0H%+=`Za-@E9vuCtt##r&(`!#k zlds#hh<#_Ojs!rQQelmCy_%)%voUJBOFMT>CrMvsQ?gtAxA$C1mrR+OTK`->84_oP z?<7~zqNXiisg9#&2;)|f?LF%ifbHAAh7A0E*8X*x>CKzTp8DGD_y_j~{H>i*lUt3a z?uVT@6Gu2sPzgif3mtL#QMIY2wI(;oBi7c4AXqP2! zAPRhK%&H4Nq8Uo@TFxuljiDS!IW;~tr?oQrLvLNNn>_@jOtd1MBg1OTs=8(FR#}3tr%`jvkyDdKGn#`h_e7Z>5jk z&$WPmkXl2s?s93_t*L7<$^I3ml2?uVOjOnwk0>YC`WrYUc1h}v zZ>dtigR-YyhJ3e?~q2i9)l zkhN7oC-4vruk6?e1!>a~=thhf0# zHLtG@N%^L6xgNI_rRHJ|!Sc|YNd}PGA5lVje168%Eh`aKZ`xK+eSlX;kaCE3bznS? z64Hnn{Mb4cs4UlY{sL~sdcnzwF6|Ic4#exd{U{qx%hgTV%B889AFdj)3|-1{P*q_6)Ayw%Qf7EQf9uNipi#Jg`A(UVV)qrTp6HH9$^nz9nyk5l@S4#7fZ46gL_ zsCPFDl|R=+u4R^Ne%ot&W0&}eyGjYtz-EiTkBg7}Im{6s0Q?bT4Q}q({rBg<@4Z`0 zhq>K0r+<95a15woZU8$01pe#8x>%ryQu}%mw6%%j??VniX3@T z-_b}JoxnEJMn;sZUTCkFjP~1Xe!#zs^{42~^b5}ALw?UiA}4{?RbyJZ+E%@O?bZio zyo`=lf1xuzj5}W;fNK~ja%mo1Uu8{rzj6H6B;1Mp{zjgHEg$w&wkZWzKu)w})_-o2 zSi61aZr_o(75splWLf5Wd>?50e@#`S_}0ts(+ysD z52N7QuO}(Z7>(MLd1ma}#v5Y>)$;6#KVO@8HN7|-xUw*Igr_C*-(E&9jMLA+)q1n0 z+C^~Jg@29a&cpd+#|V#{>xtSYcO0x=02*KeDtp8XHvXG6WTejDAN6}IqEbG1j9Cv1hyPV*YbZYyK()WJ`GIp($DXK6j-@61Of>(`}qAa;Lk;%1AsQ6 zZDXg|yR)u#XJ!+2rQi7182|G6?+PzTDYaWoCJ9AIn|C$4&%9~J%|Jl){4e*I9VlrA zjOFrAbM%TM)u)(WB^|x|X&q(NVO+O_U3Pnpoe?IQw=Xs1IYUlFn}4Ar@0N63&W~(G5P+tbg~%Fz&iKDk7-4$ zuPmJU%Qg4uhAw}uUTRVNrCHCgej7Lmb z{`;=~Fj^8r{rteMIWiQiGS9v7VAHuXMQ!5kf@Vc~M}`hIe07PlGLf+VpB{Gc$FE58 zS~ysJ7?(Q+uaV+ej!a#HtSJ63to-!UKDuYxCA^8nKi>iL|6VZqUk>@~^9-G!!4x%@ zSwQjs4cII7{|isn;hX{YKAfY0^aWohu`Qzi-(fwn?JlDat1^oKPV?Uqa-@v^D;(TA zxV3;il>X(KZd+7mO4I+G2>KuM{2j3_{*P1qZHoV=oZ{kbXP~o<_avcwOI!wuT{#^( z%*SamfR3UBKpGi8@J{vHcMLPnK-L4u}JOURds-4Ph$$O-@8+o+DNd610k3$gHZ|cP(B99tIRpSSRj>|gdZ&lQCn{Rvue~`{ ziH9@#23Va2%uML_*C*$Y8#LssDsuICSlg=;S1}N*O&~C8+o$_Z&K5Pxmb9m7+Tt9l zG47q2oL0w;9~qnGW_qrOwdL=7hv*Nqlg|ut0c~Xo(Dge9Nb$@aVjE+{DS#oo;Pl?2 z!7`{j8mbw-vM}51k(Cv`^c1na*nHC-5MHJBm)G)Pk}seGj`D2n|5&tcU~5l-THF?t zjrHZtZ?x0&;_uH3tj_tCJ_~T~QywN*k%b19F@}apa0I+N$WI-r96_!Cgymd&K1> zzz4BVa)CDzuxz=gw1yR+D6t2jK`TkN-bFh_r7BpEm$TXLSA+~!9*Vq?NY{h{TURw; z^eCDEf5t3uz%_YbGTG5P*&#Gvq+4QHxLQmY$+ogr1)pa~Dcpd3#=1a5*(6KiDD`T6 zQD$?ZrNd0$wP>1l%rd2bKv$qqd}=fJR{sepr|q`tryi><40PJFY74pjFj1}aek(C} z9XzqIPBRE%1r0rjWzSQ2Z=1u{X7V7}S43?~@4pg}mblNE?rs!(i`ohCRccO{&h$2rh-xp zP%RAkgIx=!z@k+V{7~+p3^H<)i?jtc*4Q5{pxKtVnUWLn@!X|W)vYpXDB{4MiqoPW z$%ZrxYYn-{+^iHHK8k7++gZn~-K?SD6jH%pj7p)zL3Aq=>@K7j59Xtxb0vWKL2|=q zp!g(F^gl)u7TYRB&nIn_3(vMm;Vh{_iYffrl1@87M*rMiuz(;ANt{2cFou3cND4 zpCD|OGbLf?sp~A*5)srQ98tS6E~1GmG?yqgSp9A`WZ_H~l(ch_3txChX;zI`6tT3& zxLl(?{^RsPf*7zHD*Bca1qD`YZE5j)h~D-9{v7)fVu&~Lw2$@g)FbO%0e=yWa_>l= zk;OSdXfp}rx`DG+WK+CCB)n#WF&bM$=ol>T(0Q_L$`^!DfY}>FGw+NM6tc5|$9I)u z3QFM{E=@0X&3?DDqzdQ5-|YI2aRkk-@2C?JOGh-)9zRJD-hy%$Z##W?vUh8!Wv0BcMw~LMqUV9PdmCKj>~3xDOVJ z4urqsFZY-UaSj|dup$iz=lv%Nz90SLhrq(vBi`Ignq?T5GOs7p@sT$-D!>dEo7BAu z{3C;3sQG~4fg#kmMIuJ{JV~a=$O$eogtk;APnH-Nx1&XV?%IEM$G>K0rDJw%P!4h%?4YI1I1Br`f1OaP^2sR8RH#iISZ33Z|8kZDh z6So(0F&Idg-s>ZqYq(9nW{Z=h5jUZ__u{BLa_t5Qd=6(%?8``Nx(eLtmM!hQur1tH z*+KwA%UO((NQbUFfp0-~kIQF;{{U;mZXX3wzH6{n`SXCQ6qLG#`lm%dDhrLuB=uJcKLH!gW>4hbg}7|rTX^H1&&7>(JbVwc=J4f9H}8+haHd1ahq>i-6#LMtjGRFa@93RW+M@Cb7#d zv0k_WT!vA&TYV}*bL2lO**Ea?Yk@)qSe}ahJ)}oSL&Tl>XD@0I3y-S}xG!bCyPqs1 zywnd2u9Y#^r`BV94{R>SDrkJw_$s7qMrwvY;2a`bGIwpR%{&-mM}O!r!DV!OHDG@H zh%`;uS&*MwX>VTU>ezFLA!3|?LyCPbC{+E1kpF13GOCr1?bO>U3lE$O<;=d50YSa& zz`ZC>O9=vMXA)h*+Fn-Z_Ch}Jp9`|PE|d!UlBldLG(&jZ*QpEs04Rbkp!Qe@ptiZi zb)(;#3zWp;RPs7?n7Wb$D4iLnQOqd&s=?arK*=uD`96)oTGRsx1+*!R`B$Jvz2+t$ z*R#=o7TA^-h(wc2O9>_%^ka7aRvK#l0|bE=HMNsCp;Zdm;IE1jZ3+h<;L;?6^@YY+ zm$lC#Zt$vX%~JDzWsN$5j1-R2#9RvhN?&A84+zA$hz5D^rfo8 zrGXxU*v+L5T4qPH7o}tSE}=+ajUYtX$Z*PoZ!w7A{unb|FGUTR(ns!p?AE3zR8iR^ zfiQQ@u~sR+-s^B3w;;H__er8mIe{NP;Lnu7UuK96YVvOCUm>r(kr1M?rM1Tj5oegU zJ|wha{10g|UM4a^+ET^!J+lxI@4r>W2pQL)R#{Ny@iFbb`4kH2I#qqE9zUVz%cLSbv;KCp3Zn%aX6?;PZ(uFu3wAv%H z^b2D~7Vt2;+#83>Z;ll;+`#tq*8m2Dp^sJoa98D`gs?5*{4f&$*mFkKa>(k2Ti9e_ zJA;+c?Le%IG6Q#bRylxoiNLSTZDKOC{Bs%CZ9d?P+`+#=hn(VwXx5KFx{cN$kca^W zav%NDVyqmge85R@2oR`gM7N<1a;))Q?=p}Zs|5^q!5(3x1m4pzBB-10tqlP-23C;T z%X-Ur%?2B<^a62Fe)hzp!U+C?L+9mM_vy8KDQk&F)D;e;p%(dh$%br-llaf#JD_`6 z1q8_%t|AG|(Ra$vx+fm5XKY%WBbIWWmgL4WW4n?`T4Sg;`>`p#fuZ`zBsCpe`hcKB zyP&!7TmvPSh>A=nth`U04ji&K5nQhqh6>Jl_NYf729HS|R4nDKrST!F-(5I-URwv- zYpLzFB}r-+X_!yGB@j>)DnEObd$j|;+-nT1nJSnw3hMt&r~LbKu|Ylicw%Sk>ZHFz zk6akcGL*JKZ+^waHe9Pd$mQxz70|e?se0#^Ka0qVpc(gNpbSZ&+1%K8ig?w;W}Qxg zzK_h!7Mc;+l{?JmkRh)S4E3HGkrF>Ua?sbN?SWwa{y>L;Z#)~vZP%Jut++9Rx@{m( zy6O4hxvfG+;j)AVO6Mm~RS*l!A7vnJ#%zQk!3^jVkuy9bqNjUBprYIIHh%O59spSWfsilMGYj9CF zqRB=yw6y#O-~t&e05?(FY~#!@1@B3&r2u7a91mo@;&@!4Wi#YY)O$Pd_dy7_S!&Y~ z+&~aRxgA8s^c|{3xj`1f002OYgiuYOj&z$)5(+$@8Vl^FVL2fA?0NVtCw%~GN&b$r zE@{GAPGeOv;i8YX-Ho0VW&l;&n8HW6ZuB>TzQOvKxcww6xLkrPH}Ed8lr5}8i}$C4qZw7|LbLN7&D4 z&A4GAJ`7Gj#>+yzTHrPbne`7U3w2yiE_F8-OhCm{<<{?#ysm&*_Yh>JUNVlbw^dfe ztQ)iT^YyiwYVd&EamC~ab;4e6v7{paE57f-}htzGP!yB+<{E1U1H!^R=Xp6_?+haC% zaS3#jgD9h$O4GtOO(kKF5H&)x_rQrf9V;^u3f(2U(J{P z{uWi{x7E&ST-AMD_H{=9Qo!b$PWj)4!6}#AS-cMT?&+`;%Jq;~NZJK!s`SLv?hB6Qjd|FHV&^Q8zDD}k_YKEVxata{%nFByJQD6JeA zsRooidh-1RKkJC*-7uWIzXAz(!g2WxOMY(TBG>62{uPID$_fy8F|IC9oj&t`=5F`| zUfi91W2A9{4=%>}cAeZ^KQ2fk{e%C;W&1inF|FNq+*kGd&6j)^A~d z>gQSr4Xk0VD}oHNZqZIBp&G|9OSjzHR0-#n2_5QnHG` zcs{*b_Lu$TYj&7yMxSHr^Z6#H>AG2mF23;jk7a`&oSqpEfx8*T=+&d^>~l9Mi6M}} zrMwvX143QsBzywiV4p1M4z2$sSY-9zBk zoY}{M?{s#`{&3b2$}82Isrkd8=>bvYOX+UT$|vD`_xg_yLk*V(GuHr5WOSTg$Z4{+ z;yMuUOUa97;Y`!}R_oJy$=w~MFuf`Hz}VWM!`S;eH3Q%>gA}chA4~+Tk zbI-X_QjdjiP`HX# zmhz!+$@FDPagLg+iMFwlr+Sm(XhYc;3**Z1XZ%S+kIQ&{x^q#EiM>Chh2e>sk`F;4 z8}Vm`Pj8CK zJpXqClDU$)QeEC31&nnX1d4YD)X}x@-MYVr-JVJ3x_vfjs0AXOe7rCrUA`tCN|_^qNmHB?iSZg_{B7uL%6 z^_$xOMCa~x+LTCv2pxrg!??%Pe|(phk2|OTb}YmZ*b{YQ)+2X}lmlK%rvrXLQtscB z*~AzD9d&%KGy;!m3s9JpE`PflG$r96b@aLJCB1;a9NPdZ3&~p7H!AAu3;OtAj zMPa&+Pn{&nw#pbr!_&i!wHrLkLO9&t)<4)u)Z}s_3E_Pl?tdmNdga1)@dB?Dettfz zzq8`rP;}VoUlq7z^D$(%cFJ^ha1R$FT)D$W5Aw`-CYT@eKLRkefTY4bt?zs!9VkuJ z(>u(vXP?nmo_T&PLN?|f4HBFE#1P`OY5u}TGSQpwSv19uMcKCD4?XpYe0)vB_@cxn zB}T70M|3zaIneL!A*m|_m5#TWRxnYRHBkvR2Y~2&3uH~O{!Z4tIGa>0Qckc78|o z$@7l$ z=G!~>?%c`fFZHJ!Ehu>Qt*=gwBBb2Kyr&oT73$o&`KKGopmI(7jc2NUw{AgMS>Wg3 zZS_hS0?97+#?r^}wVPl1cex$C<@d=!a z_|Q<3oQs}HrcCRC9MILs{JVwYy{r{%)#zqn%gqm07XpvGt(Yz5@9Kvg!;8MXJH4ED ziKt+}9$jCnxa#5ZQ2ONHznFHssW?eSz4KOLRwjogQ6+4ilr!M>Xv4;=cM@`O2C z6$$tw{aS%Sr^fs}ektN(s92x_KctC)meLiWVg;G=-n}=|2$Ig1H8Krbx)O|8Hw;_4 z7>t?H#gMaat4=d{Lkf$Uz+A#LRg&>?(U7|nv}s2obv*6Be{LPseJgP)ZDHjCC~fRFu>_K)#9 zQ4F2KQUU3kMyCtu6*K<`uC%Tvh`-amL<#UweC-i{=3J=d)UMv}ReHg`;ko|yNC96_ zT_?&q+kFITWnr+UfXKdUP2aeqNIBf}X8%quzH%i78yO+`2BNKuV(0Q`_J7f?nCtpWeiF#{ zd!fCzwR@A$=yomrL$t#sJq2C%My_eQN{BM@IkI@vvs3K7Cx4qwO>5$;*Zc%GJCUOf zVKwTpAfe3EFv6&|Rksj4R_!5@r7MfN+H%y`HK0E8U68%yfv>e=%+_94^K!p_+J|P7 zm3OQ1vz{dF6p^>;@m5V$xuj~y;5DTib%jj|<@~!3PYEe$$j}N0eklb=5cYV(Pm2XA z9$5SE+Cv;Al$7`hYvR|(7#Zi3OIyaWjy0ggzw&(ruQv@_I~Ey!w_j^nVr-Mf7&SD< z;KcQEY^v0`s6nCHr&Qf+ou9B%QD+U|7WPzpIh1pF#btu&G$-0h7F!j0y`Q;Ksflr@ zMd1r(ysdoGEl8U!{jF??OIaF5*xy-u@2MNi)_Ugw%t@pTjbSOePhhuqn}&EP0bLhx9X!J1YlS_fp$PKJ?dD+;=_ql-d)GWb zlkjKOTJ}_aIAt?m&WfCl+R=PP=TAExnMP~_rDGHakF;R>w=Uqktc!@~_cX;oX8gZe z2jQ_LsQDYImDN-yI7-72iKA=DzauDNIiBUNa_Z^>7srau56d^^aBE9UTMcHgHG@px zjhtMS3Plpyait9@5=v?psp)TDYF#c491d0QvqAFkD8J~MUzPf&qD`E9i#^dF^9&R~ zxDFR!LnIUBMcQ_Qit?SxIE5T1e!g(je|@@YXqMRSmN>44ZE&z=_cw2g1&33?vKA~3 zt>H%X{WMk<)@o)&^*0DBEQGD1~Nhk zb3{dl9`xKn+~dfbs$4(S{KBWlc*TSJRCL?n%BZ{u@G^OIz;9ZDeai2P*+7dzJIFQ& zpd&8@LbXQM;6(*aSS~z%e=V^m9KvGCI*)g=eGq6mqTvVesoTkC2o#u@rd>;^P^nva z?PS-3$K!o;<#Bp`p4H_+%@cE|_ZnkN7O)WY`AQlj)i0?m= zg^{ZD(I%tUg|L% z1re$>)!nWdLGYM#KAKaEfaG^sNbe?XZJB&|vfy`caQJX^$MO{4n%A<7m%!D)d9(zQ z+>OE&Mt|^Ef?~&0h>T@A;esT&_1c5#l;dQzYb%Ejp>Ei{XI+W0gPQda^DV#TC)t|A zsoasW;4RFW-~LBIh{9&Xyvqi*9lgLhR~+8zcw9F4UF|x$o%(LTJ?%;l_n1x&^?_)M z19wSfy1+tOnpZ{V%P_8V`DXp*31y$NcSw??+AxrrV*v74!Nr~INOR3=Prd+QA+a&*_G;EJk zU-xn=)JaEkaQaPW%>R4&x6@glgBKTv@Ppq423AYHLfKD8_wB|hgvoXl!w)xGPBfeH zBTzCZ$8wh)QpHSh-g2uPS5@NuIJ^r1F|@{&q0}}`!?gLQfYO|)X&LS{HZNF6LWg(*4lFr#fz|e zxlq02)7#^oz2Z(=>~m?SkCSfepCjjQWxYm0y<0lSSQ)7*j*^J< z6l!Bk_duo6yChGj866r6zcS7SQHz6dnoT-GrKv*7WMHpt52(RwJ$2YMJ~49?zZ3~q zbI@q05$^tcx6KOMvX90^hXl+>4|iD-B3Gg2kgDswPGLNE99`9`hmkByvh9Lgt@YJu z%1BNwNyUm1?ruu{_;O3N(-^M2are-9^w|9_ji|EqX;m5BIJ35D6qEJ3f<>4A=v`d7 zBn~a@;P%R6Z7~uf=J9T;Vd5k9eyuYAU=&Q5#(zv9I48&(3_XqVF|%sA8=oPzeg!U8 z^89&;l?I1NB6pm7MJRMLiGi$z-IM~no2jeN%6a@@uCwvp-_$D?vKM%cnV5#}@Z3(# zpIp0iYxvZwT+-yQ2&WTVk))Qylpd%U|3NZ4EqglmGVR)jil~^A3Axe4CPGnqlbW_R zTk|hi`TGZy6`D*%II&Or9F_SJqTgFDAvhi39VZ6oji<*(Kh3%_&esQ{S?Tk*H1Ny; z!f4OabFNS%nSxRQEDYhTYY&=fJ)f%01r)I`VZut^fzY^SzZCSaIzv>K&Iri|`||MQ zITyVlUBk&n`CS&IOgxvAW#UF)4o_;g3+5H#oEwK_GEurwBI#<7Je$qqg`vLl4|7{1 zRKy?0VL`Fqx?IroQ?)92B|hsZ05(V=$Ri&dWM^y+QI~o|qS6&g1p+HH-Mqhl5*soi z72$M);e`b#Ww^^~b*d3Nos-xXN`rjl%|lUQT<2aK>>TwN%8)lFw+@v}ov;;v;WKZAmqvqys#k0O32;InXaj2k2$5*P`6A2%!0)0eYX zmF~O&5ymyZ%u}hA9MfF7{Wcb-{fs^Oh66OXlf4_`zSI#d=?Cr!r?SuPRcP2m1XA;H zrFMNJOYwsjF<+MS8^yPl!t#&Ytzic_H~$Ad1oxi9Wqd5(p0}1P&wuIjeR`$!yVZ~w zTOIeeUCjI`n%Y!eUe)E z2>`SUxuH_n_njGSUaBj}7VFzgOccUPXq*Iiju1&QNO1pIy-OpGH`#yUD4(!fshABx zvL#^?5WBI*;W5F_DZ~Hlf(al`^yBEPmowFt42}`t)MV7#L%C8&628yHJFfgT!5WCzV$t!U`@ffUNI%AvuQuzkeJARSHj_3J{KrqhMnja@icywE}n zINDqBrVC-R&szB|MP_u^b^=vDwqH8Sp`vRa!LrtGa+2uEkvUkCjp53ygFxW%>l6c= z^j6qhidy^YDhK1Kb_N?`&jeqj2fw-c#jT&g)a%_>9&_i1%gpax?pYDO-KDaizN|HC zl2PyNQ}|xNWI1(V>YqE}l)vzfz9#V1INz1LmMz2xx#~?xmHafubbyQ!xpQNkYTbX` zab88pdn&ucvrfEwq8DXusQN#_1N4my4fT2ID6Pg-`~{v!6mtAaYu;G?eqvYeEzYv* zP@1^SG}LeiFk_Hb3~LT9x^S-rQYAPj4snik4DWU8p(s`bfsOAn6XK4(9qGOlR94z$ z6GcjDc`7xGuQ24#j(o0WCF%%&!CkgKoLvTcgkw~b+lVK0hr}Mk6R$fzerPqt5}k>F zE?86>8-t)cVCCy>{F2KNeb%tf3rF2xEEWgSC+`sf?+_Wd6x0#WgB(2qsfLpctUsK9 zS-IcypC(HU+H907y5GfdtTbqCCy=@PCF)Rv2hA&K6CjPIOktyEppEHQ`H^tTK*H>5 zyrrwFzkz208A2_k0PWt+a8!*}i7R5H9(!tup{)Ny=O#qz~Ao>61$P%aIMj; zX^uhWDG>U2@_XtRFAdZFMHdzSq@B;%q2g~IKg!^+wX?glv$ONDva)hBpe}3E(5L{d zrOKcAmG1Ub>$XWerM$k1<;oR)DXS;cAoHVRr>}d?gX%jF-#D=ver>e-Q>Vq3>?S@< zvWd~up*q2yv`PkQ32Pu35Dp`q92(=(LcinU_`Tj-oS#ONW=t;aMey9^?t>fJ#iqQl z{8_T5t%=+^J}K9u+EwOlFVVMy%;X&=B;_IJ}J?$fxcv|O0j znH{EEjsx^`og$&1m(pT8>WseH@ud!DD<%?=EN(H5M$|AF!q@)y?IIsO2h8pyf_QP* zF7ZH7p~#z*%iN#hu5`+_Ad1BnX6bZ>ulBN!Bcmjc{Kq{IP*#GHK5Mrd{ZsPtARQgY8WuHV~v17RoMfHag{-~6$ zbA*ApG84H3+t4MMA|mhG2?xXpCR0BhmSGu)pkS|}m`mh_8bOQBtJF@$>O*?sY=Q!h zl`H&vZ1D9SqE%3m7Ga-YZXsa@BOmnCS@zj>0j%0=S-ZigTgtxqRg@4R+cKcSfXh=} zk7@XBvXWEPs&uN->7l?&_C%5Q@9(CqV|`6K8sEooZIq+W&>))K?+Gr{YM&^S`D-dz zJ=&Uzr&I&m{9GHI{ke3+1;u@3t9QbcfmVO^Rcc!ao72HtEM~Xd!l_HwRu`lXnmcZ5 zi&rFY^<{vXSA7@fhPT_%+*ZbuT5Aiz_k)+-UHL#5=k)ygm|7sv$cBUKm2VbLV&u;< z4GM14yDVHCJpTdZAn_@ct$*qb?rZvlyJ5FSIQ2vE4>Fg7z|g1@HL!cw{xddAg@d;4 zlDej47JKI3oy|xqQsK?`_JX40#z{Z5@EUXG*c}*MM_c_?&MqW7knTxo^-`M4)UltV z_-e-{&IU%RUGE(0|JvWk6}`4|PxlYGIwD&u#szyHHoW|I&s?mYVlIC`%o|9*q^bCg z`3Z*1F41fWBt%IjT4;p#Way;2Fl?p5bVKN6Qpxt?^Qlbx3y=A)*!Er% zQH;j;?ON*SA6FBeSO!oU&>zy~r)DFW_*XbcTFw!=(|=<}oP zFTpFxNARAhS=Z*<1I9u*$t=y|G^z;$}4+U@C5}U+)q&I7mq`OAf4M4wW@RvZv1_+xRD82K| z4_;J)d@;XOdg^O!W3TO=M9g1?)5((wfnBbHfDbn4Bkctgm`M8SO7-ZC+Vfm`C!BA=LHfgO@6Xx726iPIVp+ zMXnOjonhVvc68+`Id*giI+0RI(?chB`83$mF6C?oLZHIbl*8(ipAUJ+pAIca7E$oh zDzY*g>afZ9depIv8Eb$=wfV9l<+3tdQg}U+sFeRoFG8x|n~_5?6Gbv3FpW^;f*DjHC#v4|Kzdh_11eoD?h}qYe<3uSD znI_Gq7MC7uZ=iG|zg4(J$ZaSpli9zcNtvww{0D$EVZdjdVFA(*{CuRi{b!U*>~Tx@W)=aX0nP_zGovl=&#M`qS{WFMK`eGc*5KVeW<#r3-ay~e+*6!TU zE^9iU=|n)(z)?wN+n(07n{K=>YtUDMOT@jrbO=K2#TG^kjmhBW9KQV@3JeMm&y{cI zE*|~#HB?F{DGhiPF%(P@PuO&nTvjcZRzqqwad*E~t}~ioM48i38b%VMo=TEc(ki6h z%UwO@3iQw0uU*L88Nl?K1|G<+*RD#pB^D%idx&`t?HbdPK5ZOHI6-uhx=*sMj$qz` zTJ2d2bbMRmMkRhErvrIE<1u=~&@G)cyt3(`(Uc(%X6yAXCm%QN^)zh{IM)|pFi9O+ z(I>zD#OSnXa>Ov!m!ig2S`qAqhv485^PY=J(Ayu@R89rQIirTupd@i6r&;p$VUO|- z=jZ`Zq&~qCYp~|7qTs?@|{(c-)+PsRDUk=hOdT!&X zSoP2WZgsrWTkccry%U)rj7oQdF@{T7lp;wv$~Lu{>({;pu^b|EXZ#ye{lj5$BJs

zND9CR$gI-mJ1o_PtgO_G0feMPN&H(_#ZPVE)X>;1z53AAoLk{eLxP-qt5-i!l z%-bEmmT!6dfMe?B)45N}jI+Z9#$b;5IVaypx?U%PSzJ8yGN^O3Q{8_3_Umi5?C zc$ncvMwShYt31sMmDve&=MxW0F(slbU_V|Wu3Eg~4#wpZTnHUP9HIPAm+TL`eVyYU zcX|-I7p4nrtv_vHN(r4mj1Imts%ut4Q~gDpdSWML^Kmx2S&)7_aT>|MI-$c(x^Kh? z?pS>&wObIS3>t?Vc7*(3v-syDy5^u=PiH{X+TUQl&x2q=r-6H%HK)*5B{c}TZJDE| zC;&YM;h|2JD-0+hq&vCHFv=WOTLSEK2*nWVi7~^=UR9Cov-P5XZum(G1|=hBZk~4c zo^BL7I3i|CM^0|Wv-F{&_Kz0;DxYw($DVJ4$lUYgNMbQ!@er6$B>iyy%uonF#9_R> z+_}j-d5{;vt;-c)$fB!|_07+JwPKev?>ApH@p1G>KM1>U%OCECA0+h9@Mq!;rYrXv zGZZZF2V?xZaxAHG(-K8$J!36u;y~{6|l zMUEBBCMLQkRtPBAx>QYq8%};rp6ubS@3k>6qRx@(Z~M0l-ATPb{%eG!B(9hBMx(tj zeaZp+^3NL2qG1tM09!-K{VC*%fxS$63;bArChUjp-7`Xi|Gdy?{%^EihQa{Bh}#7Qr-(P{YId6V3zl`ae1mGs+u zkL4AiwgwL|bgH`rlMVcIOJ>JLU2J{R^*pNwyi&^0cv6@IDbx7C)N4bC6xRsZdgWg$ z8PAA&*Y+8niU}dy1iwbQmmDXR9{=T{Kv^7R?5$}KHUh{|q3cndm7TUx<^#uNyK&(i zM;*OwPg);c7yaCT#g||(<=uOo%SV9upNKXH4^Oq|kRWZX9ox4+ova~kHuaSKG3gD= zjsZpxe!C2NxcVarm_n*g;^x8)_H90D;@V{pNZjBsw?%j2P+Mq8!I!ZP?&0pW2%9(; zco=UGde1{Jg5PTQ3GKL$OuPwNLA{LG7@>CT8CL*^Ry z1O!c!H(1U8jB$+2`EXFTh8@G~cSwH%*J@s1XdG1Zy_!ik)zeE5`xDZIX*H??&Y{Z` z#|vY>B$hgXsc}4`nIKqsOh9R>fXj@v*dL?O;2o5TU71jO?bghMoESM4099gH^;_z6 z`U&xsV7y`j+b45n@OMPv;CU-EagL-iHZUs>D=BMQyfI4C9*M2`8Pv!orO4KZ7Q!Jk ztOB}n)xqeaqtWP_iQhZ<>SsTWU8D9TX|uP6S;1?2{I$Zgi_Y7XZLyB+*`sh6`lQk@ zr@KZ{bR%AqAkr&?VIj90As{?|NZ9m-k1&)hx(awS?v6j8PWBQZB8^glt+1x?lxapB zT0aeY0)cBg7+A}gKB&u6%`AbWFO1YIP9@%hX|Bb6a8lM&jBStbM?|9dOR}Kkx*tjZqYnk7*lC@Z;qJufP%|%NUV>dl$Mn2bp`!4{o|0w^Oun2NcMPbWaN1By-v9 z{=j(}?}$E#(Fk+BR7&5Up>f6`q60iiU8?FAu02R-Z3qtQvgoLobFTXEUvjm zF!aS8`^522Dh>~6{X*WCZO#dv?Hf7R$G?9^r%)licfa&Iq-enIB0psygw!Kq!@~!# zr6&=G?QQ$3-MKcy+(Z1SNdfDli7^Lbfn^SpT5w)?EL>}MvF#^0<)J>M4JT^npi`N( zyhnJGQBOXjwcX+>McY(ucT=F+iK}WbStJj#E^Q56;V)@WP*b8DH~seAxg|>SjWRc2ZtlfMzrutKWtr_w7o4a7`?xh!*sTtFSkX}j88`v9)C;9nKr^;>MC|5(lobqfvb(m{KP3 zK3s~ssfK5@X)(3d158>7vtKdV*vhvXv>22bh0>F zh?epQ8HE1~ciG$T$h8^ERE+#^fZzM_y3M)En)Mbk^`q&F;6Oz~_LGw*j)dA|j1Q2V zLG0~ePsUV&VgO1zr+S>5-u$p-4@44Xm3r48Vt?VhsR38?zMg;e>f5o+ruo<^M7UOb z<$`~O%OQ}sGj7>uWu>Q6{n5!|B9lT4p@ftxM8ictartEOu!W5OvA4>g>*{$Ozi240RcV^kNSUZI!vZRR{fqoB(&A9p494(dA2Q9^048! z4Vv|s56m5jM|(pq`Sctp!3*Td5gQVy*OwBP+j6wr@+GhcHCo0W0!r}%zo~g1aFDCA zGOMqBP1?S1@U)53Nm#-tWyjmCDN(307}FqG{Bs0{%)8{Dh|^>Rt&SoncHfacMB zub74&AR!XrO9`fy6nMlpfBvk$N+g{Fv}73VQctncCQ($d`m!1qu0|#CL$Sv$NfUkPxEJjUH25u!c9@e}A5&3_=5PiN z`(Cr)GTdnB$m{a<(ZYTQ=#0UF;v)}kjHjwnBjaH62u4rdsqw!}l`A0^4c>rM zZLfdp)Dh52?&`8QF#j4uCA}J%YqS0SF*Z7UrG;lL-tp8P6|yx@aR}`}ZDlOLYpqo$H*y$u)olX) zKka5F6;d>=<8}Sv{+M&`n!C&O;W8ebU@}0<3qD51sM#8PJq|e#HFMS>h~9~lusqmi zBJU^58IGH&k6y{=lBXg&*a=`Ao^$VNI%YQRUk{3u_&c15W-}Kr9?YPWCu|Ffw}bm& zEr#Smv>!rUVRCZwOEUP`#_ZvvtjgcqIA(y}4A*CGXKZX-=db<1@5z&Kehmo;iH{#Y z-uy}=dgf~OE+ij$d}t4`$M+pI=G-lOYF(Ii#<~co{mb|lP$9Lh-N5D^CBKL%pv+|J zK!T(!$re9_%QY_uULPIFB0zDXneHmlg%RL4?Z*pc0@ljyupce%qo)xEqQt^c+3b9x z?0Qlqwp2A|`&X_Gni^V4MHs%Zr@N$iS#Uh>vs;QsBUqeHw z{ISDX&0Q!^D6K9Ut!>!02o!D8TBo=VBYN(ic|_3E-<`u}Pwk}|QCb+Jn0M)AN?ZXs ziEcW6u)n8?%iG-_Bx7}8c@SU5XRB7T3Vl^T3xr0nbLj5I_3+)5Q-RE`hrj!W&_M&@ z`tEFeaPsDG$9AL>VC3 zwTw-&mt7qT9x1WfJ~Q4TO}S!nhB;y%e#6H&i*s(5xl-LR-x`)2>W;1pA+vIu4k9+Digm(NU(`^r|W&Fja{T`>5G5ezHy2kF`ih(+3Ww(Qz z?9}BK;iRK#?Zfu*uy&vbk>eU5;Uh|!a0@j(Ue=olRXQ>su}m;-sdgca^`xiQu+UQP zH6E_h0yWX6teoCIVr*J~m%i9er*2~!5G~Im8MxnV`T(d06@T*q06=1lMSb;6%byc3 zZm5i;1u_ilY^C0N^a$Yt)dn|TxJ_b%Z_K?7Wx~kg+RX<= zF$P+g1y2P%rl@Thk6tACRf6QZFKK$%y9F=6zwPQ*EFh(FNybs`KwqiU)kSos2k*h|xOAbYP$w zR}Ouzwb1^GX}$$D#=*#<&7XWsnXUpu{mB^pE6`n5_HkR}YI@&mhEkEqI0tK3J27O% z7g#dEfPlY}3DF`*|7_t7>DFH+2fR}iGqmx6zg#c3evgnUULfdQl@#x2XCIACJvRfbGyr;C%dX@*~)L8MNQfp55 zw+}5Vwy1iMjJ(>67B}&l32t@mzRTLHK$)=V+5&347SgzMP5pO@J8nh3z$Tz)A$z7YvE_wB&2)|xMT#_fIoKCe z3`b;!k!fz=*Xzl>=6MB`5j?j>n^*G7G%%L&1}%Tk3Nhj%!3TiSMjONJ&iZyCp1hxc zVQ_?0fX`b9mwN-+TfrZ64f$~!XF3x|12NIZd~95ROvkyWkM6&~vbvZPejWn#%~jC1 z-lxuhj@RR$ghnc8T;n1X+>5CI9%z{Cv?XCR4G2wKQ8H@))HX;G|MUSPsTBQ|!5GY5 zLK?f8fY{_M{f(`p?6|=~G1$ zhOzWMz@qVT_$+?hGP&JI$N|pOc2V*HENbhSLPa%75hcIf;dKlaG$0zSWX2l`^v2l7 zt>0Z|QhajKE)sA>?V09M?C6=9Tdwz-aa&!-&CVw|aVllN3-nFMqINQrY^7sc@mb;8#ZNXPTlcxF zZijFiWGWpDpjvjvow$@Pw24pJq(@oEfdT=Q3R`KQIF>{L#zuk7`)KHe!#TLutCIF> zC6j;>*yA$h)@yO`E*b9Dka#RLj|h*si!MLprakk}){i*N=(X7U5f{~$-~?5IBc1lV z=DsB^#9TGphVW9+2yukLh2a53H9A0RqOX;P-GOl(u(8fR2UPIh#i*?~dbPUzg}P3j zr1F>S34n^|Oy~gL#%P%}2P+ScqnYb^aqDICy0yy4(H_hYnE=%kmyc9Om}#_~(?&a3 zm43 z34p%DmjA^KdT&(QijP>JciNXj{qD-H_|O!C$t_2Y{G`S3kzL)q8AOw z@qry6RvrPjf2N_m(zjFbp{VlCzCW?$ph<`9y9A52{o_Ll${$|LBOO8xrwwt4Fc)w% zk{524=H+Z-Pxp+H7!GUsekX}_h%N3~LG^5ei*E@PZFY)>p?E2n0eM|cayM!};yD8v zWtC4zqX;2mgzR8n&-8Z&Cj7s@JwIDgt~oE7C1+XBWW+msTf;IX@`KnL@cGm4JSGAA zb2gWKz7qCgx#K zm!Q}g&rOn!qUsQx54u+xEmJsh&Psg(E%9J!F+EyVz>2wS4bVvm1D6BX=`{wxjwA>u z+`H_vCLAHdqtlY8Zy#JNN1*{@N!sWBemT->qY z(|`mGctP_>%Swz!X0#tv4#KpLHkAjL)R3a(aHV0+e` zC_JJ^{f1nEeTTPz$e&lZe z+<#72HRn?NZ#Cpdj{4p4cHn`(pL$2GsM>1wgITTFy!TzswPvDGMFJW zKY*PN1Z*=!`d6`y`IJ-wJqm2A?qmr|h(nG|(~>~-vB zz?|(^;jdLe&FH0e^rL%8psJrARPSXIX7~EE%wa{12X=l&bZ{J<`ZE(ydW=hKX4m<@ z32_0Pk20Cv#a^g^oAXg>rtOv?5ZLH&43!aw(lDpSmLN^K53rHY0-8(a-Cl$47Ev$h z)XdZ^#9Y8cb*V{ac&BU)fqE#8u!Km?w!Z*iczEuhFwV9MV`7E1w5XIqK}NyQ#XzTw>R<+5P;ySH~(6KTLUDd zu0Rb8y068pO`o24il5`}Q^WC(X6NU1HTqp#ECk9lQqdM?d&6w#n={u)-g+U$Gg_IG zXI>MK@X+rCLm8oHI<4VWO9g`iZXn1of|3cNQoSacC4#NXA61iUrxE>hXIr>#^(tPc z>zvhf^Z6(7g2(T3{=V7m1;8(O=2r-bL)7dZk_!h}(0-6uZKf;6L(mg5!T5I7TN)vQ zyez_iWHqZow22AeOnzEYyS5HYSFU#Vu0XR(#*jB6z=>xz=pjx^v~Aq>u!Hq#r#yFL z0v`Ex1to*Jsiy1ZLgRXsgm0VU=rU|N-W`9AShZMe0%kXaeUG(i@3ByVdK&s~jg@nQ zT*vP%2|JlTq1>Io)Jy|?pHOQ{Sb3O)pwZ?`@&ih66U37?R|;7na7VLVZvgs`Kzc77D?ki|P-2MI0H!?|1!QW#Dy0`(jTa-m z;}njXsTta~0ye*#Un^|-#fkjN7uWhlkiYorUp`zfTk{1tV_7UxP4#lwx=7Y-t_<_x zm@iKyx$ViZmQO=?u$4eYS=Y7&GAmyfW+JBAIR!JQ!sM4f>_j}eXaiFit6eFq`^2xh z>mVj&8|glC@N0{e{z-N3V+@7KZ>d|0MXFNjg-n2WTryAH5*ZRU=HrnU6DZWPyc-R8^zi)`Hql)jM%vWiueNdY(N_3rV6ruQpN<{uFY}1wqfoq((P+FH6C%6lsfeF+ zqKftd{>&HfBbB!j7Fo&$urc6(9)7)!*n9g#<=>y%Ww7L*4}3|DSPz|9BYk^hI&h1S zKn~Hrvk^S#Ku_S%n}0Ve;VhuQaJVQe?Db`_zq8R7^Uo&SznhpFalXG& zPV2^W&c^dUjbH@Rp~hUz0uuCWpD6~q68{+fzaCJG3kvJ_@!Z&Wa^1;Z@5i+Hf1VE% z>CytuL5!I4f9LN%s{I>4rcc1>|NSwyjPC>2WFQCr`}Q$~{{Yu$;cWid*s4G`;UW71kah@)H&du%G5a_JiXk-Umri_)|j4(u%B|_Q)>#)*`1QmF)XY_R4MyDHKu1mR+(W+0EFO zBC=#>n8A>&V~lk$W6bCA?40v@zdrBJ_b>SNYst)Gx$o<~uIs)Z_@O`WK~z^?P?@i% z)OH=yQ9iN^vd!)+hm{+sG~LUIU;-B_r^?2?6xV;3d=fV3!8 z!s;XjaIjoLn4zH;U@mGnVAG_ZfzzS`*>`7ni+GBa zmP)Q0A~uJbUCMuOX-@&3T-5~-8&(+zGAqoqD$fC=`kIQQQ}LQMn}9gyU=etFZys0a zZs;|n*9>NM5=us_BVWKga-Zq!74B^zFy}&bYEF&rClliA?A#1EI6kVv-u85}XPW>w zvZ$i}_7wOrXJr<~tx!(Y2%`=#Lo;X)%r*OZP~`Jr^w{H0SsWe|vmfEvnsz}^FL&4l z6lKQ1>RNqa;*P=vY%ZRV#X5dSnEv;;Du({g1&BY$EHNvRlX{_bk4h2(3zoLsbI7RF zA=UGyA>ewmJaJ&UFRU$umv<|Q@aFQMJ-)JDXtCi?+31z%yj=bqz<(Kjknl@o)&Uye zU#{PpaKu`#{e|cx*h_M%?Rs1m`r#}&eOXM6J<1AaT$5=a(I^40U`6YZUiE z;T0s4^6w=)|NQ^{PRy4^;o+wKkzimfy`nuD0Sb&}FeJ9wvFd?fQkOZK!JQ#c97qPj z3JXv*B2R}V*f4YO^8|sxePJeU)#nXi&oAQ-2XeD&}m^A+r-)43>Ho%{n$>h!fSiG%tvbzE|dL{OsZ)H2H@!yvQh*q!9 z69H``m|*U|P%`*HOG6Z9yuc}pZeu$sb=JPg`psW60WC)~Z-mAjZGQ*G0kj;|YLPvB zlL!|3n6{-(yeiwa*sVc(oV-<>n; z-U0u>@l08$k?y-YFaaS~G@vz1j0xKK;3!5XS2n(OT??3i&X;q&=2wtP1p!O)5H}dd z5CxtJuaR)<&0LuZ2lW;|kPSr7drE>Crmw?1NfY%Z==*NG$C8l^uM}qDbgh#dC>K&r z#-?PvOjil0`ApJU$v3;F}?Xvc+7Hqas zJ}??fc=DM%&BVFc}j0&TH6c+U7?7QbAFTF#h>J3GPq6 z|2_)mhoD*1Yc`AFC2gR*UPv&sH=D8sYf&%J#{Z;6s^7LBP=<+9;P<^`USSamJRIXU z|33USZ&Qj}jZ+soXGsR}S583txx^M49F0eibec)DI1}CRZGMy_c$mF%&ZqL8fdM!B zBuH7Zf#7_v)(wi=6=Tc;hzUnAOVi-Z(BFUFvc6|f7MN-llsf!Mt?uZNOTS@)a6GrU z?;l0+k$)&jzG9yQF+{P5^^VazC?dlE?I&{?Jz`zj@2xr~J--E$-txi8+fN{#7=b91) zjWXn3qFjJjBrppS{>uD^81!hk#J%=l?c;n+Jh^e!6JYtQU)oB!fU2u2!G@u^(xlQ& zlFD7qbu*g(B;YTrdkYMTOTd#ktzLeTjys5NCk&#TY3IA;r=v!efgH*Qhf@rjD#&Ff zWJdb+60Q}1C8ljAKB&=m*QY=g9F^2)dtl(goA+IcEkNb+ubN3P!P>6g{SGzEXGMMm zI>Q_Mzi3hFs{KJm9>y2$W9wfyX2pe?>cF@39504b?G%{p8)LLT&QHrZL|ZuSLoLv^ zr+Llg@PSVTT`R}Aw9qqtU>bV!Us_@()iQ;drITGEKrWRZ93F1n{039a zKaQ_YG5*o2_I|VNhHWbxeQyXeu$grk3|HEjja8(JCe=Ebl#Y1!sBBfF(m~c%cnZSG z$8T&M@-`cPSq1dpx_}A{Sp#wNm0f!KVKMvfZ~m|X;|#69+cJ@@5*Ar!kNLI<_(T;~ zzXUJjoN8#B^@^hl@iHdN#LZ14cixqqeatBQ`N81+Mw6=g00wjJCBr zlibI=B3$tK!DClExNd3*>Hj$*2T!;|(j3F{SP+D5URFj=%HRHM^<8zf<=D=6+AJ_X zLG&KJkyk#t1L)f{8u9Q%x1PJ4Q$C}=*Oq0SXB@<(_ZE#ou2Ls%WJ|#{!+-v~ExOmo zyz=rwIuDGZc4uE+Q$WKH5FESAhdBa}q><^s(x9%+>zMXkJMCgp169n&HX>J)*-O|x zJfwC=-{b`>5?`*Gd?sr21#l%umr$>7-_P6A@UZ(q_2$xtu1!GUn2gm$JcRyNNg|Ae zCV=?d3|tMVc;)*Nrr)su&Kj)ODt?0@B`o&BgpA|>DIh5<^KwZ`uBgOmTOTKee7=nEhInYXpK5eS4# zum#Y+cZ=>`Z;bOv2b^Ow0L%iFW?PXrZfPmm&cii{)qu7fI|_xG0?R$$ z3#l$-$6|S!U}OkeYO;pSe8we!&hes|L+LVq(Du}OgJSammEqG;UjH9k24V(}K8V>8 zZevxuMXde6m{0;MAz@)*;2W*O{u5XThf{=AaXtCbOD4iWaqu$O6r4kn)&pg1stX zK{U#Yj~8#$w1Cf;BwU9~flqh<1QyH7xYTU`DzfsWOW7u2lT#6q+NUY>0^sQLp8=BJ zY5od;I$zLMEglry4=?_|r-Zp{09;X7-r8f+zvZC{kQS|i4D!B|sDNSc&G2mt1CmxH zSU@ky0{Ncj!_fHwACS}zf=W(X9t56dP#Qe!hd?H%1sb{V|E_~Uzyb~r;m>I7Bdgxb ztE;PRLP-7zFdb6De`6j_;5Vaqj=(%)Rr<0!l8Srhq@=(P{3DXnK25<4J7&Zt$ox@$ z4gdx$g1(m9UpRvflR?#E_?7qA$ulXX=ilb+0zZOikpW;W9whyp_xcA1kK-GM2M1fk z?|mZwR8e0gEqGE?idl)eW(Jz8m%R|bxtR5rTl?w~XH-N|Qj$V1sY6P0W4jrOkm!vdYWUst(VZUlFr3r|3;+vmy?ulOZhB#>bH7hDY_gbM;k z+b(*z;wPva*kSl|JWPh!>r#XTz)58G@me2FxXSP1xw+e|_!TUFpegu8!koW(fwS8` zZT3*V2|>`Sbua&{5ZwBq@r|zuM$_lwG;Y}6fMH$s1IwNGT>`vrfMAM0D-E~WnSS&I zsnho6--wFAJmxa>Z%R(stZvRr`*&N(e__J?U3+@Je_T4UYai?<1GM2kWX#*!nYp>S z&I?cgf%X+j0eSr>Ehsb&2Kwr+=4Q=u3aG zZE9tI-(XG&HSwVz9TD+;1782^sHu#wUHov-_eQ{RKH#`h$cg#Anh#CRO>Y6z%5g?B zI!b7dLr66+?5IupaRiv@dw++xL)I1gaP##+nCa2#S}RR`_&3$sm@U%ApZo&g%Ti2ZBs#o{Gg8)cxP_S#E1-oar?*Nw|L|(rN8ddV%Ke+{?EgvQ8ZG8YhV$aCGHfuVqwl=>SX|5rLyT=; z;`ne<8AOarYYloZT!Rhh|8i-gIYX z+hY5b5ZJ?${m%zDzs2~34mjgK6(p*Q9UiqF6G~lE%?48-#v7t5k!SX-Lv?u_JD_YX@8(!vHr;D#XZ#1bBT`P{-hH8|e$5!0SsO zua$tz_~JT;!dW(6nTrV_XG33=HUgu8rUhGpq%>YOh)vMr;aUoKDQQU7ON! z`OK=UK+^d8Fuk*4o8)E*^BCLw!zIx8fHS|)*W?R#)CynJgqL_uxo2J{Wn-06Cce9>#&X@d!YwEIPSDAeRTtKY>r;w(rs}-8c5nqN)+{dND zcI$wE^vGnj;U`(?73VY964V7&xUVAYLb~s1m&$SPsp`4(L$-E!e?p@!Yp-w7XerPxNoc4~u)VuU1!% z8vVhxt4znZ^v};aiI+tCp($n2+~Ad#>8CwO@51g3`y9=REN&yX5rP1%KE{LPJ5B1I#uP_9Lg z!&p}+PmbrCnHIyBXJR5rrN_m)b6hEtp83?np;!15cKZehmzGUec5f zj3E=r$eyK6VcTI&p)`8Iu-ETXf3(;4QNf0lDD%o)CE}p9>@`3O*vJa!yoU>s-z1RH z7m?2;*9-yk{oDUt1k9Etz$(zz2D3Nw!-Xc>z zoV+T)C?A8UvigK3{sm}AYrRv!7K%S0FbGYx)x#L%Vm+gAW!d0$Te7EYlK5W1dAfR$UXx(noSw9q^RJ}AW%Z3Jp)IqbWpb|@Y2Ss!jSd|~EmsoI;BYh>kAUQv$>=}fH}22Zk@ zy12u{7bvv?#&nS2wJ$`~%GX2FG%48UK)4Z=4)8sXTI&|Mg5ih1rPQb8S|<;E_8@-zhV@c)hHvHK5*XC4=W+PEu{e z_(P`x7W4C3k>@d>3iIuPoyswn($&_9;N7>eMv#NPUGbKT^SiTPM~-DzqArz(!~CsP zthOvG7@r^Ax(HmnLNPet)rBigelp0}+uIcbcOzF%PseWtNV>oc3?4wx(Tt6=as1$m zu$$G~v5R`p{iWrcD$i$rolA}vWrKG-XfVf(Vf>J~nhNfdBra*2;Yn7#NO7H1dhItZ zlN;9?S-T{=-j>2_aNozdWE)=C9kYrp1htqI zkntlivssa12LY}BScX9&wEBD$=X&Dm6Vk6AND%s@LCZ^?@^230QXGn5Y`UoHMmwJf zxPr@Bfr^9|F)3Y}!N2jt(O$@{fc0e4Qd{7+{n>TmxkAj7z`V+B(;i;SubGeEpYt{m z)VU=fi?w0)0JABPz77bUZ?w9MQ#M@X$JcCboqKj{;|1%To04soXZux0QR?kBx6hM6 zuwGq-%QdRjXhV~K&AZl}qrJ8j*1rJTe=e1h)3OR)k`s`2c*!yoE2$_c|5EQ!Xj{|^ zNya%6Fy8iEKJWZa(z;a;FfpU*2Q72^Ws|<_Ts8!Afkf@49x>R+o@{{qch*f&=gJed z&q`pxn+j^JvPJ`bfMkuzsSJ^v#SeI z1{L%VFyb4JY@FdK60(3Yv%U6((tv|XSF3&gXDLwHlRa}7lxN@y{_XAepV=qP#M*}k zyZ&Cs`V66!0F9 z%=|d_EO*_4VpOTR|J+zmmE}4u_r1bpoOSS~Y zwqNe#h|8JIcRU^f67>sbHrouhz~SJj1ayyR!uPubjsdkKyeaAD>RY|LmmIr1GGf3H zR7mb;mMGS|9>&HR%FO;M>(if?OK#` zc1$YR&;2pR%txb{46s9VjIOf8B_$wnYyrXNL*Jct!l1pBixX!#e|gHfgn0=1WDodf zg6yMUXm$o507e97m0jPm-qF7Tux6&R^o@fZMxDUvhK=+=zCl)vz0Q zNAF2nu(`9118|(JZIK%3*<%POh64E_+iqQsWUqGvs|)~8|PI#2ma}BSbZ<{2>QAnvxLp#|&gHLTvk< zp|e6mbkw&16=cq#F4Zf{?nDHylu0}Jxr_JKe1Z(mmdP}%#TR#FGeA1Y`;61^+pTi; z6F9AooU#5?cBs=}wZ!KkE#EbaECwEF2wZ{`?-HF!+i z7Z=-9mOagkZBBd_f4RpLd8l81LWHpiaJ1$={2IKNhq&vbTy-qLU-tGjVP_P2{O;la z;;jj6<=y%wA3g0$BU>|CGJdl^!4L?z^)a`ER|4K6?`wPfSDdcDk=<0X9~)lxggn3^ zR2)AJ@wa)_h4DlD8emoG_XQ{Vun#|r$kk`Qq46zwn45=*N5iKkhOvp+EFAI$g%b%a zJyha238FwXZLEi8%6;kJ?PT=5Ul%_*-?n{Q?INIVI0Fgj0Nznd^leM7pYpFa*RjQP zO0f?KFA6PPZOadtQ;HMro);X;B7QFp(EpZuntr#(z&wT=E>hiXv7?cil{#A1ZHK^8_NSh z8CBfXbB*9x)ukYvH`FL zLelr3N%?4u1>6# zi`?=-VzjTDL53|vi`{P)msx_5b3Q>1_LN6tot%YecHYQbM5}aqUydAe6PtH>;99%c z!y?7t;?qVM8`&4U{IobrnBRw!)(Y#i!`UbunpB2NxRoTaXp1X=Ui7DxuB}L{D;j8U zC$f;EmI~X2pP7QMdMxl|lW8CjE%Y-ixt!Ljnlf^?b-b*N4;ea#>NzemI` zPZB&Ru8n=c_B#=m#UQq2lk+;A8%*~NvDXBnBfX_3i^QVKBk=p0T%g_SLX>-zuJJlF z^+yQDF`;R2MK&?c2O$ibAnLQ=?&(GW<;&#H4k`sHGhZDzc`wC;k0@8oUcJ2a$AD&S z&s!tavDinJ1@FNF&2T5eHq7zat;>It<6+C4W4Pp!uj&E2zI>$b{ydSWvv$T@Ibf&O>sSJ~ zhINd=A1=Pi`iSAFDHQGGmhe(5l-edxC3v5hjZEf!zr%>0*jg;#8h94uMK@3#;Ew#c zQQ6^qZ}4GT<_hbD)ZRkI^C4E$fD0?dG;Fa~Xla(K3(J9Le_6h#iHQ1zBxKzqUUuGcSi;dMCVr%uNr1h|`21qqE^RQZKEOwMUtS9qE@ndYDi+GLR$;*7p z7HxM^PRbY64Yoh-t;r46ck3(3)h!B=5DTxEu{u=^l}=~=VE<@SW5KjYHvhMjF@c=8GZ zv1J`|>)DjwcdgQFotqB|XzB>H2Xu(tRxLxz=Bc;gvENlXt~;x{tL*+__>i2_%&57n zu&e^C57SD%OXftMmqudBEjR4vA-53IEzgAFB$;dni{kgE2wm^88dL)|Ur6~{MvW2T z+DJ(+ZVUc>y<{A3F-~f$)yYFumP^6`*Lc@UX-HyDA*~}pq{!q1<7ahZv&F`wRE7}w z>nIp)tY|mmH#l2JBM%qS_GCrEn=*%xxKG8QuATAWUNIAaJ6`d*jg1xUYejaARkx7J zZRo(FwYF8tA~XrM_u}FeR;cI}cf~Ok);A|hHi~etl}X?`(FMQX*0LB zXuR|MiKVBXAL1z|vhDfLi9;?WsQs6Do5pQpwQCSz3!@k*F$u9kD|06PaJ!6(J4sF5 zw{0Gzg)QheFe!#Rb)%6vDqRKrB9P0XEw8(D`;hnaMmY6P8-5j~%k+}5=C#)tc9lyR z!kr$YrVFoeF7u-u++gW-V#d!5?}xa&2y&sLs_B%$Ja6gSb(Epv<+Tm!PdVheT&+)U z;@E|Z-Cq}c%HOhi0aeob-U!=SK`Chw(0H=cH$G6;I;mIeugCq3P?@y3JeB)GpS!Qc zep2E`Im@@(Ud3B(){X08z!9`O#0ncxaG=d_@9J{F1y|m`FH9)7FcUw|9Aaz|s2HnY zNorK(q_1%m(trfgjcKg<+(iv4L>($}BfcyqGKdD7WIkn6ueL1S)Cs!oY$1F!1)#sqN5hW<@AWIFI&{eB_h*T+4o#bw;`R7lfmoB|{dHvg6X4<|7i49yPwbvR6!+ z6uT$#V7L}sh#Oh~)ZN$simP~? z_l}o?`7m~_VH7)UK7mD=CSVAAJ71n6SEeUAo_xPl=!%>SB{U!d8t*FPuwE9KLu^%& zi+#2ld`9P*6LJuHdNft+Hz~@LK;byKm^OzYl~dXjqZ2><8;7y`n%027P74dP>?@3Z z;Y~i<;}&=X7!G1nbG7xwgiqot_Gob8ONr;i{cceSjeCUUGz4H*p0H@P=^oLE6+lW@ z*uIS*IWdg`{NQP7eheD9Zfo=A(fK32Ln7x6LIIkHTSj+gmVDao1=)=D5H8Md79$ZX zuJw4#@$S~k=G$Mny)$7ca4{D_mcZS^?~yB&N-n1XvZ)||=|#^e)JLmE_YwGgbVN16 zKok2gAo~B_8Lsh~ntQ!L8FYQ2TOzME^WB|@PJ5~=ezNp0DU|Qi1Y~bBcIW0kwWrg= z=H-}Buk9n>{Tw(gH1@m8L7+dRQDp_UB%Qa>*U&FhxJ)GS~Dp3|@`rUKOV^}JuGjSF`Ii#&owVa7Q znq)eFRWJ}Mz~>gy*2@rj)CG59Wgcd4eG$yqGXM1Vam+Gz=7kI>a4#9#yxrTg6XGJ2 z8`&?nDqaa6VLJ4NYk!ezp~--qnTae>e8`<4^ef+2nWpFrMV7r*utj{&FvlS-SChv& z2vPtZch!J|&e$K!nvE*Po1yS{+Bn{8Kt2?0i`2d2UeR}x7+)M{SJ_n?BDC{e)7xoZ z%P*fOymL@(FTls68oU1DrT(F9I({9xSRgC+73O_=R`hqusen_?9I=c7wkEj1DXx-g zEA)a|be)nPCq#KBxYRvM-{ve#^U-srmk@T>@i19eFP_t!V5-|6r zu%5yoUq@8!M2~+$IW+o=#=Ns@WK~5x;0*p^ad^ie1D7~-yyJARcG?{sTmvctX|7hd z(IbkpC$RMM?VI#LasU~hm_nx5)yG?8OY!WM#cVnu{6^i; zI_bSwy1$7te%p;RDx>m=MJuC@i)&)fmYtYyAuVXx57AQWxY*`0>VC+!)1sy=4Z}Do z!1;*CsJUUs4n^nn{r=kb2c5OA>uqU~9x*-*F-0;=0M@B2Kqu|Xb(}}NwBGXw$Ego7 zs{YLTahTd)T>kXeFj$i}=QDSK0)f4=B3${`ALA8W;{JV+ioqgf+`Hq}k)nzp3371@ z=?I|?7vZdcFQ$EUNJ<_OyGLuJZ@GesC1Z3J^hvqJ__my>*-%|i3W5gQi!*kTGK|C? zj7X7~_dcjmKA?fE4Bbe>H4^*b!nkG=Ep1j2F;&^HS!iaI4nVy(Csp(z_Tk`aRpH$9 z?>z2!3GAWeinrJMOj@*3BNFp@Yg(0T2Oxp73H5d27POIA`Obx^I`gB@?8y`7o=@hy#ZYcz>oEymOQ7^=OnK?LQqS4=g^Ogmr zZ&-Fmozwoy(7vYJxFV@`k{5NO^8$nA+pigl`7zH`sUdi^Ci0w)D=}g~XoFja^hNyM zA&Cs{Tl6B!!`xka*I1)${XRR#9eJt9=T1k8x3LM$W;hbKeZx@a~VhnV*@JZl;;%2 zNd;EbffK-5R^vDYY;tIm*{u}ZTQ(bOx}Jhq(c3!ZEz<*7B?K=Q8`|Tx=>eyYI7gJidKqKuRgv{cQc>#UXR)E zk`^ud(?<6$H^encohcXmOjp_3d|NrWdKjYT*)1qPE>}J1D+cZ6(u|cBaEL)MKMVKz z^{u5&6D3lI;0DEHC*sfCLy4$nEBxY=q-9qI?Izfnfk)+=77BUz2_GtbPZnVm>`tPN zKLS%ZjB7KHUU*fi5JnTC58b7q;|@&v@(TP@pL6l$)~F>PTnWHa&AGpsK#7P3fDQC_ z1Rp6iVU!jZ)0*I-QkWzJLuk*sqPh{tx3uD&osp4oq{{M237OLE;(Lldo*11H59%TEUsH{{2hB6Cbo>4hxS7(`=uCP}5D7WjE+ea&)AOBYd2bM z*K>|kJcA347T4bgG&=EBqA+Bh@o!C*%L_5)oDOO0G_W7w>2X+`D?`NXw772#=%k!Z z5^HFna|AX_PX>*ig6mPM_e*d|zNod!) z@lHj_Mk6x7f-BQt$8oNiQWtEiYi&@kok&#q(t|)|gnyi(MLQFljtN#An6T*~4(zn` zYz`RHi2+oK+JaYM{qA(3S%8+a9DbP5+EM_@opSG6w#f~S&KvnRd`hZ+lDR=k2NpwV z(oW%}jFSgc0iSSwLP?Y{?5d6Kp?wY0uGt9CR?wC02WnC;U4gr|#X$@Ow9qAa$anQW zU!DsJZKRV3CQ54?f=$mPa-W$exe`>WPd~_!yz67fb%l+x+s3Ude`1}F>`J5u1qn?l z0oDd8kr~{%ZV`AG!u3!C8y|Z+TPT*JVA!`hw>2OxgwUrO{F2CY#v>ZAp~Gr{Pn?T! zwLLn7FIF+lB+D}CC8I{1tlE7 zNS)eNohnJwb@;k%6XjWfU?5A$T8cF`ZmegdG(#*IP01VH+bSdV7^8P9E0@;=D;@ZY zd;UcLkqp5*z?x;uvHNO}M!_^rbOW2LoA5k5+)3oujJZFYOvDijS^{Uu9JR0=o9Vz3 z6*S2%SO74Pd@iIi82YBVFlx7DpOzh&6`! zUFb7f^i&|OkxV+ZN5Y}W?Z=F%gSS-bXjnhQ-s#7jrexZrt}$+Aop!vJ$uh*9w8j+7 zU_EdjxwFKA=#mmb*sBrO*S*apjg3bSLTU?}g(|CFg)~|j(R}y)@SauTo=RKLUv56? z&f+5|l(yPn=<*Q5vS(e~zcHoto_B+{+J4`V(N}v+L0^oVLMxTK9S$JFsdt|>oj3?W()`P~(|**)-`MCn9UHE0Jsjt&DG>(XpuPKaL7M>`lGoC!37gTi7@=`ZW9~Y{23MiV-jzbL$Jgo0Hb+`& zg@zb6t1Czt!Ouv3oydPNKTlV88yUDPO>mNJ{L<3n>o5jz>zJ)xj*Xpk_dB}3DDcJ! z#>Nw@rhTpIB@vU=Yf%^-rCeY^>p4gp+~OzwzH3VVeb;!Ql=C~+H8)5o#8RjKBAF;a)bt3KsZs_$5^t)%Z^!6V|F6Y*|~CJRI^ES4pBHBVBu^*UkL34@2=C-@Zro?7)N+M#y->BMrM03m7o5o4GXhNlb;WMe7F4_~Q z&kbjO8?Mh$L)x23j3hIKYVdMH%*gsD+s_Yye5KThD|=Q0pb7pin<;)ZR`shva#naD zz0+r-ZM_&jjy;mMMNP7&(l1l@d^)jn?e2yNq)2_29(nVO|C}F7S5;<55ejz{)3Xq4 z_43;jKLQ5tYZgMt@WY12SrH+};`vr_B z%1+}Q%6NpxGk>(Ap8xbrd134Xkm+jsXExJN&DjT*QC2gnnZY6JF!YdieSbOkcq0)1 z3`QKhM76yN{Synce-Wv^Y6Q_@@~WBQG;wy#g=(n3qa$o0AVi3Ff51Dvrgvk{w^q*! zHQiA;-+_ohxFqbX9da@VuWM!3|8!#8J!!>saZeb+8z3Fp_vdptB=j%zKS5 zS57&sd`8ItY0jq~4K7!_ECA1-#?HN}dnj0AO_f?-Xy$+2IT2Zm>fD7n-{Gk%~M zkz2dBg|wahXFRdxCzUtTaRu(nQ^b@lQr>lDd$mAY=RC81Y{3>UrYv#c-64pvB-c21 zz4#GP2S2Pcb%!MX5f!dllGa#^&$DR2dlu5Zt|#U+I?!o|3}+%!?Ix}fFrFIM=<5d5 z&9?LbWaU^uAim1NnXkT#MV~3yy#^JNwTIh6k$24! zKCxnD?uk?7Hqm5C!=%_ z4M53Ony(io7$UlX<05IH+Bu+i;xVqX60HP0@=7B?Fv*K^t99+RsU4BMhXjTpG^TNH zljv0(V5S5bB5}ZqHxBF~6>f*ex3=o$RLrXNhZ72{7gE9WEHgyG#2zKjv>pr{>nKu= zzD4|?W?Wpjp^Mkn3<4&L3eW^*^FsN&9~u!T+r%Cmuzhv(lj&N)+Gr2CJiceId2K-l z45nH*IAeIi*#Xg3eSahjc)}sXIQw#@)BYZ=QHv1&GIKn^e$#JUtIF9xF7<`sa6 zzt%Z%dQM*7tYAVgxleyd+05u<_IpwOb>M;epwx}c>$f5Ps``%c7JO6Eg^s1XF4KO5 z`{eGL_k&*=XFO+|$rf*p%J1oZ|Hy$L!cH)?X`Ra_rvi=_S7SxJ82VTwqvkHQr!?)M z_{{87X|I8ElH%8m-noUz4adQF-^ZRrO3?C6!||~B!J6L z>gBeO^{DWV1&{7mj0bqlv7WiwTez1Wv&)1;$mNth-6M!l{`|!qlo|7t$)1iWt3!{} zql9*=P&8)UQzBp{Cz-T%qLl4d|3YE~*;yR1f@thVbS2QJff^foF|H=Ko%KQ|a-*M* zTKttiFPjB@e_|3aTuZ6A6HY7dAtw6Z>Q=6futREADZ_3Jh4|sxhzr#ljY1I+x>$x^ zI-whh%|`aDbeug{9Wb}XxX`jnahv;E>@uqMuIUSmV3KGk74(55YFY2nL`DpNVhl>S0!WH<4 z#!qc|Kw}QUOuqchR_TOV1WJ!6!pmBxPm(l5Wz^xx=t`7a{erdtqyoAd94wD|lz|KB zt zbGGx)@loKT!lmGMXN!v9-Zso$X2>q=nL&dl6(1-E+bs!Ppa>k7iA$eorNG53(&vM} z9Gnzb%&AyR_fm6rh+MqrydGn zTO?zqqZ0UcP(aKoG-(u`;WPH9bU2%@Cv$XNRQmWHd9jh~4}#P9<{2k~$YQR_#x$_t zG&tMPicdvP=hat&n8Gn;m|N@*wLG4qyUg$pbFzK(@5E%bgVwN7hR2(53r(%6nct=2 z^=xQWo@gZ~sQfN2939xMW!^7pV81f3Qy7iCRD{?5XT)l(^S;@zxm3DKSSZsPdQ{{89)a}k{aREOf z=r$N%?d$pV2m68ox%&i8Q3tiIWkKl|)9IvnO&H6$IAow`a8>S&WAAhj+JObg#iFZ} z;D%gIchJx`u3`;jPBSYtJIZ%W)v{~#O9a99<6qS9<8pE1UM+N6<_UhSOoVTgS?FNf zW7_u}$Hr>PjJ$iXOz)Oy=OKUHo!8$dyo`)FjCdYd)&qEo$N$1HMSmb?++JRqvV|s_VFlFX;gT02hjA zgE+*vckovBn$c|Pn`jwAO~LDmBr@38#xVg4nmV7Nv3jB=ez zpQ_s(X;U2@>Z~@R8JQVu@`w$3sc=H(%1#4+lR>;PL(sdcf2w;mr0e`5^=5^I+}Yt6 zfShxjg&*mPGFC3y^O1TtgC?;P7JcQ7du4*3_qEZV-r@9WBU;tZV~Lzgc_qwIFb~mI zANWl%xBy8e58rL9U>Pdcc4wDJc}$7StMu+|2gsgkLJc=dthB2Yn84-(wPLVx!;3FZ z*NK*~wehwC6kL`08QL#sSeAzJ?=$$op->N{XpD~%UAe@{KIDaCzgpS)>b2r#*acC+ zWBeWZ7~;)XafNC9>_tUyc3+Hl*1m9PB=`yY?c&R#vMVB=@+R2X9v5{4l~+S6E|$zu zd>s7LBDOvKY+d%7RMkMCH4lqUxLw4}13PDRs+}Y0{KmL{aEOR<@apzM@7CaxnANE zRF8*QNQo70$iY>w&nIDr&3tE$`%cLn+-O^71DZkRlVE(2s$;DpbAh$%ss6*K`fqN& z*+-aOV_~c41AR;FMeGMHLj;@p4ntZF4bX@uFQetDo*g?rSBIoOW!sq93Rup4X32`@ zH2k#Yr0WD3UWY!L&D4YITLYC)7Wl9{!J}ZvVXZgD?F8+SN#Aoyp;Ug#rl3D$A98I5 z%{Dd)ta!DAU^}MZkf!QW+Fy(|#a6N>I`&-*abpTj6S6$vm*(K?7w?IhZ z5;9l^M<_0`D9WQ$s9Ga28g1GYcAF`l=6ZOYz@Nv)Jy991sHp<;%}*Q~3iKrrSA_n~ zke=D#7oTAEje>Ar-v=$9?S|Xi{PF@9&*%`(JTR+I)ulWSVm3A4yMuLqP|q(;2-awO zfb{s>bPI76TNDC3F`m>V2Q{T9QJW{c?uY#Wd5_I4CSE7>bX!s96W18;=Pabg$Lww# z!yLi*dsP-Tx_uhf)5d+A zYLT^f+14>&%n+^e^}5ksQAiOYUJXQMniv+OdC ziwrARbOe6X(y?-n;jl7efGhpyi7$Di6Cq2|zDg!H9&2X#K4cE4{+qy(5f~tN z=@*;OZstbzi+rZ~KKE}i?=Z+R&Yb?-bgK87Kl68@i6xWEl`76Go+u#Th4%FuBs}Y! ze4)tOo1i9tN*f>Y{F#5hLD-a{-5WF|LUBJ6dyq-7OP2Y`$*gCA9qRo@-){BA1U*%_ zcTSsR&0H{}>!g%0l)&7;aH!;)e`ZluJc8@n0ePbf540)6`645kh#QBWNiG^54m=Pn zaOTa8@h=RWo1vZ-gT;e>%Jc5E`;3_v+DS4veHD%5+uR3OG%Hx&=pI2#-e#Emqf1~` zx}7O_Q;vAr%)1M9GB}IBzpQXgK~_D2gyJ9hbU>}-25&UG$49`84a;q0Jc{x3n|;h+ zx%s3BXYnwt!L437{+l<`-5CpYb0rhfdlnDOX7lPX6=8Nno9Dy3>UU%&O*6FxnKcJZ z{IRAd`9nW#9fm@$G1&-M%<%^oh&nKqto7PYEAy9I3GROysz(Xm7>ds+M26U$O7g;H zVQtWLeg}dX482NY>`nkMDt1_<%YZU8CxC4G5jQ&I-s-1^NQ)_Q?)ZlG;ZSTNY%khi z2mH?WEQUiRvTyX$oJ9&Uh^cBFbK9I$lykT$(X@P`^e?(8sP-%grbyIDo@K?UZLJTB zOFWT>MK6BpsS^9d>0u6yY{41LVy*;{ipOU4_X#apG3-P@!BoS9R?1kcF|oS{xgdV5HqH)!Eln)DB|V5|hQa)&?Wz9eLI1$D-(XX~@?z zNBeJ@!|5Kh!tD6QSI@G*brxHcTPY|WGhLy0if?IB*CX%>k}*KNit@X>82k|jUKJA;6TiTzY{rnalk^J@6MvwTzUfAw(x6^#%q_tVnC z4MKg{;*Z=E*_jK5`4%VG7+gO>C5VbV^!|?_vbbQ~=1T=RmlS&?_Zd%*QOfg*m|XUTZ} z^Te8gJLlPtl}}vRfb$)8jjLD-?1>P9 zRlK4bWwN74ufrG`Q4kkJbo!m&XP7=r0?sirGt=uLF^}ZzF5X*2{auB>BL{tMI^5JW;MazR~|y zC!>;j?o9vcy=PCZTWmBKdF|s?+sxPTYV(zZJczoOr<_&awJIvsErd>zug^SweV@b5 z>vh4OTb`=r;5Iq?JKNpk+In%FQ>DUr`qio8-2(90QWMvFh)>w;l?*O(j~9tCVI6P@ zhoDeACAHxfc8+2!t#TY9o0)AWwSA{)?dUT>&e!L{!%uAJa7w@PuPb7LkLt`3sIKZi zG5jI~GivNrr+=+;{Pxcn^FXrmkKQyw65q={F;2VO!(?7;vMk|gVvy1ILh3VzuIn*7 zbve*W4S*1&!Wec%Qwc75XZEX>CYk||6}v+pP4Qr=zf+PgYBN; zhxf<5?3bEnKRTM5E5W>fMlbW$Mjj$8Q(e%-!$Q&4Vp6~(dtVdf@H`|B385>}vOMl_I@1iH$c59SDw&XxXUs#i{MEzli?M_51<0W-n z@@QPiv|<-?FvF1}&pX(%xa1j!F%S2bc*inFFnzpO?9D=lEZf?e1@!iAGiDa$+qves zhmr+fL6T`b(Doy|IT7ehk-5^)upi} ztcwLAXmukw-Q-D|a-6nnRG%zF+6bt3akAcK@x-0X)Is_ycSVYyVt zR-sds1IMO(M97ZXDjcxF`4?A|XA7UZH!)~Z*?+iJaFU4rrVJKM@0W*((y=l(m74sK zPyY$P!SEpB?SMb>W3A@LgI_U-K%+6`$1FAMbTo0tZChQYA{+Pf`<_NfGnUj7;1`D} zC;D(q&Mk8lbwth|kc)6o=vNU2n7d*893!47Cm)@CrSOAAZYirtC<{|y*or;>4ED&Y z#u1Adyb=>0i=Lj{CWNg}7-87MeiYS2W__uyi40(JM(KB$qj;C>1Zp4`4VYL>2&2G* z4+V!+o-qr+7j%*g-o>2vCWRbo7F1@^g``(VOxySf<_GZwXM#`9zG8z&dIxr<#=_#l zr3z}dTSw?IJ%1qZ-ZfV!mF?L|LF@h`Lx{VVS^Wn~DZG#IEhil1uyf4MMvCwyTbi*H z0hUv}TbHf=@}-=RQ_W?^VJ^WQ0{d3I6Cq}b;?&?o+KukZsV~=Gr#zc|)H;7Nr1U2o z(b*k`avthF2W7_3?zcc+{h|gLkj58jrObTR5jrozl>F!}Bf`uVrPZLYGjCZ0p}jIO zNIT|}9fTTa-QgP?NZj+V^Tu#MOQ(m^xy=1S(+7_r#&t*^y1cF6{eYEZj(wL1M;kNb zpgo%FH$FUzUi2n4x~70B5;c^7)8*ti@&#*|NI2D|CZO-vdIf)DKF7<=OwXtU*g#KH z@BCR*m|VAiUdHf2w)m=`v1lcSVLy<|gIo9tW5|`W4lUuA_}}W1Dz1zyX7vOsR+E^IIEO7eNVb2Wnyjmo&RO7AySpp2IM~0)*EEsXx-jI#z@w(i zh1BNnW1^-_W=3o1rODp{ODheC{@}ytdHQ%7rIVD;Z~=eS_X8ody54bU*G)J)jLhoA!yT7g?>i!O zl66n8Vzbca(~yj;gr?o2Shx@r0f!h-A{r#&P+QgIkZ7i9Rc|?QrXOszT=%-f8-kaM zJ<&T+2#%d6CCZO!E~5wyi<-?1__EoP&Na^EQNA#XR2?Kbx(^t7k{(aQk=W!r=XO9M zm^JjY&Vk06yW3G%Erj{gfjJnSY3G9xZO)M=3&1Os^K{Y+oG_em>nzG%H%H`0q7%FI zei#YRbOq~d?F1T6V@lDOM+?u_cR?cjE+-G(Oz{*qbWTyT5-}JzDU5VisZrInZ&8EF z2M$mI+&;JS&r{@Np3g$4ByD2aY&&~vbaTUL?#o~0tZNBU1B}ZGJ_639CuHlIx~k?= z)tpPByhEMT$RGKUBIX@yj^=~BCq}lhqbZG$4{q3$%J})k-t3;s(rcxN^mAO0*C(=K zQFqyK>Y8QpohJ?{@eADZI!=TOO}OUMc6GVVN$w2_>BFz#gop5n*b;}QWE_I3q4lXC zRA506G9gsS1x=pKi2`HCPsXC%FAl<9i+O(*&6eN|QZ2M!nUJKVf{VD?)^E)Yw>F9# zm)I?k7mchnZeBt4d(C=_6?pJ=H4oOjRcbBqf>0^YDC<*j&vlwysk4L6lv_2{uYbqUVjV7HaBKj}Hx+I3T^`RQA5qgRmd!G26st zU{;$k9*D{MeU#?$Bf=Ee-Nc zYaPLYdQ~m-k>hM~;+bqx5%(myB`|&)7}(VPffS0lmU-vmfkSu68m^VxP;Y9<`SJLH zl7TCRR@sZp45_oRg1cACc0to6pUpDUIdM|S0 zc(bv8^!ZCQ4BU_N@35PpcxRb!oY$)xoJY(sZDTyu2n<}#iI+mW0;+>9tJt=}>lYyt ztp-NcpDZW`IoGDDOddS~oYZV{>O8-0fp7|CUhU>3#azUThILdCvsfwPRmS9;Xun{I zq13k2)LM*UX{1#%?2^4YLgI|CEMwUn9k90^aM_bX`P!cKLStL19BXvKIwM3rI>E&G z(Kuz~H1MxdnD&}VUK+iof39@V(N|WpUSd2Oy2V9Gs@H5x>b;TDrN8rMPMv}^1HK_l;)Pbq7rusC8wMo@>`;VIS=jTjvmKA0QX zFR8#S891W~u&y-Wi>A(p?yRVhTs_R#=N5N8aClN{&x5=oM{GV_WRl{+eys`nnszsd zz$8UMvqq_ZK9uUX&I$GCXXq~)t)ZbpY5@aCZIB<%8Ss$1(h_;)Ez0rY&?j2tupNI> zLq)FRl=rZg@pS?y{!&Pw7;12C{{SimD1+_K5R{1;Yx6o%LKR$;_7Nl_=gW06qTFfKv&U z(c<(~XL)#2f9S#r@H;`EVxAF2L9bymhVvh%MhxmOQAgS=4vZ<>V`~_ew>xm^yAQ)r z&+7WD@Mp7{viRJ*W;i5t;^ygqrh@INPukAdEuj&R+S6p>PK%tmf}x0o0}K{a#>58@ z_obVcyFA%pg~dX{QqPI?AFhM!t~VtjqO0hL82Go-xrlc(+K1 zk!jK$PtzhyZLXrJ#C3VcaJ|u2^FJ_(iFKWfD~>iv3e;mmyXNPew41UA`pDJ%A)S74 zVl!{*zRVMb)@S%`QW+^?Wpy4XeZnjti7qg^n~N*6*d zKXh3bx~F8m)}%xWyCa5JYf${qaHiRiaA8@V-%*>uILfbLwyf@cYaL(9ESC7DhjhdD z5X*8r8-A3lcILh$M*T^0bxeJQ?V!E(Xjr9eG7e)qV40G0W`!I${8cx$^2V2omz$@8 znJ5yxlxd8E*?H?VKae*f3j|?Fw<}w}`8~8isP&sV2ad-D<|qyyXnT3?X8|lw@|=X- z9+1l#G@#{%MVM%+Qw8p=j|YBRyiorGd+gs;0fAGkn@gxJ@XJqM=FPBMhtH`%PcdEw zB9p&r@Bs@^h}B6vGi?0eRW4H8b_{Jyv1EBj zAK&KHfD~g8XN_lI!$wnQG22U;2aDm{Oz*l$P)!@P>MqVxdb{GMK>_Cx!>;25ui1hC ziguSBJL%()uLdmNQQ%H}(KUTOrg$m~IYW2Ffr}z}-F+&g|1HrV*J$D^{O2(dU` z_|uB!EVG8$kN#gVRKun{dE5F$B55rX(2?eZV6YW#r0S`s{LnMz_sUfoTwScN;DxK+)w^$r&9(gruV~V)$#p zE8Z{qDQJ(drrugz_7VOR4K6&R4dog!cY0GE zjI$$nsD*W5u&;{`7BBW>#?;o;>aWH0yHPT4GCPNE$#10UMO{{91T;P zw4{^;lFKT|QOpW~KWzdtBg-2y1GBT_>h-*w(#ZJW}#b4 z&@Zl_BL9~N#I=9CnqzFJGUY;S7^3~>l#{_2-U=j}r~SZYpa7E3u;)a2#c<9*Bf3)xN}`9og18fF+n zwpPm=WjU}FVS>wGUynv}&`WcK{MWi><29y}^X95En)Y+oY)oQ*1wJPhCzn0dr>;wvJd`WY z_$aYixD(GLW(NhVGUhA#%>^FpK5arD*ye?qW`_lP${^>`1|fGy52ZX)LS}6;-Y@98ltI-)@ooLFw^MYFYrWyiez`4( zkP-9QUz>2ZujewKyI~Myqi{;{v5%>?p1D?YbtV}to;oO?o7E zcxkP}p@s1bS#i>#a^n-h)1t4w*VOPNv-hI38w`6-#ww+{NDT4cjLW##KadzezGzrlMX!t}4N4rcXqZ5dWS zAdOy|ldtFox1jey`1*Sdqm_RBGOzmXVKi|S+a5IYw-@3M&ObiO%A<02ZPdrNx;n|m z;UG@z9Tnf`vwUlYc#=f?aL1}gxu=KfgXr-_EUa11j}hmIdBcuo32QdBX8KK5y49Ja zd=*K2B@R|-mkP6(_7eZhgwjZ%z+TYnr27{Kmm&vkqmh$$s;226f1>$Xx49=N;fz0^ z9&w@{IfzF=d4~9H14Tk6e6zyRt^?H5ddwm65!J>VItEgwxDPe`+9t2eX)#K;HB)Ya zo^S_`bacdq88C^P0`;x<}vXG0KBA zwUEWM3R45Uc(!cq^Wdt+SpiB?hsm@6e{)qPJyY#5%^llF)Y-yJ8qGp4r*1^IoMO{P8mCbgTy=v-HQr-r-OF^p!FuUQ=*nIvacNtN7XR&d21_nwU{jwFBFC; z<}u_QvoPqZVOV-B+4?d#%k1N?>?`2(0=PdUNd;_w5VBM_6gO3wg`Hk2#5y=X8uodH zSy`X0tz8WrID37z*nPtMXQ6w+T(sVNBznS_nNKuD&EZ0Av$Uv9_v;C%0+DFa9fZ+( z8Q?Cm7c<$)<(-6lyc~F@D{26%%JCa}?TpmP`RGMnf?VC+yo4WpffscGOES)xDGMbD zceT4~P~}8zMk;d2Nd8e>QsmsL(zbNDPq;vX#iAHH6Wle2#PxQx+v8Qw)r!tC$6G%z7KVnUgfjF@%GhxcrH50m+c*BL)9LVel;u=VNb|E+Bvy}UhL1g1W zB9ab6A_0=aFOlft# z*PBhJInO_FaoZX=y*QjFo>LBr*-Su|?vr8?b9Gi}9vXjTliUXoJ{as=t2`#5u}CHM z1DE!3qaeUaj|J4rrE9>{#lsLx*MN%8{3|M*`E#+a7}Q^Q-5=Z?MW>tmf;jQEQK=K7 z&_r$n=xK3|aUG+EGkuw}+BmhQzBAKvXi5eWsONf-)6bD;*VGeqlysE`#pwLZdLJ~G zuZN!dS}-B-xv$4Td-_1Z$ne7a)CGzw5OEVD6fiv$OVIHqon!ZWoPPFt*NZsRo1kVo zXMh(#u6t0%3<5y$l>-pAb2^)CZl~Uci>33Zm>pKe<*&tz(@Rkt{XQQas{xE9BsvbT zcAbjxCVyE2q*Df#g~moW&+4Y-LfpP@x`<5V3kw9hdidQE4QiY#62QOX(#XVeaj0;W4%Aub zYYX(U?gJF4y=FjopbR9-i&mz*-?Nx6y`8G5JreM-W)v{gyKffdFMP65DydnlnMTn0 zlgrlW;5>hzUpqiAfANNvQbXB|$ioMT9s!z(nBSSX3=k3l+sCoI`|L_1oAEm_#>n$G zzJ|);Cjb)a3fJ0^&iANsz%c(c_&gcb8noIJG}$vvm+575_PKbredpH$f@^?ZsSgK` zSFfb#jLbN|$m-DoS!pFVDAYFsy43uHKrO%NfKho8j^sq5aHOi0^ytfV_5*r?%3u>K zIN#u6?V_iad}lVOJiZaWFJ|;`*r86gpHuV%lv!r@SHMXqKa~5pf!bLz@Z#yZ;o1na{=IvKXk|{C8kZKSZV<9@s^da5^k*g0XyGs8-o?*wxWt zOL(gc%5*R@UoQp2_qFh-!hm6V2fW7^dQo5Lk#IpLE9)RS;Ow+ z`jc3OaiEILEZj?Rq5bhg5|#}$`er#wBd?|MHxWr!+SYjg!V?0L{w(7iI*1QFd}&TB zGT|u3`AbG2)%4PZszHcx2#A%|O-cHU%&D8rJ`>-mV|3&&+iHk8DE?JvJ|V_1*ti^G zsv-cL6oYi{1F{zD{WhdR+T%I2g2u*44l8ZFnHzkmA{s^< z7Df^rBh`R{yb^iIiRNUyJ9F5pJIdmyts!Nu8xx2PecXw4?DR{$$v1I05=^K(hOl+Z z*f^`9H)rTnvb+M@c(E03pL&{j!{jal{#@e~0Q%}g#%5N&5}sR|4hrI0zH3ZD0`73{ z<=~eV)*7acidR{!HQ}u|hO_iVSMYe&lDhXmX202DCBYMAs2Ecp3MZ;6Ly4+pYE@|u zVNO;DNA*Xv8rzUl?ve<*otlUp77kowY(`~s!%!%dT5!#i(F2{7aeBNLKnt2w_RW9< zxs8HUs!6x9!d2MSP!h503>BVKqj@Vu zM%~*gmI<{Ey~C4RFQxS)H63Q$5k~xgBkTQyqSF`$ZQu z`aDF9^D~qQeks99l-DLIKhwSO#Qe^FmnmM-3N0HmU#!e(y z*-CEq!_g`k*j}_o45NZH;@HidCVIY&RtI7qjW8^PXD(C(4nNBD62;b3qiffN-<&iZ zLCZkOY}caaURzk>DC=`BpnsC*V9PwN7)^m4kv{4NQVnO`0)G3GEj zh4}4EF>Ks$IzOqACK326qTkQTB|ycIBESLSoyJO{ZRNZbkPDTeIJ&fcknW60QV_;? zu9?`dJ4T4Zo%(_mAAZPfq?5m~P(3FZP+&=zPZBx*OP)78&31>#mbV@Gt>b|ce#c#S zV&k;We(ZLaB#%xt-t7!1jTK{+W^;W0(B1k1INlvg-32jJqY|Z{tJ)eXW*}@I-3$rz z3gzm&x}L#u2L4PX@xzGP^l-ic%gnWw^&`o_6@E5D>D08Se1cx=t7O9pR+l!W?G)u5 zP{QQ{I?8|ssS;srY~HoAWpC-1#s=>WdmDojI_(-WC1; z-5NWt36wTQ-z~)UfH?lNlSiU3yq9LV(VZd|_rTWVrtzh!Y>SmwP5~x$_7_uo7CLv; ztb$tOj0hL6>!k>a{+gaLLjYRwOIIMRaJv(S{u7)hpDcS65^@1FH4&!Ma1@t5QEICz zH@z}3%Pr?DRqd3`MValMfQ8+=edi^fiz2()q)G*b1R++RzD8W22uSBLR71Q=R&uwe z5&Nmz18M!I9`6#j-7Xs*D;0w|^T>$t+oZ^|TVKZ0Pj)oVNv14cFH^L2j5oD|AqLK( zmE807%a-95rw*LlZ#9wB+&KWe3ps%uIvj+AK*P!&;}em6&?$7CZ5JT^Di2M%(=L~A z0ybpiWaKacg#>G*8u6;G+nZZGjYimC8&exkxb0iuy+?m#OnLSx|CpUJ$^Qfv*V(vV zk*wJDeBz`SlIuDl8k-TeeG>B+cL4s~azh$hc4yKD)ooGfCwH8d_OM^gH}_2#!xyc6 zMZ?)COCsi@_$8Bg7Dzs@*+zc)J}#+l(*|f3tdxe?&Tedc|FHIv!D$$m9Q|MReV)p0s6MB4Qz+8r1R&Y7Pp+z^A|kvk6d7Avh>P~G?an6V=kssZ6Dj7B0m zJy=m0Vn?)Jp(=#C0Irr)uSIsM9M60-?U=7n?}Trwx?L}ARfs9o$JG+8lpyYXceRpK z{8THifeo|Us|02-)Qw9$f;t&_7@yJt{&$5lPxmYWZ7zGf`EWD$61Cs0&_||RM6NFs z28{}$j7AFU+!8YT=3As0r9pprodX)=pf_;O1EV=1T+M7>(~FLYo6FbX_~wjhs0p_l zmiLKPQ$3%hw!1aP8f2Dl_b!GjEV2*9!z-K5azT1d$bc|juQ60<9n+OVgiRu%vsIk& zVsA%nzqtj`Win0-MCf(@_SJ9Qq#tlP_VlE~%9dp}f#;xF`Y?lS*BJcK0F1S~(!6SP zg@rX?forT-Ou#nYs7o%y099nGw(+jdMh0Si7IjoL48_&EtwIz%$kRX_dNtjAH{P_} z;9fT6(rP@;@YSU8$df_t)@u#8v1-6cMZpR^94f7Pl8=A!vb|XdMC;O%-eJKch7(mSWlQ)*DHNv5PPWXA;_b!=*3;3 zYkc-M>-?At-EoyQ0o=%HJde_oVTGh3ER5EZ{ zZRv8U8x0~xhzj%N&)@3N-xO_Yz1rw>A!(lZTMoiE71G3i_GO4CN`TvIz<1QM<9KGe zbWMJ?=8XEK=!fsgNLAg17-=vf07>+OHA)EM)AiVVs%n zZ}6M?`OR6ZZt$FG*XXcG7@dYSk}@N6Eh3;yvba~TLi zL28%I>%b&kFc9XmgZGcC!|gc}Imx2JDVNiN!=YAI>{Z zm1D(G(Ux82+C`F`J5#*KGd(jrrczF(SyWif{8wwgYl0e&PQFyV-Y(7n&rgciQ+Y?; zR6|nbX3OVVp}Ki0@A9}LecP|{(<^mHfFqQ)0tbochkVb#*d0_eT#;H+dL5>iytCh} zE2M5rRbnEQx@#U77YVpexe3XS!!_d@MruSpAgizxW(mrpMH$L@C7H5$S6q=GbP`u- zx~S00U{DoW?9uxjHeoXw6Cjonk$iXtECitS zM0=kN<^y6}rwylxyl)4K>#vcKGBYfD^gZk|P9OyK_9o1?4j4%Qbvzuyn2c4EU6uO9TbaB`Y|p0#XrtL z9$_{Of^3Bi)&p7cLI@}}Y}wY>%C-8^Sz~2|T3ybjO9w=sb8(Ach}JKorKrq>CifgP zBu$45ec4=$^|d9UTXLpiWD@j#mYq*TP6qU3nuDI#0Z+YnyL*E*7GM9&5l9_03{_rk`oU74+zzbG#$$s_nt?=3^M? z#AuqT6~pR@ zo}RS8>q+D}qOE^u;*ltop+3})+eU#*4s2he-sltV$237zcDV$PHG;L7s51V5f`KuD zjRqgzPf;|ZlP9zx2sb#oP>Fmm;O8X3+3LWGSuN1@vYuRjOGTFV6K4w(9f-4%7w->h zbOTSp#PpBpaM%ZpChY~^h{nA4Sv2_bQ7;+ne>LaV5SR`D5#&)K{GNhw>15?BF>izT zDT1JC9G%4r+8;GK9sf%pndI<2@M!<<(KLDk^|DD#Cp-j0t0>lpNBnu?ai$)6(2*W@ z6q4I?^o(|bn_uo_1ZNkiAXr(%X#>8^YDzIiu|`F)&0E3jVgBb!4?#SW6?BT?<;&oE zOSYF%+uknuRm%NNPREA8ftSAd6x;i)ZN2>GCX^Io%-;{0c+Kr)J0!4Mwd)v%cb=x1{jK9e-lqqa<-H2Zz&kqV&cbFn zxoh=n**^_IL*{au`^X*%d4S>3lz8Sw&6yADaRtKP@8C)9O%v|PsZpK?Ri~f8$U4iJnzs~RO zIHdVTl5;P;u7GjtwmHo!^r9Ud55Vi0=aLe>H9mI5ubk;C!S?qE_=Nv1%@*6g27->1 zfiRg`{r8(u-KJksz0Rg}zVsdKzutW8z%F&ct$|QLEbyG2IZHPu*EYK%`Sw;fXbtRe zd@>2bJNEP#h+cWn=8LPpl?Spc$$xauj~JblCs)TUZTcYp z)4>yagm!Or9y#In*MM^$n95t9PA4P%=Pys}zkBqb%k+PgS_=KoV}E<<|GzE~^Q6z6 z$YEWte+`5PK(hR65X0%J=#@d23P3@#7Z5rrqem27t8bYDHcZnLx)>u-6R3!}mTmg6 zbaNJ-HU|68885gyaUE6xsNP9Hx2K;jm*oXm?n}Yh_(YWc1YlAtAxqMtlsrICe6;Mw z-*3_QvtUEhK%+Zu?OtN}YU=j!*rS2RoT6Gk06Dl}6|mQ{{wMza_~ossY@;GYpV`8d zfIy&XJeeL8`;~jrNNhQY0iLi&?(YL>%pd~P`Un3$68?MH5Puu*NvBqimZzz<(Org9T|a>EGv$t=Acu{fGTC1r0Fj`t4$DwSVM4 zn%{#3=wYB{@N=Pof8FKh3Vk9h0Aj-Oeh{xO@!PYldcISg#K>iG%1psIr-e=e3_{w~ zzjDuIe5Dg76X~>&Be8>^h?hdICMyffO93%+3Lvvi?!q0I0MZK1pz%{~Eu|j;r$n`h zd_gX%n@%UTqEYm+lmCXouXm~|Nn3OR^mVaMwPmZbPc5<;qHqCNg(r za@q#ak+DBusG`drl(o^h1QwRtf&$N-3ix)P%WLCnx6DPM20&1NO$=+=p%6RxI*gC# z1Y)aBuiOBioGS$=O*(;s+_=~|pe-@->W*sE>mXSWN+%vL2doCBJX3V$1A2{rZ8Slo zDPS|Kxi#Yd^v3VKBHtlj96ByA1Jn`6P-JO>N!R(S8+gFxd-c2)ex{Mf*>P}XU{Ovp zJaa#ifQay>KuSJ+M8NJ8{c_wEhAmG1x~NUtyQ&Tq?A zQ-lz9QH=JvC2ql$D2Z~mv2a_uoTog>ACR5n=mCBbvjJme*fRR;hXA5o7FM!Np=70H zB8MFmQ{*&VEOh>4V3)OE z>Iq$`B~%(sbGKdDocg~WzPl3Wyidf=@~rp!ZM2royO6W78}C?4{18$ zOksHz@=_@Xa3&z=wxlfo;q8qjR7$E~yQl`-TXjh9g)3qh_)b$K)%hsGGCMm*u(*mC zM@N48*Jij(Xnp4yMeH;r@eowIIPkQ`LH%^rgca6#KA?+7F&?DpEh1R~*>?-+jOVZD zlr|!R3R7mVhZRGD7>34?p#tRCadf)EJMW6>^D(H;(isG9<}QzMryKZIFr+S*E-TpeDb( zKQ`Si1}VH)T!7;{`P2o)%0+K^i&`wa;a{^|`Oa0>8>}7KKJUQ0zdQ@Qe8+622SL0kBicO=>@K=hanmgA!G`iyTkL z(P_FS@TUuR;MiM^&vFUy)=HMAe@)GyAoZNaWAMWjM^IR?1T)D95j1I`wVKZo6V!uePfhRNh9_+Wgha}k8F_XLyqk8NCny%~@fjrUwl zHhETC$&g0nGsAO#$j`~86ZjU~5O5SLsXY=xIm(Oh2FA;CH*RV=Mn(gUr%nyf6rplq zG|lcr%Zs1_p;UF1Sx}6wj37=I^q7k3TtVB}F`K4xopd77y@vy)EXCp6$2)QX zk^h5H7F4i4YX8`_6xf#-SPM{S_dgEr)oGs*^9 zI8(^^BZ&>-7~yTim#>m#WyR49sEmB^PASzg8Q2&WGh*TRu}I6Q>9bd62UCD5Ux{ZY z=j;5)Ja^Gi^yUfa|HEx?I1F(+ZWCj<7V>yq3&vk>)}lI8{K3LvU*Vx^QiUUo_NuQ! zFwK(Y(Dhlp2Xq$zXt{~(g+y=b$wTQXwuW~_xBGzzszh0}fbdH;CbV%)1Ht>$*M05M zHPSQcATEwzl!@r=wpJMrfED7H{U|4pyZfkSR@xTmurq9)bhtvx+VKPG2Z8L;54SEO zOu_$onm`uN7k`J~OK_XuD{zN8K!WYnCCu<5O)Izu81y^VK~J=FgxZa7&WEswk7bH5 zv4~;38TQ_k17wjMM$-ou$_6szxqJ@6hl(I=m&(k5WcAEK&SUbNw#EW}dq4zf%p9e| z11p|jjfdkGbY(!SLl6?3FsK6S^L4*Bo>27?=IG`a>_a`b=u`6t+9HmlNzUqD5x(3A5QP#lii&alYA?^|SeWk4^qtOMq{fFFSYkXm;_xacandIIhwBe95awNzWP&iwrA?i? z>(Ms`O3-}G($@((?ajAFpa3ktiwQ--uU8p$w zgO&ppHES$*{d<^sD4>wHP{P6A!Z7L5S%Mn{kT(+A(yN63TaPkXs&})F$w3vk(#-TUfAHq*DD#6}|VDVXF+Fgc(!Rb}H^pWxS!fFCzZfu1;@KQCm#r zY{=(SL1^cf@VC6R!?8b(P2f~c;pHBOn3_U)pHi(=k2$cMGByn0+#z-_PW3#RKh=15 zXXpHs1@&MShHs$7A*obVwFG1he1g3#^m$)2d9Oq>_Bvb~dWC%?RA%$Mm_2LA%=EuC z@|p)7HvxgzoNh)uouEZt#jp$JABOQa)>sxLmJXOZBmmvs8V1z<{VWgRsht%-a-u5d zVZEMK&X8bmbZW*L_YW!E(|wmc^2Q8ZbbgQ>b64>?T^Bfx8ngkPD)C6Q#k*aS=oaqw zXI6}b8lPDO6RsInT$0s)ff+NR-qM>P$%m-_+k@$PzoS(g-e-7x`IgBxA^(MJRIkFT)K-DI*#l2R-!ZR(Qc$Pj(Lz|&mI*mMF* zxUG)-3D0l7Wo2gQTiWf2@>BZnM<1bbj_&I8#DZPsjjitg(TN2k;9&HBa{53Bxis^4 zUVrP@{O45g#}EF$z9QDYgU%F5mu25PuKAYZF9O1-EiV(e*Z)4thMgBm}q#;Y^$ zR}MnI{|KOV92V?24>3S0mKNik88QfB>C$af&D&3}BoW`<-v9M}>&62t@Rz$T>^ZdU z6a?*KlDa}pS9_ife^3*Z8zlWswn3TU_kE7cuL(onZ2SNeXb-1yw(v$q% z8MbhL{5+3gk(bTTi` zyly}*&%ly}Q?w9h1n(_wxeB4fO*R@owzfuj3vE5~0rvNowk|;eB`VO~3s*xzA*Mf< zAn1eWF8sY+&xQn0u)i12u>AeSKUYzo;Q#Z=Kb`SEefd9=h&~toAFrO&Q>k^)IH&$= z+YjH{b>ZswhUwc7lzIvU9l!TvTiC`pNRlEW*Tv%%e2XJ_&bBs2^K1UT^Y)vdxf=;G zV(XgV0o2C1?G_idtGVpLL(om`-eRi=#6b0{T^GQ;Pu^YGSYU*pUc#mst*4vOfBxL% z{QKNL7hf^{HFtk5s#phaeiAc`_0J^;dSduLul(B^|I?TFznua7Kb}PRwu@d~xDCaG zcVoR(gcOsD{$tLTCjFqnH5r98!xH>vGf9sjPV};Qt%EPX{uA+ zy8Ss;s^R;JzQ2!HY0LepFp>SnM3^5r-{DK=&NS>RwsNn-)Nwi2Q1w8Bd~Oopr?co< zjYZ(p&`(%Ko3Ax9y3Z%4r7*J{d{M>zG)3@+{X%-Y{sx24;Y##$_N~SA=QoP?YASS? zd&dF|*+DuuTVc?dP>`gXXV4+6Uyzt!zCj~+H6F0}VHnGY3><5J?c4J_D%Xczw9p5n zOb&pK5Desy9fA_hScOL(lx_wb&fCddS<%Wb1YRW$cyIYg>;JNrDwdWXpB)pY3Vs%} zJ@#qd@6+if10bw93Bu7{LO#@PeG*We9B-jVtC#FogUkeb{T8Pv-RXPq8VNGkk(Rj8 z%Nx(#n}xD`Je}_eYhynH8qQAx0dt?f($VL@(>op4Hr^7m=h(IKA@vjDYKvAl$AM=F zOaA^Mu7c|1ZnO=5(5h?lJ~5*&BY`o(x?VmQ;Imc?YI2Q%|MuGf^d;Xk$L`$5K=3b< zo^>!sia^}C>sZmYb)d3yHg4I7FIowM>{%rDm`t!Ih zt9A~=N`32Y9@mI}QN^DigP29+OmF7}@P(T}I?DPRj-Ba`ID8A3_s{!o&H0UEe|L|Y z22X5P-b(~p<{OuJ!LpRm@g+cBS}AA}42Zsneu2rlr&r=n z<-I0fjv_z4R|a5o`Rx|S1uzpdR?;gR^;CaN?cqva5l&D@Q24dDVEsLtsGBwq&`FU= zK>Sl_zL;p#UH7c$L`s0$l$&Y_J$^Ko_XbQ*rR$3YK7i?cZo9>6d_B+Oe;NdBvMY_d7y6kc`+gC zheaUVK==K@O8pgA!0qoNI3*|yLdl$5F&%EY{N$kU@9!ALYab$7a5q?(dJ${pSb3&u zC+Elwz_k<`k1LRUSMffv=kQ?({tU$WK5k>o17C!XTe7T z<)Rg4Kd{4PFCdTa!R&cIA@7G0P|W?rtLQh+4#a)c_yAi{y^^j*|2|BNZU?w*iT}U`YP1-H@nrlm{Z_n<*|FXZ8FR2X6 zYrCe?lV{j9dZ33ExUn)=Rq78gWs@Uu=D4#1J`Hb_o8A{cWa&I*uY*J4tY{D&aJ&nDP;MC@9%q(Q zq&YkSJN%!`GVZYW2zXHx4N`@tfSz`<`5R@2Z08!xToV65cB7Sy*KdZK`U)*C##KJ6 z86WE{4b0c)*ehy``=p8yPVR2HPb(&70h8fd%k$b(8L)7#n{F+%lz*MpPO@g-)-R@1 z&$Z6I_R^I7woM+W{J4dYV$$h*49hfE!Ykb{#2P`8*nYTcGhQFd@Lc%3^mPvN>`@C&fdLG@Radd z*4aoz^#4qGUcO($+M_h0Qn@k|iv4Q3&~T0C0ItHKe^1LmrKy6tjD$(qms(@F4r|P^ zk|;?hbz9Wl9Yetk%s&m+K`yi$(p$-To&xD%CqaG8*r=P$)2}rkrZg9zPuFq~w>)Nc zY-Wzf%y5If^J|^7{g;PzG3wELiUEqbqS5W`-zOqKYViv3g!b5Z2I_$wCW;EDg4P4# zK5Oysi9c$%zY{2}coNTQj}2PUs&VIhW`>qXTNBow?eFmzba-c(PR^|b(2aglI)(2r z!p^#n(ASJVml!>PqS|NP(wr(GrTO-YrkwUS^dF6!eC9~BzIQk2hiO-)hUu)S`)6q- zWir?lO$E$AVqdS+R%^q39~;-96XI8o-8kzsa2FGuYiHwGOA;SnHkYr_))JAgHH+dN zu$Ml5mSejAj*WLk+YP6nk{a2xa0Icq?|4C?-Nqy>bxl!J8QYNW)rK#dT*48EpV!P5 z5QJnJ*0i0ndquPD1Tu+so#cxY^>^^P*7~6CC(m`~Dlia3h%+T`rrUh``HJg2D!Y{8 zXJgdwJQ}(zNhG~Wn!>63D}77xb(!(U**6daj=3b-ZnxDf&!upRn~a5+k4^yvYHG7- z(h1dR^>q8I6b~I~^s<-qhWlVG(mVdq-V;9qHCNtH#=Z^!R_dN~wY_oga*y{s>6gn2 zU(dT{s%EX5%yo}wu#$E-sVSO&x81173wTo;Js2i%1Hl}ah-_0h|i+^f8&Z(o}7KDOuBPdU$tA7>2Q%Z1~~RIp2U zk7rp1QEk}HB0JSi^nG}G)V+>>H&^w2=%wn~AeH*Oud4RsFU6j>c{e^qrKd zBB-WPojs19ilgS3dyDchg|F3{`tHq~TdNq)YxSB=Eu%CKw3QF7X^>-2 zah%ZPoO0z?=V(?TJHv#ty>Ig}daRvNc!eLb?7_!t>r>KkFJ`(czMwCy0+spE2FEP@ zU)SC?qJ5+#Tmt&01YQRKKcp7`xyTpA%Iv$FL9v;Oh*sLY7*WGBnsiTYaQzBDa-X>d zpHy8bAKy)@$_EDtMHy|XN&LA}-LBW%&~7H(KXYaD=11uc*h+_8R?^QFsjtgZI&oX) z%1N<*8T-PHa@RYUp%+0wYm3z6Jr zTW+o!aXBU#Nt-VM?zh2cYm(_s2XO=4XO~;%52m!~y<^OI;1;WZv}mtd$cic>HC()A zv~~c2T(Z*rYF}W=_HA{!v}fT<;Z860x;RRpP^4OTsas3h zaf*1q*3q)(3|eMfy{e#XPAReE?sR*`aLomuo_NNb!>Mz-@tjIV?r!c}EfUdrPME0G zcC&+8-GP0yYb*9%`av6^J0b&k%BVq~bFbUq?$U3YJNIC?N$&|1>k%WUE1f5pCwx1_ z=lc%+gGLQP4u&sSB&yr#o2~-+2~-Ol=Q&Z4?UYd3<5u)b;D+jVhjWS<{a}BeHO+E@E>`_CNJl7c8*SRTS-vX}1YI(Fyk&b|KB9d_(#H#4;) zmb^Alu1)xG+y!A9uO^Er!6z*(EyA+jgjulvb6An^QLBS}tru?7T8mlF%d z!GIj`wKx7u6F+F_9G!z0_4b$jaX5v=ry-Ng>(1bJFVhsRyphCY8P^ff75})E{P&Yi zN`sh7lZ)h7BFj3jk%gm6K4!^&elX~7)p~w?on$ViP)5H?+Hvggv&xkKZqT81sXQ6 zXNKl|SuPjfQ_%j6j zX!nNASZ*K;weDtpA|=#^`T*M#^y?(4-0r#9XCq796Vf|K$&?kPJ5+@g1c@9FWsxrt z7*G{)2~E7wT~>7gE*t2?a$(eDe^ah#)Y08&_b+ID3Cwq1Igji*c7CO=qg*{E?a~ha zi@om*Ybxvh#flA36j2Zu6hr}GbSP4z^deG2hp2!cU8o>)Uz+OR9MC**zQpFS*W3M$X+FE|h2q`mlpD;45m1?33G@#ft*Y0z74^f@tOzCk z{mV>a3N^SZjIerDNx~hrK6_Kjhridw4YuUxyt4|JLQ)tju?Nr$qv4p!sX5b;?%}SP0aI#e|SG6-1f^BkN&yjsqAL1l*0-#9F%hk_)ug4@d>S zI}3o!*+{~#vo&Mr4chPccwm1iMd*Luhz@j0fmdBshi?POhWC@gdJAw#{lm7ShSA)j zp%)hY%%+O^3=pbQd7HXo8IC`F=9_(~uD#&S8Ndz`98n&5VikZx_8jVM0hf{hfH({o zWbOb`>%d<9$&nj1#@%8QE3zj;Rj03|$$3=(djkFRH-34Ks%rj<&|Z6H&=QvflZoRW z3Cb%?ezO04#beAo=#hg^cF@z2TWMuJktN61+*H3SA5?UXoiXk%7_GwjdN99Ii|WJM zh{hSu&rRV97wa&X;!=?5Zwd_I|7Z-I}2k-8Xfn1+eJ&?~0!hkGD3e zQiWr7d;N!w1b6&747O@aD z7PX)v5kmz18-(O54^1CguIYAYA#@@6^`R2?TpqBNb{&_AH^%lcI{~H$LkNt%`C?m) zi5XV?g1_h#_=M1mnF9EjN*;55A|5%eB$wX#XIq(qr;S*haR9NbH_FT$^144bhF5x( zi%Un(*~tlLIPyD}>P|~vr3QKRBQzA)ADb>KsHq#cF_&f))NmchU-Dad|7_>>zgZdB zLU?sQ*NHF{va|BoB?X<{J+7i50g9r(}uU3@Z zuPH1voKV*NudGHpcmKi5Mj1M9zdAh`%yy7;S#tE0R9!`1fo1?^7Zoi{f zM%?10Pwa63F@gWcWwo6L5R>=+zR$$>*i?Fuzk1ZnMtRiuO_|%kKMicGJ*`k{begYh z3YR>IFw}(g@f&lwA80Ae}z&%6n5{aoWtfxwqi9>^BWTt&{5)!bmt$~&@o*T8TobduP=_Wg{!gsn_2p(%$hXr zUu7-nf)7v{fiW4S{WHS>c>N34Pn+J)uH9QCG@(ZRBTq}S)}ik=dd4?W9RBs^H@I86 zVWWI3v72mcEi3?h{|m|<#k-u4>4`Ycn!oT9-8v?$`)yP5CpNzl@=p^VKwbiNv!AIS z&i#qo|DQ-p5U7xJYlpl&^JiN={{+APg4O=$GzQ<#{{*V-%>B=_)I_%Fnl|aL|LV?1 zf5K}2CSXASU<3fkjwb&lP5sW6w?iY_gP?97}Eix4IcQ!M=U@2#7K4i{=97ATi=d8GU zXZi*LBmx{JmIlId>362*6>F^_p+U-uBPt$iFM#-LX^5yPa-1s&>Ks^sntNR#&uA^p zmW!3{hDsOQnC+&-^xh5g$e-`7*e(X`4X=2zq^~XOE3$9QZ|qPL`V_#8dDDaiTKwL) zD6?|9of5Rxu0a|fa=`D;*K!Rse*s~|1{ABqsFj6wgE`G-2!ukrxoDU?ld?pM#sqhx|NzpANyiA{h4+}g&x+v4i!j1gAje6bD+y|u3@7Kjy83{`lTH^HwPLb z@7cK?x_V=J#&YPaK>MxE&PkAS!QoXYll~yd-xA$>Pbwh~WF2ZVwaN=IEhBEMBB zbj$7R>nJY!Z_-G`zxQtIGKQ{hWjs$vSs9?pOV|dIBbO8> zeoWvM%qQLeU?r6ov>XEYk>7~z)}|L{MUw<51bhW$Am#w|6stJ`e#RKX@2Yl=qfMHGYiH( z;gc)3+a5Rm`Wi{wiec(#v1LL6dlwM2%1;Wjdf=)~RGJ(AO5Ju~tygdA?LP8u3gdr3zA;zfzr^?%d9$*}DY2b~ z*;x(778BVMU|2u0eXmDqo4MRGJt8~twn~Y>8utwH3RxAO=vtLzmP{2R2+VPovd==7 z@}R`{{$5${Nr=k>Sm?S#T7~x%C!$lDn{tD0P~y5dof=)xc5{!}*|+DcTUf|7pR!f+`tYMf|14IL`>htv#;ojjzt>;32q+L^h9X&V zt2YN?F(nmD#uu#stJ_3Yrx-7GxFZ&mXL4KUEEG0G15LBemyWp`hK_b}Vw#(%d^Bh= z%fm;vK$XucO2t5=m$lQPZI0}`gC5T;cf>$(UPygHauzuTzw}Uha_c#cbW2JS@wkU^ zuRQsX^D{#9_+8?&*1hV0d$$ca8a+U&)s=MIZXd4J8MK;OkZljO$9r~49~}*ON1q6J zS4(7mJyg7va)=DYq|{8FRYgGs->ThnyYod0U#l+Dyaz`4dOgM{$^eW;Q zL_NUKKqoyy?k$4gKj`;LwsXj_-WgMNHU6uzg>GxTWguFzmj_f#va7b$9%|Yi_|*Y1 z3TmzX2p!KL84~qrT`$oR&QscbTtuIDh>#3IpJH6)oG1E`!$Rq1&1;y&z@fue+N!ge zgG>{A=_)qKh7)M<@+0{sW>UtkrGS#+7HddwfAs4&tE3PXj=7&?7&3+sDiSDt+0%@L z&o>Yk?VsUD!U|~lrm0Dqv{a2h!Ni7jc~4+4mnhOb{wSbL=|(Hlj5PUULJ!^Ahdu#N zJObqZ+nPD?{SjDk^r5`@I%JlXRyQg^qem77-)|+(ydkgbpYTwLdlfqB`YI;1aFaxi zWEOWgiITJ4c(nDUHD#}?12a2I-psq)=Ua)fxK+G9p;n$meY){+O&_i^&YX`Q-!6!9 z9YY9~I>EwnlQTjg1`<9SjRC_wLUrl=K7H!J*qUk~#cs`4ui{2{G!GJ^N*-$hL0r2b ztichFn}&diiDziy&S1@^d|PpcrdMNKP_eakNS#TefJw1W2yaG?^V&5?_5B+X1otw5 z0J|WD7xjJsBtkBr1MF0+M)@SAGAJQ`CCFllloil{b0Uw+r;TrYu?h&RH{V9}-;aCc z!Gq%4zS1NZW~#}UQx{?=R&&Kg&ckyQx9id&Li^F#%iZdwH=NO7Bi*o(jW3`SsfX1B zdCWv>-o|XTO|f40Ou+DsB-=Ooa!4;7wh-{6-XKE|r@%zX8q9%L8Q&s-Ncv=YB6fto zM4hQUXgaX@B#UEzci1^#7iHi+GRV;^84P;UoG<}vD<3AyjBqyOr(=vzA&WK`=FIc0 zrZbz5$g2THE(yQ{>bas*aD)D7pJ|d~$wGOEO;fUHpy>G~=9+^NW>n1n=EXJb5Izq` zs}U600n@YIFl?}iD?hoiW*FuQgEqx7$&Y(WC3t62j4f7-8%I|NHdNTiT%JDKV7RD=+N1ueB)XDAcMj&PZ+<~Iv^BOh4?Bh^!TX1A@t$vLBcGuIO=XlVXgJ$V9C!7t`S#+6p zoMEDB`%--+CNp90`P*_|b7HLcN2(i)6T9@%+YVj9F%vxCe7`OSN#-q`Vh6bp;kz5I z87ptSIp5gQGyN|r^sNEM`(DE!4SXQ9C26LC<@%bHPNaA5`uZ`oadoWV@`sBwM3kF* z8sPk&IN7 z9CQ3Q1<87MvagW)rV7$J(QzbzVPN?~O+ji;gnU2fdrqj+M~y(UFIUgV1+2O;7Qb)=q#oPLX=u% z*LkjbKz$|zz7wZ!YvJh?XZB=`+wkE2^EV#Qu{oTQbvaUCuM+8*^vamw203bAKMSw{ zl)1g(_3-z|X+{OjQAu(oP5e5w@)ZWDn4_9YL5mORL!P*^+Z&I6*)XmReGeN(tI2!| zkhxSR4v^|RSQF`mKBnY6)u*j0LJekJ2@|NgQB!br4Vnsg@)cW@VU27K*2N*_wp>0O zE)zcoA}dQ-JSgIFD|`U8Xt&LOGR!(UI^|?DW-8nGV~AzKQwERNh++%7SH-2s?#gIu z+g+AOi(!%;itl4wU%vIoaQC&(Q9rG!GT8owGUJ>p^F{Y0f#}LiJL)w)wPfn-p+~ z|JK*#0KPeN0cbngLJ)R-^+5CFZzB?u>;_h|1h7!@y?6Q{Q$ixmqSAy8;`qoR&iKP4 z)FCO`K5cu*r%Yxc3UU_9h2M}?gN^v-$c?Qb2g5*$^aZ_XR`V&QAz|o!M@DnnoJYppJf87R5MuaDv-F|DEdN`Hv|_n_?m5*eZafl{s2Y_tcw;NXndPax^hD2Hp<76 z#tZ(1lyz3uLFL!1fTGQwU)Q3Z9w=@`MJf7uU?vI?5eAkUiYg@?*y(LK96?n3mH+(J zbS@Rke*fV;fyi58uij4`|4;30jQ^k|w;9+z%GRP6w#(`&P{DNRx9z(Y8tQU^m70gj z5HWX|t^3WJ9xGjVQy{MxAD@-aU5dSH-DK8K@~-s0sG-P75q^<-B2xG3u?s)>24LKi zQH}c%h_NGm@?{0Cel_nVOu7f79wv7T(zl4qgfM5#eP*czuO3}1-u?X^V3u?Je3=#8 zt_k-7Nr-loKC6yq(rd&YVpGPsYyygt-)St>D&WfE!{NDP(35gzt+lq&Ed4~lGE^4R zdcTb(7&63eE_*3K6<^5syl&5-^dq%GDhRA1{sc+ZuPbUTCypLbeT9mA)m-vJUP@MU zSoE>kK;WJojvOegJ-PFo%c0l-zgNaR#H(yU2n!0~L6@qojRkMBTKo9aXz&z%2BI%0 zKhvU8Pp8PP+SbQv)`+;?e8R)7%LR($Onf%A)-@Qg$t-d;0;}nL(<{z6Z6A~TWWHUH zgHWuH%UW;IZe9aqEZDTdyg3pgUTYbR4 zy1I~S`L?KXLyBgfuHU40d+!6>5@ab(n<64P6r!kgoJ_Ux6|szEOD-IIUk|qc9Hri2 znKV-gV=UT2=WEmlTr+v};!6S1>Gfx-DR_cnnpWBCVOIo6i5vfj;h?CFh z3e!|)*WUb8E@7maWy>1L>ZnJ=QhTjL4Cpu+j9%plpAk zLDkUT9;C+Uc`y3&G+{}6&EI$F_8CahY`LqzibWO#GgOFpV)g^%GVDr-hd(-#;<^*K7-W1UVy)8yombOkv6;cky(PW0} zR&VeH2eZoFU1^gec-?BD>8snhbr9Y3Whha;o~KCIrHu2cimxJ{^^%ny+5{%jN1~$f zwi6D-(h3N{_>1Q$1g?J|xNwdlHOHL9Td0AIVg2fNm-RRHb&d%){udj|ZqY%@>^n&| za4)3JS-uLh%f@PkK3Z^-*?IEO>jxw^&K&=qG}G6XFJ1X&Mv2Gf)YI!%imsJs3*Qm7 zGh4dYd9Cwc=g8jSGNcyRKM1lr5-{V-v69Wp-*7K}>wU*?A8+&fu3bau!bIZM(*u*s zO1xL+h$ZE_C>an*i}yBiarjaT#oY5-=T-EMsZ-YBvRG|y)ApP!getiw5t_nfG3W-?=piUj5J)T!c{9+xdJY+BJd15`#{qo}1P`;ItK% z3ZbR1D3X?Z3hr34P5w2-Ao$uHFx(Zf*~8u#zOCTxd$`PTBwpTPYx#cGLoZ6q_*L%Z zaT?&FVq$7?|HZ8)kF-beuW%u7Yi{Pad~|S6h{Rawc7Ibf-zu%=G$vonI{(CUU)zS< zn$nl3lOwXf2p4u~bACat{?9^H7nX@O z;H-uKnLe+C=>#$<%#^%qJryeTNagg$W&7jqD#gNM=XG78v0m&w>vKkV+necKdKk1S zdOj6vK^7pyJ*$EMy4{v=wWz$(DMN5Kugqk1>7i;e+OuQ@`r8}&+t0Jd1HB;IBpZn! z)*B5!k#K6}LdFO+XHiu+2pQDme}j}dQmqm;?W!cTm4qaC^0pZJA&kvrOBgQ!B&RgW z%1;{p3%)vA+*%W=`{LQ>Z}VY2Lg&YIHbWafPCp`?N?*l?#8dQlWV55ps_dx*7gc-g zzFNB!3-!!JXb)gzo_>nNyL1DT_{MD0(yFZHufk6U`N05OI*1q;zql z2KrZ9An)&omFSyyis`Q9&rrH3)s2mk?&HpH^!dSh$P*it_Z{r)_54)qDl5BJ0U?@v zP*a^tpA9zbnJ5qj4MI1YMttfp6IRTea;@p+J>#Fxz+e)HNzR(9TEi4RYB?y-RN}f>qq}-b(dSv7^6;SGI?Qb>GKM zeY;-?#tlxTBC*=pm0j{}cEj4Uw*VT#J@ff;dYbrcq2k|Dy{rci;JniM=Q!B@`gd)q zHjxP2LMoSqx*uxXJ21P?wHXY4NV+W&&IOo+`uwd?Q#!of?U76c%7CHmCU zLpGQ(rNa!!x+CuQdX%7h0$>cwHEi}daBT3=KSc+EYlj4j=85-OZHO9ew@J>LzT2*u z<2q_2FmvU#cTZj|x|E$GNh%B0rUc2OYp62df*F0PXU_+x6?!dZy_isg^`~RQZnTRd zaL%|mf2JnocAw?uOC~8#D}WMmV=uk;+lNLggt5@uZDH<~2BJ=eYPl(4@3{gsq=he94`RM| zcxNc{H>1J?>|nu#YU)7PhkGip?;^;L_JYYME?1pprc@Xn?Zt7ugxy;vy=qmyVSnp= z^s2t;d8b`xW-UHr`uw>X<~burBRf$GZ2Wect~on@2&q-dg>@j-kJ z7guE{4IP}?XR4`VA7`R*Q&HG3>QJWr^HOpV%XPiBw1&K4W{64twt};2w|@Ii6VO7ziSK!&3cK@6(ibf$y~MfI!biZi zGU7CZ5Zvkb5+z=@dA0>EhV&k~giS@5s7K2!)!VV@7rHd#6rT9#`0DE&`*GrX8K-Xh z6)$>=IPAB{IDN`XJ@H{z(0J6VutJj%-WqykZpr7@xlu^Q;F0xjqM*8d%giJ)PkdnF z{)kjaN%Wep_<}D{>)`G2=52#Py@MKq4nd>gj)~$7v*SU}M&$vz>=_Pci37#E=Aw2~ zXtek7GMF;;!^z5F+iG0sqAAB%@E}wuxY2d-NwlSIl}_&Uar`X^r{7Yx!V6K%o8;XQ zqFM4{!h_^>aMitbWPQ?*Xz}Iix%Kg)kHA()Ig^l3d1%lmaWhP6Na9X40q(`^;EM9i z+?@n;)0y_HnZjyS-Apw5y}$#?&z5fy@Z>hOf{_H|1-l>WR}tGrH-x(61$FhSb>k)U zLLwf@(3~6CMih)7Ml8kzj5O{qni|v_mR-vAy!efpO5$l?Z*v6;yIEEDvkP9sj}w(* zv$JZ1_8u_$GB-=q`D3@%BsmE%T=yRE*b}>5=6{JS4BrfLEr(j z@K+TLL;=^(=g@1knnj2qzfWgwLG zOZCfbPomt6aoFIGS1_)&P*%LSKogo27OYuk!NEyWwbSNPgAnf{22{-2vwWK`YezDu zwQ`~aQ4@4%PLaj*vgNSz$+vmpPjjMts)T?|MQDHKd8&EskR|%|$e~|@Z);q(Akyml z&nw1ValR3_i;8j^-cR-2eL>{g=~IklNYs@3wldZ66{{(V(hR#z`_)Opo5&9%3YHlG z(wASoSNSixAs}_$=Dt0j#`RR8@Pu}!CK#FICf6bHR2D(Dio@M7Vsm4p!pwZsxV;+L z>=zE|P#(E*S{?6)Oc~4OzTwK_J8l^*2u@!1nSj-^U3+`4!TI>$+waoJZUS&Cq+X(B zD8}9k-H`B0{7S-UmCM>}ZpR!rCW_}w^6YJMgYxDE&5k&p>s*UIIkI!9tzeoJe=^hW z$+--6j9x0KFIA|@GKo_v1RQNGmmY&8gb`=2^C8VWcz9d5?;_zz9Vu@&-Yk~g!$l!~ z!JQsl0tYI3!6V>b;NHk*$^H0WhvLscPLFGXr=zA4`K&Dmr4;3Khg}3sdL+b;m(u2p zld4rwZ*)7$hu^mzIr-gX(L3XiK#q7(^*y4rRJiCTnaT2n>nc|+)sE!t`X-sGg}6;m zx_m%-u=c!fG%ih@zyAD#?aLh#nu1cmlo- z3jOMXegHu) zd?9~dQT}tQT)xR3*nK~);pzf*une)x5k=3798G?JgW7RPX+(#OY!rIMZ~GTZ4}clSHPR<;J4l06@3Y(*P)knNV~#+Thx@MRYa`y&2I=L@ zqMCuA>*m!jX;vz~=491~5=GnnVbQB0uTEDK{OS15_7B%-TNVUnlc0+>X}m#J=S$nK zRhTBh>9|z!CbN0V{?q;3AB~TsF7&)TTy{9&M}%XMI9UdS%2m%;M zS0luiL}X=~Dn6Hp%sj-W1ZL&T7=Z_n3O7aLW$|d_30Xg+NcLficXC%sI`Y;UHIlEr z&0Z@?m4SXxy>h@VJB(m^pjhsGQ)0_)6%8J5WD5r6E|Jm!cjjx5k*Q7cRP4Z?LFXpw zq}D95Lj*P9>gpMKubG=8dQ!16T;BB4bw#-ghm$V34Zu>FSmJVsQ%3B@HVwOdLaQep zRbw>&gDh$j?38^NvKOj%wT54Dg0rEbYKkW|>s!jpreJf*$9yh+e$DoezL2K-hKz}` z2>MMIhS(%{Dyji|q@t#g07m{&vH)_cU$~k4%DzNzMOFd&M9f&$0Uu9kB5ySS$F8u0 z=%!z+8Ls}f1Cr4pZY~9LzT?`r^wGiVcNoC{)D$}QZic$kALZwXSu0JtElZMl6npY} zETO0Tu4yt|xm5d=>IEu@<9V@@F>6RsHZjnaZGUu8IY2-b*2u<5%&{H%)Qkyedu&4+ zI9Y7-406z(Cl&e4z)L+^J9-&1ZTyX@%57xA`>haG`bB+-%+m-ZsLaOOwiH_H(y! z{ZkE)CAux<=7i9R{?JMG2=XN#I|Zx-Kyz81wIC(9C*L+_;kR*L+am)8n39-O)i&0#|)a=xr>;hp1*4x2;LDs>X{-%Wp@?$Q*{!se$+E0$q-+&9&Xa?yqv< z34jf~p+}W4#y1|};$jQF96QK z&MM#k3(lsH_J{Vs>b;rFAI|%g&Mh)%NtM-_E-4$pgX)Xx#1k&)itoDX zC?wBi$&0+&qYPepJ8% z*8S&K>LyUZ)P;hKuM0)3W}?otne_HoYm+a=}}ZwRhKR$6?Wm9Ejq1 zp~&WJ@qVc*#Gr^d%|7{in6ExFzEn(b$jow&)LGGiqxZ+93@K+@xYKcM+hC`nH?652 zS`BsMAK1)~tbmiwMc0Q44v1wm7cWCgBEn*NEx)1YEq? z$H>%Z$i*zY!=-<-Q)9XD(;-p)ERl^NR8h`M)0{`6k}hvc@ULp>ROAavxP)GPm8odu zLeEHg4cxE6T;$c21H}&SFO1ZWROgb2EvT;17=$0KE3`VJcS`=y<7X^>nV@J3#8=uC zy|9DN7|r=ePk$(B=Dp4-)Gb=?;0+IK_jD~oysAdiO^y+!Ypp-KEV#bcKIP7m&=1LT zMFuO2hWkswpxR*Gf+9Enh8RbVh~nLPn|!+=4mCnzI^hFwE1}VRu}EES2C^TpUT))5 zTvjH*0l|yx$SU0XUPYEu8pk$`%J$~u8Z}iY^d;93kl*qx*d0w8CwKx0_ypPaU#d}D zJptjMlI$;A@{Be%?E4vFcILIhgy>b2QDrvW(3{#L0B(2x zzu|V=E!+o?uZJe`g;=76k3Kb(5E!LS9(p7z8A~9V5_(wg$Dc_sdmP9)9yDT&*{maz!0@Cib$cJp& zmV&MjxiQy3VJwAOIy)7i&@P)RCH7-SuuZF!r&3pN z^4T?UCm(?CAjfyt`|l&0%s8<(_jb)Y>jjRKjbu^m=hJ2a0$qf9cKJn9Un-=Yw5)G5 z(@$}WF9x$ha_qfQqM+(5(wvyu^lfZUfiE8@UVhX` zGlA$OQUk{(9KMC7Br3xAkhM?abi?*@PCTI6+3BYifD!mM9>siK(9#UiH0cLY5S)ae zM=XRiqt*C@n&rKC=-Vsz*dzvkK>&-ny?#m^8;ZegM`>?`zx;t1x12R?E8(r*u~S;g zoV`O9YWo*XwOmQu|uU`20x?LaUg#Kk|JL?-@dJn8CRQ2=0l90HBwJ5 z__RhhD&lQMLg0m+!a=*ix@Rt|%MTe1`&H7xmTK)ugtB%(Q8?Xit({5gGohRnI$Qd( z^CUhfL~E^xT*X@c4KVC-nJ?1g**xF-P8ze`YLqwvM$aqJ0_P_r{6p#`@j6E_YFLXS zRk@`#sF^(3;+<&PNSQvw)4k+q&lbB#C?{|^i_+N^>t@1yUg(r{l#kCMJ9n#6$g$@D zFXjAyvNI2T^Vd69v}pl;plu78w&uuOQit2`nK%FxUo2*-5D_B? zw#^5ohO1snx=~eXA63GtU%(Z9SE zS2QJG=}boYO`aRKqZGQ{cGLx7gpPl|;#K;?L_oRJid#`#vEG4BXMRjS0n{GH$ z7u%fm0^0w`rS!W2uf@{?=~6{i_m2a&e{sZJ0KqNBHE8`=1 z%?PP**{$Mn!xwgg3M$;M#%p&`a$`kY9=t7zoE$bc6be++1UWvSmaUF|-l*(CgsPvi#woys;R9UviC73f#nWqI=W8qX8DQl5b(wjnmN%sZtY4WIz>UvmC zz+h0(7S(8i)pbkCm^!x8e65kYWrQ!A5dzWVe#zoWT_*6<6xHidq|C;qw7*t=BQAfTebXj5l7p(@i z`vODT4mgY^xrkj@tIsNl*qnEUZL3*i7a~|f#&s&PbGJaYKg_Cok{*U%8x-Z+R0M=o z74B+j;;{#IF!(ok6Skq`4ahPp%3dnCJPY(WTYTw64?D321%rtlw1lyz?>-X{`f>+q zGLa#03kG)O3{*R|d-K05Ir?ga%bNf%tE9te&E^X_vd+vzGwbjliWRcz(yBTMskpHs zrb-EV#DytMw__{>9FP>g^6=x#ec4wP;-a#)$gr>iW0vjM^_gFmvLD*9&Z&ysl$mGv zOT~f@C`lLVv{fJ*%mD`)b@g6Y>2ofD5-bc^^&2}LFqj8*@;jk@5qx&HU!q!i90-XaF6k1ivz3&%|d*t7L@OT z!5#`qqya@$zw+KZ$BEBJ+{mB2W5H)aAD54t&!;_>XxogHplOiiB<< znY-i+Kr4pd@U2Aw2U$j+6UpQj1S-x1GqnbFe5YJJ3AOzBhs$22j+Z=&$&xZis_04l zB$eA6+*E2&mC_Srxcl+TuU=;b3dHfUwBp`REAu1=rdI? z3Z6mMB)JR+k>sDoGjCO8#QHC{CJt|tf;+ha#v~x4XR@#yzbEo-TD42)?x0in>PLqa zsYYs{umB4-iRNB!&XHHXStoD~>Y(IPp$j=u0kcy=^!{Gt0|dq$Gqq`dQfP$U>CFsH zF~2L+S9;icl{k_wKJ6cO-AD6Dh=^_DGCxt7SL2Qb4wS)`CTWOnTI&{H=^^(x&?Y?LYr(0eRW$|;#e z#7DMFbEXYB)TS;Be4NoI2J$~s+8^YJTFrCWW-RHS*2`%5pxr&CXIITl0~A>yrgI z)t)S&TPx#+I+<$$BF|&jQ(SzGQ(i{C$ncWKPPC$|MD0Z`_QGm1`-Ic&$yc)qXHsP$ zPpZucR#7vR(AU-+L6T#_Ssy(lkev2>_R`Oqv!=|Ec`=cTDx#oWl*YlG{4x;S4)8cv zK-Z?+>v$A#B3}qSJ)qTRJrBrRs>m0({>tDachFX})I@g%wBVeemc&Bj(-4+^ z^~}XAI~)Og@dJc4v}+Mj5lI?(KiW8?wKNbQOQWbb+3ZsDU6Xr1I9Iv6W?-HS~t+G!u_(W>JYmJgu6$>uru*5R`wUZ5BWvl4%0I^kgI*0wtU=DNb z;_68T#BLm=8hACFC*w+qHboi*bNiigQY|fo{^%o>AKTG~7%6I|dbWiHn2pvTUEBL` zM&Ffcz{90TN9;TX4MfebE?Bsy`pXtEg|xk;(603EcM_2{Y9k($S2J#;?tp?@<4Xl6 zZ>s{F5|5*OTOpGK#NM#zGCo@y(An5ROE$!FSrZ&r|CJ5zq4WtFM^GxouEc2hp}L zm&b)24POA^BEwt%%~NQ_Eey$Ke!gUC*0-_Y+q)9|!C#RJX7e`7zfJf=&Q3i&W(XeA z<qh9BTIO-(UHc#L|eAur!RFik}Y+^U5z+K&tv$XzK}Gw(gj-sPnn zg$UWhzEm%)Z+rs8tY}v=PPZP1rI%XVi)Bn_qHsMDi)L1Za{6)N#|xx;H+SQ~n2TV? z<;qn4!1ctu8C!R1R<5Xb&aM&Ii8k48M`nIyV&H>)o#Tmq789<$eLpn|q*ira%zV{} ziE9IUx!ft-hN&rFbzV{>95}W!S13NqlesX%i6PsfU_)H()4OR90F3B%JvKc))1)io z+VLpme!1@jjw{6{Y^#mKpm!LBS$_JVBi++T0-oqkWk1>KBY@S&T#$UH{ldmK>1&Dv zcRn1d7)Nb=eJNEaRdm3BLeJU^JBHvtth|=8tD=$RU{t+iDyuZ{ z@p_|JRW$*58vp)NDoF_*vE*?c+>JsuJgkilGmKud3D$e%TcWr4f}Xx@M>J})cDvwB z4ixETzi;jCp~f#qR{0_kh=ciY;&_v;KKxMnTlFXQ83rHo4wvcY+B}bMCnoya#2XCr zEzoWu!QVA~b@UIDp3Sx?c|i>Iwt)JE(NUB_aX+Xz9+JW7V7u@YTR`SWZyFUkITbQ4bzVD~PD z4*j|bZd0+uzep~EEw6JuVW8H zvEofzx#H7oi4pDS#ZAaQM=tp2HSoLEAOC?cQsy!XjUB7h5Md9^$R@Vhvczqa9?vD z^UjNj=`Vl$>Uh`*#$5TJnEB-B1;5DEqJ5@q-=p58XAMZyM6l~x*IZl=lM8Dgn4>F5 zY4b$1_xh{4S~)>GU$?%ME5-{{H@}ta*D~N`9v_lSh~uA8^!WfCb)$p{L}y$N*FK-> zu+I;Y^0yP%7VIFU5O41(UWBG%VLKF${ry!2%88`CXD3vx47c8Tr>K*~sNmAKk0};2 z2pWY3CD`s8_my;xHo?;7<@bUX2tjZ6RO1q8+6j-L?$d2SnHQg@`ThtSr6Wl5ifx42 zHtBArEXkBMKlNl97G&RshG?h5I_8KKT!2HvJZPo*l4AdroO}{NKG+A+hEK`D!bZ3A z7*A7)N_&A*_)gzGY9vc)w~+kibq6Tn(%a2P`C@G0f~IUSud8mKc)%9yVawCv(c8|W zbD8C8aw=Bx9O&7HJ<7&3&zbnuT(;i&?gJn3=UOgbz7c!yLb(0U?_R&|_^5H<)E%tR z--Q?)kh}~$FS(EW%EnX!UIu5cg&$ayJyHhbetk+$>wL@h7qmyG|FZ>`Vn#sc(J|&e2d9vJAdZPnfSZW*FPRukN01PXrg^jr(uR_Z}Zpk|Gu*MZj4p93$sUyRuf^}7L;0nf$UpFht2 zPt6!YC&eq&yZ!f{Ezz0SyeB5zTm<|y?e9(rTOUk=p_SSi0^djf%v5!Kx0lgn^FJF5 zdd37SEPo_}faI?ba?FAMQN}cZAl;|H^=B64zQAV6KAD+*_y}9D{@-ooMPn(=#=u}) zzC1Yo_7W4dcjP1J@6KahZfw%S=c zP~(rv?iD_1?o*}F38Wxc&)%s!AmhJ=l|Il23&EcMB#qgn1!u|tMaJKpkC5M270-YX zi7-)h8ZN_DPIZuZ8zCbU0Gf&$$}q;0_8B0_9M2)gU^ovcG%g=j*BSK=C%jwA7}S?en()NtFeGlWg)aZquyA{~6W@W$ zVljJEH0%Zt4KntRDoF6PhMz$!fi=?npKC<;=NgIrYXtsYBd>n05wU;%=3k5X^v}hN z_`BEtUd*q5F2KM0`|kz#|9s&bdIu)GU=uc881N92@$`e?rhME|!|v4YVW9lCWa`oD z9+qE){KvHO7-5aD^B2=X`PPIl%9j^kO%LVkULKmBhQZsr{ds^r>*QZ^_alDXl1<*p zGyw?p6dOPXXYSXp@WBeWN)@p-6rETLH zscle_xTi!4V%8_@DWThdc&U&S+WG`An;YAvo$~C(YP(@k-N7TwXM@u}SQ09G9arYd z+lA01L)!e@Wvlj7s_aDm-Xt_bgybNzmJ&BO3Gro3r8ubwuC@vKs&%<^yPis6{dRFz zk>#-4#Jb7C2JMhk_f#uv+XMKM8P8bE_=$oAxgMeo&0p;E53gV#bj5N-@Lsf-s`qZ4 z9!2$H8s5X*Pa3KdMw>n9>%Bl&)cKX{{(1OmsZS9gGj zptV|!lC_oVY_aV{DTd+VK)dlaJj4_-G-Ue2;fyNpRTCt+18y_HH`Ahiz%yW>=iu*MiId zEoesNC6hY2`ITwLss$$yC6As;tayBpNIZjXwhmiw6H1Das&}j!luP00TW{|Qkp!{w zDbr({+MrUBS*h=5W2`ucIkr9jt+MaBg}p!3Xep^%FnDLihyKACM}xqrOSoQgFLu4P zmm;{^sLW!l!R{PazSAkENYdiWzA#ingy@b8OcHr4?7_AAR_INIXIjoGE7SWwh_+$~ zj_dC#ZYa+cS9U*fP9ID9ZF$YKcz%ES*<6p$l2Zy-3BDjROp9r=zeNNE?q?7(%wez% z(Ue#Uc5SHlkC_4+blh#aHJjwqTTe_%u@5eidg)HwYsVnP;dIC^Cpq zF^sJcA~FOBA%r2ZwThLg3^Ip^Xb>5q%rmIWfkb48i~%7;2oNBI5Hh_N?X!2E{k;3v z_Z{z#{k~6ra2#;J&3)h3x~{d>d7f)6kQKP~)6Pk(^Csd&T}uWScs-mc)t?@tD_r>`R*x8%whAYt>Z86KitilOZKkGs8XMpiB@mjVIh>CE_60uE^Asek)JW7* zp0-mCTI`WKL)W8P!uj2@kThU7FVo=TiGoXdmb)f3>WSe2Vb@5tOA)XMzMO`3)7sVO zfGl!~k94?jwKKo_T7T~qoWt))pTcJrY1(8g`hMNJ@If{SngGVs*r+dknx{+h>`PDSyHy?;+JkPq&G4tY}K{1-chnGIn_?D8%Ek4oGSW^Hu4j6u_JDIK`7~R?E)_P0tQHmw!EzclNBr5aOCj?Q!0E!9vp?-?~|A0qKV#jW;kzWxhdp-& z3B@wF7p%`vW{xXvf_--f*&E^jp@U}6;hhl?kxV3PUf!pewHi=O_wdOU_;Jf`ZBimn zcSZVvpP$|zJxAtBJqVv;q_g0i#YifIHbuqp)w!?NhY=E|(U#}rVkBjJ*joFC(8=>W zPR*ftf(|?h!t7xW_X`2{a3n%XVzK~ERAA# z%nFBmjToegr$$>es=ZkOxEn;4Mv;x_==A3aYs18JDxr`_$P3IbZJ2+#$jEGm}i;gleNs;B7%$&J>;@GUB>wHq)WvtkDAa;#`7)&_BSNZ zp+2>`kxbFrJA%KvReF{%h!tQ;x4NO>iI2$IgpO#GH(1d;5ckSPc(l_+#bQxe1k)lD zOpSC{<8LZ@4;l;=H&fwWd-ab%zApZ+@xl;syYchu)^b=eIVG*6dc1TYvgH>THF~{7 zGA?;?kL)2>GD;<|8y#!cR@LYCwk7Rc=D;5L7N|EH3)8tx9?{&vETI6L*y^5{w_dJ- z!SZQXjk|tlz}(2nPFJrIRCnDG|C>WD2vJ$<2Xd-pV}aRyiw-U0a3Wyi-x$55T{;u_ zF5c*|ktsOKMT_h^Q`w3vc}CO#DY5ir|n#(OT^V7;HJ_BX$sI%xIDtsj9d(Uu!o<_~m~q|SI6Yb)GDayZT+{LDT?59#96T3_Lq{`p z${GR}{r79tZ6xdV?$H}ex=y19opXn;@-$v`K801)&K5Fy?8&i`{3zj=KEXzG~x4?aT-AgC=QZ+=njkm(0TFY!Vi1+`ABmXHu5j zivDiTTx?xW_4~KnAMbz02K=>+ly?RV)hk5lQjKP{$x-P0n@U}VYuY$W-N8p{=?@Z> z{P#Ys;Z}{3X>vDTQ8K_>SM4-aQ-ZX8S;DNyaK*Xc#VEP6bCA^A{3BBobgj{$D!PCW z?4vkbvlc=xDOXa6_^8b~vv=2|%t^AE^p}iANq$Lnq4XaMVou|H)!YolP?ca|1sbb` z@DDf-Wu7Q&Sd|xvP(vkz;9lnBDn6hO7v=Mm0`EO`ZnV=)b>|ce&z9;9`%J?JP@PW_ z$_}e5F1#iODBWmUO*J053#O=nU$R?TMn(mj}?;kbiAC) zzU#KA!NF$j6i15yMV$%(m8SvTbX(c#og!LaygC*!xY{^Kvptld1p4($T{?f}+Kc-P zWm0XGSXApCrqKjmI*N&SRFdjEtd==L=kyri6nj?(AdV;x5-xhz$cmE`yx_Ab3vn~e zC5&G;jp9GPp~VV( z+R7)R(WJ(1B6x^{zeO%JI%=XgjVEg7W?j48I27mDPv00$R0!ukd)->(_>_OEX&Ur3KlT#j#3Td4M{8J#8hKtOe${+ZkkEHMkHkw5UOfYigV+BhPQ! zCN23S#}N3DKv5i`dOD%9B~kX)Wli3A9`~4}H^eqCk`+)rxDRT!&~VvgX=A^sB)3XQ ze_xC;#+zxP;Y!N{G+IZxX<|BW+_tFHBepVCfJwk$q0(hLEGfpUVwXcR(T4pC$f2hv z*_FVOe^QJlIK4@6Fu88B^xOUi6XhSoAcT%*Z8s+DlfR!4AlQQs7}z0WezV%wzAN(0 z1-Zvmd-F^D;k{;qbXa8CThNi)#zB&o#IL}-4i7keHe)vSB# zJbv!`#FR1<#GJqfWgWSZgEVuMu<}K6mCk4-f?Y!23HWU~OZ>yxK&^`Ysp6Fa?#={*$DnAT4B zurGa{4K+zCT%pF+@v!+H_-KlD`l!#Nchz(;joc9IE@jkJ)|1+xc5tuh%=@~i?7}RL z5OV(6S^)92Kat~(#H0L7f|>5eCK4m z(fGAM(6LsRy?yu4)9Fu_wTt?-XAPP*WpIbGv`lpm%shkGU5{OpeKZ_Q;LwQA94}>l zSO!j~SYrRn*jU)v-WsjDDH`P(^>#@XU{{#kacSzYQ7S zX_?2{?1s{dT}`Utwq-e&b?>*;oZkLik|H7LYwey)k|vG06|_-1xvqirC8gCEg1!oN z`s03wVu%Ucq6Y)hdyd?DHiP5G8BAKhXhCUuBNoi3ikbc7>&=qr%;IuIMa%8RiRpCD zevCHbZu;XJ?j^#hEWd6Pjeg|@bXtJw9#M$n%onLxE=Q?8i~EPoS4o(l`zBW^W!lla zZ~{lfP}X|XdT?RF{keLmSV-;iqIR3dBd`&k6Fb5Qn4ribox@32j{G%TzKt;#%Q|AtR;a5QfM zX+-l!v}6aXv&+s8PdjdA3Ke;(Kb#(+5F%@^vJ?#GDJHLD>D2^}WL8$OSV|o!iQrp7?5qW2;>}xfQ-dQwTw645}qIOORmT*s& zj#EER+NEGV?z0(S7zh=Jd=s+q&P(2nm?b`Qeo^&zv9!|Sgn`R^3TSg#T-lf zVDrB8lUfivJ$L*;{pV-H*5RQZk8=I24^YQRu@&0T=62M!obB498?yK0Q5oME_HQFK zj2y1a>Gj_SML@prse0IUkR6gD?)qaHRP`~I=&_qQc@7hnWq3m)z zd76QQHSLsp$wJwZ?Fz(ng5Z|oH#sP?(V?gt(ThiRrxL{eg0D9@=n9y@1G1Ixs>_U} zjOp6@x^KGIPm+En-u3YR{RH^~nRKN}xZ*hP`(>H?aBaCp*7llV>)fDEmry>xDD+&_ zW(l#sKTp^6BQ?Ky|AMVSR`@n$$CFk0wQ|L=KDy>-y zJ;5z-(eO_FM5$l8K|PV4bbOefaZHo>wNh?Qx|WLDRS&T`X%J*ODY6BQ=KS;cZc{Ty z4l*~=cEa=o5{@yV_45A6K_im83W_0y@Q7K_Uh@}XOR7#6J@Xj92;%6RU^)A7^RN{d z{DAsm^k|IY4RY#&w}efN&g;=-j&U2Jr4^!r0D>bT=i$l7@!7Fx6Kzl1&V>ehc@fi! z?w;ln$PamYNtG6|(&;IBd2nU;sFe`o@K7EknaMOgvt`Jn4-?~21Tx7yt#=(tkx?(q z5xWwU5#<5nM+v?edS{Kf?RnX+WVqLBj0SPhI4NBq-t*X zQ?2RWoAfV1aryRl&ZLBBu&!Cp!m}s=)uVZ7^&l6+MaPYugkXG9gK}}U8F8r%lfUj} zbvDNh^bEY0FUd)IJX|OtDMTIJ?@)$~CvUI0G*q9%F;y8vYE4k1rY@uA`3efDbN4tL zkQBL)iDH+`L$|adI+|Eb~m1mqL z>Ss!if6|UKA%P$L^;V%Ni!PSaG1S9JqhNN^Q>B|_LR)%Kv!FM)V{q}OZUM2imm6aF zS>s-+KuwurTP*kQLpJ zt;=#l(pZK&g91|++)yS`m40MZ5GB_Iw{CKr8SCYnv@NCfQ?5|um7#$&4_tIK0T#L< zmR54Jq+yg9k)D>?Wl_kMt7-1y_9f=X7FG5)rxH;TurtUy)!Tc}L$KgFo5N!C-9mAMRq$s{;m@!5dS2=7`{0r;Z zJ$W2QeeCS%ev%MTXPOl-KL^)P#fNm?rdrU?1lFt&>mU|w){h!e>u{U>1lC3RyF}wM zhut}}Pc7&67Mk5i1W{}ReONyCsriM-NAw1YJU5fm>{EeCeyVc;LB#e1=$7d-@AuxW zj;kTxp0<ue791KuR?60ij58*r!XX+HicdLt|p+K$U!SI{rHh$&rtVkhK`K-CC$1m%P!=wC zaDPnRdC;T6zkD%_@itbQ-%`Afjjpm$3*sCu_>H9VRqD1ezL4C^u{buG@87T53gh}7Xfeq+HM-u(djQ_kaDvqc#&Kq{BCd)a7Nar5EzqbIV(l+j+%m;%Of^5ROvSL7Dl(uWR@n=$dL7mTOU=!evuJ0J z=ehe0RX*z`n=)~|oyBnt^#E*{$7Ji>(#n5~bQt*>B^{Zv0s?XRQN63D$>A$(4QOot z?a~xR&?1UP+gB-{gh!dNJSabBa;+Ev<#9-;t!N7DM$g{rNh6l%nQW%-y2+hw+1od^ z@Xra_@^)j|D7L_TUH}^XcH~$g+t?*8p7*{n8ZH(x;a1LCO&iI1`+lk(3-JS~Z6L)7 z&rD{f?Q>I`T}5_R7UN7ZrW5Lyu1d*VEYsYIX_9%46n6I2S0*@rEE)-qwtJo7RPe5v z`?~FhN`VnowmkFeWA}fuCX%ZA+QAQ$Z%7ry^@LVnNY9>h!!O}8KY^48^9m9HYril1 zi0|JOx1Zf;G?n158~}}+-g>&%CN)YAYG-8y4uem#@(U9LdrM+2p zYP8Qv8m(V^4d>$|i;{sIEvv#?8}Q2zeeLSEwy0eKe`Vz4CCkJukWd#5A1BEBc(hhlxqXg+k~zA9fxQ}1@}Aol}2Ns{5aKU zi--SbI0LdRN3kjMtsW#`mfq{o9yRNu>P1;hM@|sGZQSHFOIj{IY4}pDFL}W@N(5M; zXm8s$shMC9;CpFnd6C}MD^GLROXmOHp{$*asJ*V(Si70!M+-s!a^YZ6zsqdSEBOm4 zEHKAt*W|*LUewj^n3lS>nmD)~ibKZJ3l?q@?*{Ig&3UJtm{cgILb|S3Rw|E=phxp) zf(Bu?IvF5i(5A+L4=~y|&SQ(zaoL3FQvt;bAqirvJRsum-b&OLS19|;j><((=SwLy z#UbgLSVJ0J*D%wGK&K#22Wv_@{2iF9ap=0c~{$_(VrzMOlzb(4(~Q+DjVdJ29V8``Y(f#O|n z0l0%=$?yT%utA9uB?B$&QbdYHN+aTU7K;a6IyV$K7Ic-hjIM~0}i4HKAevL!f?kfS|-eC}x3 zTfsFuv-id&Y^0cfjsUUekIJ_2$Krg<1Qas_&G#941VziEqvd+{Uu{QkYv45r203h> zv_BeDx8SHU54bDg9{ZS8!J)vWY{riSW9^_z=*s4B^1b`3<39sWRBXkZd>*B|fNlEyztY<-u3P5R z!=KUBooTrzQ-X8dRhXJ(g8RvOWmZ^`wC@cdW$)qq%2kYcTrmFSaY1gx%ZB&0fz}W0 ztpEpt?tM6gJ271+ML|0F;`^L3@8~o0dqOiot}3jHf;`b|6z-}Fau4XOoTm)z%cpoL z#E1Y`@tqbgDcLyxWtmE~PqT;~~`+-g_Boi}C6)lKdN<96FpoRa&)Cj8|4vVEVakahciVe-@vdWvvsq;{ha z&DzT^_QFu)cc#5HA{z(R@zXYW3Xx+gs8DZ;Ap5BaFSzAQOez36OT=0#^;ulU5rPo+ z9KbLD9PUs=r^1|XzAj~(s3MlEMhjgL^^F>@*UDhx`v*%C$D@>Hn=vwQ3-Md$lO_Fg zOkS^qKo)3>zO}2TD-3)$j4i2{zXSFttq77$wWQLzgH>~`RQJg@X7%rS*3eV@Rc~!g zJ%RmOa$nluAuY+XF2D4o8oma(XWy_-aans-<@?Jk*)+4ZWe^iyqkb)TOsP7pV#zU` z{V`dVRo-LbJYK4Re)~I@bDD~XucVcn5SIal%~O)@fyI1AS}~;@wv8!-r;d6LgTrT> zc_{ZvN;5JFFxXzmCc4i!BAGQaSsN7wo=BGwSyZC4%EQARI}Murc5GHj#_vo+j%X`{#=f zFmrjMGUoJWeDmwzESC8vX!$ZYiyx__Hr0Oqgj)N_(o3%m8D{L`-FZC4(TQToZm8SO zo3$8vd&=EY_lI{{xSchy1{-}+E5*#1B0lD_A7aB^=Bos-vboZpjyPS0W{7}8* zA4skq5+8Xul-ObgFk`=;lUCPX7TF|(ByQ1<2~w07Yzy8na|by*fz<1ozA_BBKH9xv z8+mthUz;3lUlL|4ZjG|{kvtsVnCm52)1wrhAUic%)>&FNjryFX0LZHb_&FGA{GwWl zt_cHaje^_GH;{DCYOt<|OJ!RyP4Zm^yeRq$#t*(1a?O;6W>!B4(#SXEVy(f*IFQ(cKr@{O^Ud*zS6!5cES-DzkI6(Y3&d`sQ?R zq*hnhX@cHvG@#sVCcK7c8SAz7*15AkK4?q7S?2IMH|bsGeAovyVyQ|D(qj?UR3x?J zQ02-*TjqyM+St||FeRuKc(Hwh z#1>9Rr%;=7`gyUQnH5n}>M4V2^(xYG(MW(b^3Ejh6uM_J*j@`K}2cKm}A)9g0(GH;f~X0aGUVAR1KO2U4t3?I*xPL z2RbwMthW|hpC0Vd+!-R6uA~jI49FXR-&J>Zk48mnK`G;8V--d@#DZ$VOW9WgwFyzC zd7#}j_lQUM(L)5cG>P@zy72X3cuZQbwF>Q?wnx-!&O~j)!5vg9Nfc(juz7&aTosxn zrgwBLhD^+Hv>RSndJH|!IcJc+2$6zWbR&CAS3l=xrd3<89!7l<0MGhWuK#60u>gvyr;|@DO#G5dK6`INL=6G7}EXwn6poiZ&R~=Vp2!X8HD^w zHZ?amS2@)+DOEOVG0I;*KdO!-`MC?lF>$BzX_$D+t}R>HW>IPz{|wWl%ri&w z1@1Jm!{AhYb_f*xv_44qicS+KT(=IhBA9nfnK5iU5Hlve^=z-Rj*jWUw9Q;v1GIgd zZ0OrP?PD^t*$abuKF}u2md(<~&4ekl;w*uZ$Cyv1OmputYc@CwX9M|81{bJnEKg(S z9cR&(QH8_e6DAT2kK1vwS5m<8uwg|fL^OwDU!>D^9JOvtjA_0B;O49J2FHfrh1 zi%mX6L(w6M|00=MxakK0cry6t6929D`~M+>9FlE8G^|)-c;jeRg3gxuGpXtX9c2@D zC=ci#wExyif?w2b7J`Kkj`)%O(sOD7J*SXERR>x6?!WbxjPlP!pc4fQzE|y3d-j%` z`MgUu$N8!1kqBsY56Kn}tzkPsJ!}sh5`B;lDkelGaZ( zE*E@i3LfXu(mfT#WS1aO(FA*D2I8pB%!%~iT{x!{z4p3{zD+s}%!(@&Jk_ziR4e&K z8Z}hyTCaUe1B_ZU0}-~IW+c1blXro!s!r1A@A&~z%bbX;*WPShYL@&`<_R}xT>Ef& zTrM8M8^__?l|3Tn7~p1$qNE8R93-EK5kD0RQv#|q_XDasGo)_LEHiKRatgLGt(9Ne z)LET&s)$q>*0{9A#S-zsv#aZ7%AWI<8}HA-x_t{s1sU%uHX=YGw> zlrga6*&l-y)N{y%1%y5kE4PbzcPnZ8XTkGEzB`ECU?Z76S{zFAPnjSp6-2<1yGne0 zvYscnD9EMpmv+GxxrU#`+&}zE>r11=WY5A26CW@7uHPrw-PmFVmSPX>#)xKf5#lnS zy;x{^;TFMXz&@xIXaTvdBkuy?;{|}1H+_UUBwC5j^Daye06OdgCWkbX#3c|FzSj|q zd8#*WF!phoz1UYU{^s`GkB=bgYR96;ng&K=;SfH#-;qZ4j1+NKhg=bZIOU+_qp%?p zrc%-N4KT4;!&5vjiyDqPT=oqWDPSbopgg}QNs*TcdDWg+H9-^{+wAd5wDM>&9n^=7 zE}}m-y@3BW+gsRIwYlQh4LD^tCG1R}X%_ogisM|9t!L-$@h#Pu<~EuOS`@N`z&Yax zpXQ&OlhLHRiUfa>o#}27!|wwo*h2Orb<*i0fpr)tES^p4YXBPB7pzvGcez2##ti9> zj&V|ZtH)jn`Bb#bxK?TX(x%I|@MkkXHgO}tc=d(pF=G-90NWO!jUaS+)r7@0339>U z7^@d;pPtgi4#TtX(Qh8#iNmKRaH70^*%Bt8Jg;4D?;>Uq$B@)UZezo=R{apHo+_3O zO%okPbqGMNXb>s_mfM81ilmVZ1#fPkFzqmBH)z_;h~YXnB(!_e$c*gULD>ufn$tA* zFnWHe&6al3WODKz`M#XHc_@J&SpSYvpPG%}cYMXR60T&G^%1ilU#HzHw`3PsTf~^t zPo#MeEh(q*D2`EwlCuYv@pu&wYYG9f$h}%013U2D;CZf0L3O{B{|&&~;7?K)STXxA16h|Mr1c>I>4I5f9knG6InM%SbeBT(&hx3Jp2!2ZrR zvNqy*8j$KzO0ATQA8gURu3O^O`8Mz<=~sO>MbQtkMXDi zp!5ifz|vMR&;P6QAxepZ)Nr|q28}C7s+A|8Fh-g*?@|TheAw#~X~icd)2udwYe5L@ zw^9joAE&oOePw)^s?%HQ(N!QMA@%#T!_qxHv`2ybh^z(pRALskz3kKJqQSxkThc{c zptVV>WeTi^vEa$0c~(D+OvCU{uE1|_J7OGg^Bwr0TbiMe-+IkEa=7M|jv~gKOBQo| zc%{BKY?Q{@0wTy%-b8`J*S#N)09<$?l3jGdbMF@!VMJ*6VLuY2YB;QZlXI1<=}Bio zn=XfmEwczLfWo7r(ZH-(W=wjUMd~>L8MVWIBG8H(PNCTN=f}M znVV|T4nQKax&^%MW5~Hjb-j=F7=b2o#*~2aHo{?oWM_GuiRrnL*2DSubH`@2LdeG{ z1`xL17#a`Cr_|Lr;a`g6ViI${H1V23k4Go2W@<+j7FSMeZY{Z1ImN({FKkUoRY};q z-UzD0TIeo!G9&P}0oE9(5Zal?T^Sk;ns&L!q{qacPUGZQy_BN7IaF(&hDsGPrBB#D*cL^s3~{7RJiudIlx6%`-ALkDUA>-7^@*UyxJP0;#JD z@4{N9KefD=VlK#8ij6q^-#9uiCZLt)fUGKHi3**~sTVFb^5&_TO{Vv+5$^$8pI z1UE!z>l+mPQH66C{C5@E1&GmoGl}3J$9cZ}buBQTltXl||RZylB*;sJ5o9`DL zEktXp1y+d)47}QtW>c;{D3?$wvT9!KR_BThhy7#oIG5py(4eFXHj!Gj9z<^ou;XY3# zQ3LD%c(FT^VkT{;&#sm>BT;Ai?aZ#N<{~E$WT0x&56vDoBcZG}W-ELB((b8U{n04F zYUSCgL?pnac}iw8BJg&ubXi(3P~Z-Yf|J#cMK$?$`p9lA^9d?&XiGnvd6KKps^?a94~dIzGBrEfx%+h-v8OX938Jg*Wb^ApFcW`{$K~3-d>NGsX;(^kVy8B*Liv{YOB8BU1{$}Kq?T}m1qzL z0dVh7iIl_ZEZ;Xrswcu+MdQ8I6D~F+pKF1(RM}iWgi_u=9NHM)DL1s;_{R-z#a+qqC1qRx>@Xuz7D{lwMll+_nkli%5gy?70k;#K%sg zBmQNV+?!L_r1C&M0qkan3;3j8YwbDJ=a*EO`R3rTW>MAds^ag=o1P8FbB$g=wBRnY zvtzAZpx`&I+}bkC`n`+=@I?bowI+n1M@2H~cOjFr79k+ONLUxJNsWQfJHw0^EQQ|8 zv=pQTREeM#8MhuleTqm^d^wM6p7p6c@y;IdPV_{zyPg1r+1zA)pI}aEkRY$LZ>ekZ z)Sg1x;i)=n`OOlMDB{kqsf{KX`LCUsqCa?pjlB5rTBf|D%)Z<1yWLt1w>6`W)GxiZ zfeXyI?+u#>-kx#)8ncBj*qs9Wos`keWq=oyr#Y$B=(hP=8w55kQbA?O`wP}P#o^hY z6#=H%c+Q!8&{gy*p|oe9R_(4HY$?Wf*QAw*Pt6yJr)-o8`v)n2Aw|tESVN==o_tD) zEZ`{F%O{_09vx=px?WD&lAr<)c%*X7{>*UA;`%6SGqS(8dVt^=K6T&a3$60Ek5HLC zmONT_06K0=enPgT*FhlLqV{u)<5cEi+xFesx-Rl~MG0mswJdYhEZ?4b1f?~v18#!Y zYB!a|1az$P9`}NJsoVw*TUZhwH``m$2X!o0f-5@q)xLA6AK)%8AgM(--hM}OozQIA znM|d6@F2G9W|y_~Lis`R!|Olq3{n#8=Ds$P7rjPLJU4%jSyaNz^vP)6<%|%Y1Q5Lt z-UI8^P370N21>IADDw6>SHoEZQE`-C;d7RLAI6~oA8gI6%nkgU)16e!NdQXjM z^vk|}XR~0qb6FE?&E|W12`@Q$l+8b$27@s9g_UIK*WL5Akuix<4qux!T%l|xJGJ&w z#GNMIdM^!Vt#Rn}8JD5xN@`j?;bjXD%P zPx9wwD~|{6nk=XAI~bV{gdBWF&zrB}8ysq}x$l4ssy-?>xvLv&C*x3zM=YoaVp^L? zFMkKtxSh=alrTK>Q)h?RmJf85#v|P9jzHo=CGpr{jP{JdIFOV-!1C5d*{PV>>}I9k zl8#xi+hjk+$9=MYlkJPp0}c7OAmcC(#q7$6TejFV>KNkr4#kM}3Ofd9D?s==)FD?L)x1oV;kLOn@oh`mTIkg9aGsPI-5K5Tr0OIJ_Pbv0(Q(>UQCk@DM z8n>cO?z;Sxyu40U@|}EpBjwZFy;h%IxXgnh#C(Pfu7T*0%OP9a0y$@9iGxY>Farp) zO}43i0ZovIYPC~=PP8#COHH|YJTS)P_EH6i#Z5DJ8LRk~j~&k34rK0W5Zk^>Ckamz zzUdq1Z~zU+@0f0cZE?X|6v%uM;yAT9TY1 zV%M`CKnZmqJLd{7`lI0reprNFK1 zQR?Td%GO=hZa%B|QH5QSV`N4(NW`n9LB1mNVFKp8&{*JxN$KgP>^xbP{LV&^gBgvc zl^>>eVjWbDI8Q{g8_TFz>46>kV2`~royUOS_$3Km)j>t)M(!H3H>5x1n7X^}wE%TC zOnINoO3T1x36OcN)ohmJwavQ6h{HZaj z`@N!*>^zBpPAHVNm}zKPEAZFm)UM*hEZqFX#cYJU$@F=v?tccA;(TrPOGRbLws5>^TG&j9aoJq|5t;-rvn**M>ckz`PIe^$8UnX!Ubi&JaIQ3Tu^#`wEShYnr z3(?@DP5p{W(yqCJ@2*WMgp`X7nckE)+mXFyo)!fQ{>Wa)mWbEXAjG@%M)%u7Vs>7_ zvZBtX!L2&3VkTZuONER~pv0}=VF|VK$j%pRIv$5@G#^b%{i7cRDrav0Auwj6B^lqD z_A3Jrd_>3t0*(unD< zg4~xUf{1n$lQP}}qS?my;#{tyhA}^*K3*Gm-8utQB7uG@9i#~Xzi{5$SFe{Z&?uV%s2}8zWIR)KBC%) z9#td^_!wQ#5>diYuyNSaYo$V0Vb@E<5n{${6y@FXCko;$BNl?FrG&-93DKn!vU==I?|H7X>*kgAs-EHS+^vZm98%4X({#`(HJmFrWc62}{6p>(}QB!?~x z+~BTmnv2%@y`m5dR2N75isy+X?66wJJ`yS_hl|X}vp`uvwi1p~;$qz=gr%YpU@|BN3K z|Hoc@3zTo-hGEzUoZJ>9?;GF|xrhRgcJ!IQMf9L2Lln7$k)%pccQhB3{n;?VjMJme z$g?5b0ARV?Kk?(%Qq2JWWQch5e_RiMz2E%T>lrZr$G)!rxeNX8JO96I=l**^|Gl99 zFLFeeP&c;nG+2i(!9?JJwIqF`!O;Vu{o$wOsh0o%S}{K<^~& zKYO=rO8t|dVypky|JO!lcR_>1a;fs7I^OMO9vBaLVcx^V_I_Rc5r;p%K%+I6t|~mL zuQ&VRo50|sM}PV8t9@s)zD=e{>RAg5JzZUPx<}DIflKaSo(sJvCsMeC^qDOd&|QI; zTbLa@%Q{cd-QERD){(n%C@v0>TliZ%l4n2ii5j; z@{02XJpi|w{QcwO0-9LqwCjT&e1Bc;&#xu-w|_k3l?6Hx{&l&nuSr8^xB18E*ed`L z$$x$>`sGO(wr8A70E_gWpZ|%s8Q)V3E&mj6H1W{4pC}KheowsZIv&3`9D2c@O3eHK zW~^39&c`V!>-hV(26@e=%Bh|gGUM;~ftG&03V*-riz>RopIQ%@hTh(DSpU?Qdk%do z67YVK)&j|1u)R&4?ntb*$ky5&aA$e) zjgJ4vR~h=gS1Z3BdTcZiS5t#%b+NG)hVmX#1HM~%%{`X36kr#<`dITAw%oC`UG@B! z$iH&uqlXXI%>Q2EXG!6lUL&uKK_i|MuBce?*X|~-w9stQSI}^A-7wTS?8l}mpnW%lyLLT`0=~(h0bX&D@i9Jo*P#A z6CNs39%h(VjvNNo7qRzmtNU8>B# zgV-}l-HjEwANqhN*IxEjzPRYP z3P@?%^IaLJS6WHAzeV1$czL%_42$|1e6wrvLdo`A6ZKp1?;u7E*VW*5=-GRI)(Tiy z<$Yixp;rH7A_Y_EeS zS8p+i-sf&MA}U|g?<@uKD&ofGjlvGo^Yhzy*Op3RS9w^Ap`%x2Hon~+5bX5D^5>O( z=RcZ1ieSCon-uY?1`P44!+YEr=d)!< zno!sE{KbZ$%pSxz!eBwB(1GoL5XDb;TYG$Pj&s>Lhd|k?buXs_N|8B|eCp|tSvI$qYOkb<8Ga$#<6RkS|KV>WVO(c@?Syp6tx%UIMJHq6Lv zM+ND^zB94AXjk*;<$vB^e5&K|uGg(|wA zUSgu|4{^nkcPh&WIByK#@RH+wRuwl!E9QfP6HL;J(`7knZ)@t2v!0{?Oci82%=u48 z^B=FWclE~~&!0c&dH9l4xi+a;9ATHK3(F1Fw`d;9eLqvFPHNBvU`?e-zXzb+YJ{tx za6a8L0r+#$MzovHzzZjx(9iE{iAVPf))$X>btJ?WLJAJDqPT<3%q;jB^W~NuplK5N zx~lfK2`nI^imwN(%jVUXWe*R~gFpw!&rSMQ=?cYcpd*X>Wry@ZE6xv+l1Fn9kUx!J zU^gW|A{NCOKF%ArkO(G|00Ytn{quFXBKJgyY+IWK%;DyAq!?kigRvr8$n z-m5cR7rOgjLf=at2Yvo(F{MR(oxri08UPu^t~;6qYB#h4o^;g~wGuWJlzck=MG+bMQ}4q7$Jj#9^1G%qD3z2Q8kL&SYKacnweQg`Ak=F-i1vxTf0uwM|{_fw%D%| zZkNTgDC)J4nY*}055H(-s`06zo~iADSuCixSqKSh4P;vTqa#|4s^ULR);t{dvtoxi zw4RO`nsrshtNylJTWJ+cX;RS?6pn-$TI$^D&{GL}35#)wP<%YpyK)rAYdrO70t}qs zr1bL(m(DqZ{rLAz+8xpPJvd1R^^>KPtgulzU?GBMGvVz}INm@Nz`N^iYRze$Hk9o$ zLd=F^VBH+?ld@{lD&RCGj=X#Djry#OzI$ljg*HDJbmMb=;z7w>i}jCQNaD&5;#7!( znv$?wLC~S!sy5fd=8Oi`Yk~%j59Vha-U!~U??d2!i8h^%)0@3`sA&Q;Bx}1DnZN~# z$!uiQ#fR#pHBY}iVqyR1j&;($Emuv)M&?A!7p{QbO9#r5*TX0#%vQjHcvh%*Op8v% z@Sb(|8qwXnfBs2uv9902EP!Ir=8PpqFI!ASbkaG8wxe&vc`& zHjo^K>&WQ7+QXjiceHY^poJJGs^UYh_LY+RYq3ygl?vvchg-h-k3*~2$5vxf6)TrP ztH^}4g*^@F&YsaIR7gyaRX*O5Ka;|#$X6KIPCIzEat|}b@AXJ-jZuH@hJ{mrV}+|2 zv16#WO1ozA*H00jeo<6D^(kvM>#SvY{F!@S9$(@rdF|Hn3Xi*fi ze;?!yLQ-AjI9PJgYvv@KXJU9OWxtA{g--Mdt5KETZ+tP0kjSrmcs9b-wdfTz4XWI* zGXGRLvgtD*p2;#P($w=I@^8|lhc1qK{LFf&7Z_W!ocl0#lbC~cZhf`JbXZ$d4i=9G zklfwKCTQ#83NKf#&h=`Oi#JYZ#SEo2Z%iDIC6iJ#5;5_dx1*wv#X}P>7TKE}#OciC zh!MKFvYjA&d?9SAsz`xJ3VCsty^=$tclfu&^>m9P3u|ZgSZ$*p=u+<1)tFzmXrKP81V&=@& zaPGMC|A{5vLL9=RSne`!QLB*WH4eA3&+A@bMzGT;7jy7T(WpUG;t zD|ZbY1bO4jLEB7h%&c|w;%T>=8`5yZUB>V9OOIHZpZV71VG$7T`IpWyUfIc?o`-(< zOT2lYcE!2bLTu+Rcf5%zt$)B6-}iq^T-8rVoWqw07i|CGzU~SRDj#}cpPm=ZQJN84 zJ}?5U9sl00*081;HIV!Adb`kavI$GptnTSg=wAFCQ^R}Q^(jk$4%Dmt2K+*eHOJsh z%)Zs=9Kop$YKWWTwSAoWUvpJA6yL>sYfKcriH{1bQGQ5u%sqEkzwc^j^ZKqvRqCql~Cg24i9dgZXdQb(iZtp8Ngwet66C z(UF*K&t7}|);iaDp39g!zBS02JXYrPXNA@v1tWYkUVATfr_>`?T*xj6gCrD`YHf7M z`q!FX4J)aS-@&k9he~*LOG~VXzfe07sCG6lQ-hVj#G9N(Zw3wDSx zSs7Bw2{wi=@o8{eG{ylX(f#tNt3qGdY0f=f6r_{m+VLwa?_| zB+BO+yYea28xxU-rZQ>X4c~_n3hp!DB$Qt`czp{tVdFL`qqs(^TgbBcAvrdZ_?ntt zm}9<1LHq{jn}UOF?-7W8g5QCc$;DG{h9dr|*vlCD*`9^UrHt0}JMTV!a z#M_O2 zg?D(qllghXn^HWiiKx!Y-?Ap2knCXnYQo%xhuRIpzB|D`CQ5?>+QM$J#F~Vx@t1Dw z&y}eMyO-6L<0(ZEtxKFPR{3)>i|;^M*E?J%YJ)E$Ry=Y`rIZ9h+CLfn8C4oMvmeyt&2dl#cOuW`2<9VKhM$fodlj|1l=B;UbseOR4ekAXooqMfn zQ+B=e5?d}T5{+*_$>A&KjIDLL0yd3#($?D+uj=<{DpaQiFz?Ud3HNdz(uyrs2M|z9A%a2muVLBo)W!u~Ce@aVy7MFArJ1 zb;_#beXXR4QUA!XSI@Co!W?BaAEO|AXXow?t2=$^05zR+{vl^Dio!h-AEjv@2oKqo z%ED_uSw2~ET2(&Y%X2CTb=y%C(y8G$aUJUkfU2ZI&moPSM)-^b8iYP5`anKnytXE^ zSDs}=;zz|T#Q!Lg<dy*`9}zBSujLpFkWM{n#~r0BKtS?K-DRf-JPgnD?S-;@FV9p2!c2NY8p zTv-`O=9qg{5LWmA_5$}=i;FKPIm3ev21ngqL(gsQxG1BS`=*V;PvcM*Q1Pj zXQ>K!yCg(jcOLhBTdxz~(EOBE*>3FzBZp0}?Pd6*>JaWc78b8>iY|f8>8F2G z+(plcY3cC_St-|un9PVnfK%jdEnm3549{XB!l-aB(7)J)FyVpJuw?NXs&kh;Ju*o` z99`-3rPGVR!6I)Rw(W6&Tsc$uJ$6E+*m=fDq0bpQzD|_-&@Dtp-Zp&9)L8~-)yanr zz7ef*(&SGjYcIiyKpR70b3Auz;|6NVN|1_<^U+&D|Iu^g1|Dz$=WVK>Fva!K&Iduw zz02Q1pdAlD4;6O#G>!OS0pIhBK^(0-!U2f}D$eo@Ra@heum&K*iTXsq1;d#J z9AB7oOinoxXhCMouFc5D8M@|j^DN?&%j+klrK}89}tro zw`HlH$Rj(i%2An)W`)xdGaPK7H}?>NC~nbQDb)xOPVJJed)ln3qU3!@3-Z_xgN$##fICPux8c{2)JE|Y z&P_!DZG!uQjGb(BpJM&EzWVfdpNgu~QDhtje)x7Tsq!0Jg_==buR{Nmv;ibN(P*0@ zD}UO0yE@BVsKoUk@6(^@^VbELo!STme9&8{IDsAI3MIT33=b4SOwHrp<%a;-Hdc`Z_vjR<_C1Vb<756FxLeaa>mmYJ| z9l`9TRH924YCMC7kv=S;%wBr;x~@-}p5?LGf<51j-%*}B-yiwK9LyfPsfENA65m}y z;bZtA1$@cZK0q?=tMUq7(Q(P3;ZZ;b-yx)-_Pj;0&iz7#0AV-fi?|=Vl=J&w{cliyBSz5agipE zWOP32j@@%ifJnQDyM3wOIC5u*={t=Le;!hy`h|6Gkw>OysDj_mBb;UOGJ4@-goJb#F|`6y5iq*)0w)ssTtu z6MD4B)*|u!{2aA70}%Zpg5lM(yBzSfXSVPgj87CA*OV0)(-eZ&GLk+kw2mThHrcqO zvX()6mAxBdvCs5WnUg;$V&81p<;FZFzt~UqhNdq=+2rQ$E901N;6%6ll`CV0QdXvw_OlX;;@#QfW?!A?n|u=nii+}L*LU9^(}&`*)TOg z4s!t6^b0&?CU!~IKfx5GM?0V%H=({NlIyZMS*uXVy2qZBUs$+E?Dkcv4Zp*~Mvr`c znu(OT9p83w=6=+QYaD*i`|xNn*jrDE`>*SobrOA#v3<<1YJztb@&?WcZi6v?DGckVb2waGtZ|E3sTc|7zRAN2AUEwJWj=tW|a zNp@FULLtW3Dmqqmq$}HGd3)w|WYX&}MN!&^%c7}u_tji0YUc=xCet%{WR8IXkk#n-vTVGs9yD)LtVEmVN=1J&N^K$lh9edia&~em> z*E2X)nzuAsQYdCzFuZh1&7ZS1qZrKVv{e{2z z*RvGr%_xKRM?aNAOv!2#RhjoC`ATAs#`Hs z8K}Swq5u9Iykg7hF4n+_lI}|lQx{JMU-?$w z=;5;SCI6W%KEl4=p3KLRZi7OO6#tWrYh3pB>Qc}ufx542e_$s`{V=>6n4huG`S-X# zBP89`dPBijYBIi3OvV|g7( zp4ae`DPiSVvTQ8-RUAc8RqY={J*9`gwWDxFyYK$8O!BuPiN5v3%$< zVeOxfpj)~5uBD$3D=_9T&ceU4QMvwy z;}zqkPhw{4jwK2O&&2#q_2r8~{ME^fZw(O@XQC}ce5mhUZ(V2Am=dlomr8WgI+5&rMa(hRMWt(9r{Ad* z)_4;lEZMa`@L2$x)>5lXeo$Bmc4>Ei^C@!Ppr!=3fac?4IrwcGCC~WRB|V;JD`1d279Oncuo-$Hx}qnf3VU!RZJH zJuAHUdxm?Yna8gJ_n<7sXdY-<* z{LD}<%%)xq>Ec~~WxWXTIWSMS#aoX`P*d0}*qyWynLL$ON!Bjqw;7>Y?q^FuLw3M9y@E3}_skYPx^#HYt2%18#XKmIh(3y^4)WVxdXgc(8|W4nGf< zWN;7ts$U;A>(w{ha3ePQDJ9(+SyGZfKH}47Ho(KYODw!4Ua)G9*xSw(kocgf>k93g zfWlmC`^tr%7a0K7zP-wUQDOfm@I2k}kuE7KH_ID^2gei3`fK;l#ir!CPc$02>uAtC z#fL5RJmj&uOAoGZG5>sQlRK1M3_@`eAHK!)+|y;Ps5iu4wLn%vI+}{i);90{qjc*I z;c2kN(_yvc7tTra+ib_wGOqr7aK`~gA!F9EidU8Yc_SmAY*lFp55v5}TY4BATed;Q zW+-snkIFD_>}`n?987~auMmg3LpwBY?)7z3U&{cXpuX>UWUI{%CzeZ^Zv0r;k>i)Q z3PcdAgLaeCcLY5sGTd(-ZU^wcn@@cab?{r=-Ac|FOIOC3S0KC&g zeHy=u-W$cm(k(S%(!`Dq-9>c z0Ra)qIaIAVRkNczC&;4?Zg7D+N$D#CJFQxH%MF_E`eAY)pIx2nUpmiK)VFn4I&UUt zRlQoj9JEVU3U!XJ%dpNS#AK`G7|+aC;`MP=mkTf!4SY@VhhVM8F{baFG$Y%nPu7X7&NqQc~KTYvpz;keSrH+d=N0e`kg*iBP2Gc=+i>c8cy;oIS| z96&J@&hZUEU^zPJIh9%ywGIOeWPZMpr9WDyU^z_tsN=Fsh2t?ijEsdzaD<;*i;g5I ze9%x`j;=d=xnR#uca9##V$aCc`64mmm?ui~i*}a+SlQz})$Z~Ai!)TdNagIpv7Bwk zX}$s{jRh?tjbdSVro3zW2Hy;>G-B$k zh2meIICapXd29m970HJr`PFxxY+6R;#?Vc)3oow{uK5G6R29%(znJ1=X61nuN zCNozt@h_75kU|Z`dreCZm^IB{zh+zwf-^p%@-$Dw>4Dz1N%)Yx^F)@@{&WG$a zd~88hqtHP;rGA>*EBo^`qb13N!6#I~lS6ekw)N$BJc%esplM(vtDO?~WrNptx;i$kPk45013z~eN9k;O+ zYXCMT9|}5sGrO?(V44rJ4Zxm37#t5LSIQ*|w^@2$&UKKuO z^Q}((f@uy`Z(d}tuvMCo@IwRkWM;)z>vKu!!xW7*1nL6wKwa~+2b5!{h>w?ia#M@B z)_&PZ)2Yrsn2fYp{YHafw@B+AwOnJPTf1xEL_B08@ct9xXzyx!C6&{{GrG$~$zkb* z9{g^lM7Uev(cbZteAZAJ?~oB0*mPT5Q*(P@0%B{USaiKo5@%7 z7kS90;_xDGI4B!EuSEMt>3GT)hgo#16{VotbIas78U%VP<&Cfvm&gnsX6>DH!C}dU zT6CyQ96&J99lzYl>*u9=OC+_Ea-{vUUbA@7^X*qz$kP6~-|*i!mWDb%{~@J^w-C+3 z+u8g+rSEgCXY!XS6Mp%bz)zVqwxs2W*4MlaOiSe*pGq!mts*masO6FP23~)kRlab9 zZO5;?8&j2)o~+o7_mX%~D~*~C8k>=cNY~AP(GAd!rK}%w2tmRf=$TIa+&6CDz~+v! zukE{sX)WFG8S2N4dN5$e;3j^py7{~XWkl1_{|GJ6pP}Vi(@10U=C)}o-7D%}nl{a= z%Uodk*`ypczSLCTlcCWjx$DZ`6#B_ks95c;%SKZ!*eayj_KT-IsNgCs*&4Lh;N~4% z`czLXPEjQaK9~s)QGLV{I_&|Sdr-6EmhaPb%EOV7_ERQtHi!DY_H(xWZ_lRUt?v6@ z(iA`S8r?a^{hp9cxL~N>f|%%R&99YL73s>TtaW(Gx+AhjJD~nVe!U=NRrAqmVcXMn zHE2I$=LEgP`)=Y$BoAynlR4>a>$#Czn_It56U%-iJu^x130bMCkqzZnD4R35s><4z zZ~$vpm(i#Vnbbh8vMZ}O)Mcap4cLBPN&vSvilqH)*UeUa`{<+l?&DB;mxkJ!cuLW} zfkLo+OPSrV z-xA}c7nFWSOXg~uz^rPVRVO)QpQ|HXQ1{Jx?AvK-{ueAU%%@)=aBJp*9gA(n zvceODZ7@Vtn6X*I>MFLvbTu@036^&?nQHfI`dDKpJMbsvEA6N8Hkv8%`bp>&ip_!1 z`?~NOk$j+7&0>Vh$hsJkmn+WPk+Z$t6z)2noajhOMEOcz+>4ff_5TJ^C#QWx#Rm3UuTbP!V<3!={QWiI@P})J8s3# zE#z-_p*6jKNpL9e5?4G~>05j5n7xM`)<6E70qs+~1C}{?=e_8IMt@h~;CfxXpm7t+ zfei{pC&7cA$vzs)+!tLD^UOTo|8X{y%S@1>>#d*BJ?l&3GtfAx?%%=S`wy|o@8U=J zFz4UJIj;sd>of&rF0Ey`iuBtV<>o<_&RwT*t3bzZ>*eq*vml*#jQ&9p+2)z`gb^-m zrw5A`wGrM)jfx-MxSwOBHVZVob6*4+_>_E8T99kjIeo&FMW4@NYmFp~;@R9R5%P%# z7Pdooxi~4MmT-<$2<&r3p6txtojdVyXr9^hQvFdY8HwEdGAo?Vkmac0>xYh3al4^r z7CDrn-j&Ft(lVzv?(-a`ottba&BE%Ij^sLtMUYvA#o8yvbsN(4F;h#kl8zpMN|S04 z0^^{MkZEyRt}wkZB0o$jy^%J`UP-N`82L!|aK&rZhdSm?mXyh%XZx^&H zt}$wu^7YrF66qryMDcd)uqNUa6Yd`W@Nt=4m@Sm(s{&Yio|7XxSL+;(kf#Om>%G3h zfpO0(%KBy)|1*wGea_;j=PZsEVof$QZww_=Kis@XC$ZDj3G4@HcCFZZ6knzI@tc?L zsw7}`Unt|V08i)9-08lGX9>9x7=K4F^a9-C^ETu!gj-Wm2MU{ia@ZtSt|-@X zs{YiAp_4KxYT=8A0G;|%XFrxA=B0&^&|KK;#@doS}kc!UikA+kJMEB zYb>R@q1;BfTMf|m$dt)QnrCF3OW}X#%e_UbojZT=j0$TCVOW3UIFtbbc&rH)HIAl` z4M{4Gbo0}3+bA`Q^JwUOji4-m(AC@d@*J}kATqy>J=9}XxLhG-l?zZY z4^G-AnD~K7&dFbV$(lR#ZvejVMo$!o=gh~mLZ4~<(b=XzfI9n&oA!K~1N#@90=}Pl zgKd6>9~9|X#CdP)=a`3R6+B^)f8iF(CR;5R_!01Jivn+RR;gA7MgY9YO!^9zs=mPg zxX@qCCt1^dhlGywg5vwWmpBw;dJ{MyAubTG)tFeu@eMz1BN!`C40 z7z#y!hr>#Nd&?U-bi<|6#Ty7%qC`=P3YDC_A%WG%Jr`g}&n5ih8*^p`+S{9EdS`pu zCel@#sbIH~>h}+3q5y7Y8LF^&!TPa?OSS{xyVh!Sb_3THgM2Rn9f>d|a4+nP007sR z%rhHe8D~HI{unfq(~EAOm^|Z_{^PqcPKe9_uD5Rk(AcnBHKY721v8nVwkis^A&DNe z`u?jknyk=R?sI^zJE&M^Eqcno`9(vms=up~+GRtrLM}BOGAn3T>bIKe)9dT-EA*Hd zI*HmZcvf}|1X^eLJ9+u#(+}Aiz2(cqKS{!%Qo359Q>LKprnL)Aq5$!8Lonvz=F>U1 z*Y4AKg=HVyy+)Vk2Nd7$Y!16twmqs{GyJR${DV#)Ks#PKqZ-?Gzh#_Qt8EDK*}Muu z&vTjD3peQ}f8%u5m}059bNH*dG{n$LAGs8U0^9wHnV7r-+_cZ%3AN`+?-L56-kvd( z<}&uKOl1T`NU6EW9DXc0pEX@8>1 z(O7T5&FNH3;O~Pd#ZevZ1D|YOEkgT5Tq)#ACj_Oi*w><-<7*Fp?=tb|?9w%VzjOrJ z5TJ9$Xrb8MX{J^&J1A1Br>$C^R56Ol6#iI7v>*CZ zz=x7pq9BARE!Ok#R0Q2wdjC{v z?8dFzz=nf=DU#8wD>KrW(T_;2N096SRH+GJy|`XLA6++eJNqw02$ zaR*aDy%`NRD!5cdkw22_TwTj~xYgsztV6iR1|OD3-FaZ5mm^bElJh%EElKS)z3J|( z!|?$&!kj}XxRLQ2aI+8py4fZ0KJdexR=Hb?^h7nmKLi#(V>AWrbwj$S1rX!m+E_o{u1B*#q>q?7`ECTLr{Z2hS^`3THr% zdNYn9Tw`6`H^Yiu4OAa97hFs20Q3}qgooSjExq|es#qG}6I>|&{t3I^7ot`s6Ant| z6j{fGem;KE><@1{2Q&K|Rm{-rgH>(qBr1C(8X zw^GH5Hi6kH#s&0@Gij1?9g)!ie9&=1|EvxMvKJZ$Wi83SA$1j0$^Q>{O@4e_r!96#yJdhGY4*^7mza{^! zRm#Mx!;$sT=H9u1RA+xjwFxGRIJOEhE;6mu2Dwmqo7KJ`368btW=jbj5q2QCKwmS4 z`CAAAIv_XQQ9#Bsh5~T6p!0ukmi`3did`hhj{)ToCO*q$ixX0YGg~VYo=LIIXU4aN z`nLIA49;~8%8hp~)z3pbGk3IY$R`Ba*7vmLYRe<)nd>{g66dUdZn0MCf=yE1nPbVn zO;YRYigU`4pJ?=bdnQdEajD@SK*6&J{=Ff&3RrlBvOJ~sY*FHUc;KP3L&f2SS>hn z<&b%!!5X^4>4Q)iTHLds3^#ma&uG_VK+u z%w-8X=eAzl z0fKz}q;$mia%Ih2WTfgWSadPZiRb8%k?tlZw*PySU%bmq*sBGHY)n60h>Yf`2x zae$Ngd=(%#VMLGS$VzMj0+v7ZSAaHJsD0jNRMBTRY(8+Uhx2qd5)i+zu4Y-U0xazq z&ydY0XPPCT%YC}spHzkIW$lv~RgiE(WqY<;DD2)6Y2EEoP<|*J1$1-Z&{JGKbKf00 z>NWp`&X@lePZv@dBx-jQYvO*CH(~T>_V$@{a@->>pl?uXi)**U!$FpEo%krhe6u9V zg2aqPD5gAY^}K&{*h34l*9rVN5k+cEg3mBZ>6jKaC}xiIb$II8;j%(O$64yl@oedE z@vodcqjd^qh)D}CcBUv=s<7ux9EWzCCYVAO|&f}*4kx&*!ya4T5pFH|-%()Xr zBGP>%u84%mDjg0O^inJBzMOjAeaRlsw0Qw*fSJ~6{deZE$d1!G^B05f@Ak9~5lRh0 z_~-X4{CmtgjwWPDkvz$0VAV2nW!RQI=jPWZ3-s+VLj)xo3sdbU$HX7w$p2aJp z!g4r__4Kxb+nVuyYa#WNQUs*e@Tj-5i5*1LD%Kn9;c3?ra0xqZ{PbjG+^$-x$|gf6 z81T55L72oz?3!Iv_Y8d9dx-8h&asId(PYY0|K4$L6|8o6gZCtu=YPkA*7&L zU@1b?;cB)9pdGgR_5CCEBYnu7-gx#WCNmYSdxJgIGz+64+df|XT#?tTWJn9t;HXPd zQy&5_SYZ8MfyhLMCW_I_Qmh>t=Xs5>&mlk*5v=K)M*2w~W^Qth#|Bh~5UkPVN<174 z)||HTpYyBmYXue+U=fg0@icS0cV|j&u2*Pmy#KYaEZAy}#E8u2sS$^CD=8-n)mxjY z;gz*x+G_2%+?{Jg#OZEGp8iw=F~qAU(pwX@?+~TsZp2x(i4A`WP`eu>eKLk>?p{kzd@B=N@SkGVQ9q z3=0Q6??);;+Ez|4+WuGx-;&jNy*F0YDZJ;+{4RQ-kkvgtzapP@&f6e^ z!3(#vJ}bsa+(Wb_C(ehwsFSd|hu%|l&*V$))F{B6xYrbe@SG!U61hH<2T<1;^j3l7 z$)|Qu@$7rbFxleS97+YZuppFES|Mi4RElxPM7jf0S-KcBP-onLWTPi$2n_n{)t9+f zwR|FDa&f=bnR|}>I2(O@TOE+nr<1hcP7bM6FxRB`HD>av?5rOA+_I{-^0gY-AP)Dftlr9 z_|q+`WsXWiDnuy2pn+d@Qnw5+U`XkM8WkgztA_W zezPN;Dm+2IS3gpP^-jVQ*}0xHfx3j2>P}kQeoi`=n4#o zI%Y$Ba~UfBND)2lSXG?N5Af#U-vO9{+gj z5<6cPA1iZG&$|U`!>o?{(37@T!?k-|+yYZ%V0?l#EK~8h+8)2aas&30x!v`$)GHn( zEkGv!E0a`{g#u9R8bhaV+pGn-t^+25+1i|DekoqQ;tFhtR0Fsl{}RuF*|eYjE(XVm zgkobNc0(3kQriLTUQa6^<8`lUAC{UCd}MALAxl)3M)=OeijEu~^nrz&?assEOZ6Q| zQ>2S?<~-qnB!uYc4mJ4TTOg$<@pY{dFu-0c`5Ye&tORWI?Eq-+xQRxqhP5NL$U}y&e zTCv9Ujm(vd5pT#Gzv-3=$#6YbL6P5dom)n>-Y;JNRm!t9LVB9R42?~D@#ZfU&!UZG zr+fnlBtLD$CGbYy>tn~``A@`kzvL@aBP`ViNMeCIdr%-O+L822pM^Z^@I;G@6r2!6 zzpvc~a2EGYud?1I*OwkPS!QT2&UWLE2en&}`MC94E=%l?ziN@N4ZEHmIMHq7KTTsZ z560(ixHrF4Fa6%m$(r^CY%6EFl0(<)JYw~bpbETK<#7~^J~!_HEgRp}FmDe`y1#MOlUkzv$%7AUs2brXuQvMMNU=bX#EpVGWX?AS1ACDV^FO`H+%5?_D|5#Vp=hEts5!hH5bo=^rv8Tr z_|JKu!T2~u#wAZ=$mCWbPLiQnF~;abhiV&;D{pFKahI%f zG!r_KZBFLeeMIsbVsxLPue65A-ds$mTO#4ewL*=sImIU{ohGJ3Ra_$jfFL0!)D?3a z8-E?^jbi4No`dk{mVR(VCk+IT%9T=#d}D(NkzBdn) z!d0{02){ew>yM5AI|(65N#f~{#5(;YO3_aZD5~FYXs@oWQ`|5-#5Z)bl?1;fKX?Ax z+(VwymldUmxd(_>f1mpPX>SyimB-ZCuh(n@5JODvUH~TaekZy;x4)l=o3_pz%WEku za}o8_T*S_Ap-KfD3T#5-**jTQi&eyryAQW^m{u&rR-Zf)Jez?6YiWe5OYYEyIgdVBt!! z!^gPemE$B&_k5W1dKb$ywDVS}5sQ~@fXJ1;Eil;U@~>Bc1AyyFCwjJ`eh!7@3~+&Y z6!Blr9G3mbmIg3S`^26L`rcLaFoIM07k@95#>It|<3rGrnB&L2`mv3NRlHrY9T=^cXnwq}oA z3RQ~4IYdnBq9DCXYVdl#@O6r;$P!Jv$=7e@f^ow!V!kBcVKGkB_~LYLiGoRoqhax{ zFUysfpRO0@=NVfdrrJ&Bxq%n(O!2bx9dpE zf4-*&DC9W&Pg<=m*XX^ugUAW;!N^$aGcX>;zG?To&oFsTz1aT2Gn~XYt(8y>eZMMy zLS$>=vYR0WdLM4g<77rPn%C=UaC+bO_<``RG%&d9=lgbNkI3gvbb!9Zo z>>$wSXfUITW)@&u&ACVviCekzd<8PGg^ICXTIu zGly~)Rad`DJQ+Jw4+V>Hx1|SzvHL$xB)GHr9r1;a_2zQ_0UM1duL#+tVP7Ow_KyQI zf2A`C@6@xh^60^Zv(07Q!XH4LvAOagN555=b^x!9s<{_4JvUsx82YZq9;j`NrS1U> z_^hJL-*~6~@mYh}9xI;r{B{C)>rL`l_*uLMOiS6ap@AJ1I}tRiYZGRWwhXY(jC%tk z6Us-t*YCoDp!|%CBi1iutb(`L?FQQ$dOhNSyD3 zA>4DA(sW0hla4+<$s-$*bq%{RY`ns^x5G)zCl+wzuBCA546w11dSYo~oR|HU@7$zM zikr#*Ln>aFdzY`J7<0ObLP_0L&k1;t9P4{E?qPeF%|_4>5?bu#TKdBQT?V}KR`mw( z9>Q%~T|%GclOnDY7_R1W{0_Q-mpt}b>#uneWnDAGmM2rE$>RK}NtQm9#H;2KN^5yj zG9KHcpKrYUKpQ#Tdy~l02x=QHa`)A>ApX)by7k+1Hi95WqWxH7= z9N30)Rqd81&?iP$yl3VOe<|jhR31+D)D6P#3i^_ubmV;I0VL)!Rvi3v z9dPgwi^B-Tl2ybXBD_tg&k=n9Bx`tIE+=p`vkK0jb8SXt3m_=usipq__VtB$9h*EL zE%Slz);D45XL^CnP*$-JLH56E5dIt~|CWrq8BWXKMeyNq9Mz1D9EM7S4^)*kg-w|0(%Gu1?{rOjr_!{Zu1zH^>sBp4S7Op!6=|jo^0c?i?p4Z z-717%!_~+VZlpKYtU5KP+-94R)8PB2?I+%s3wgj@-EQDP-H}aPgVXV_Dk;v}?(@j4<^?fSvNBPhD$%^xpYhyw)RwQv>)1 zF&Clyf@{o`MFlyaefX=f9~0Z?)YHbXhY>{Q(VZ=MJ; z4#53RtVo#Nu#6(Z3ks~)L<8Rc#fxWP!74EJ3Vy8o-j3|jxelPI z7sOwRrf&0uKAH6$*Ygo-0oRklR5A&JF@y9A@ z-2((Pdd*jhSf5g|E*@Y6_%a8ZS+2^^*~Fg!82g}I0q+D%L0avRHTFI{!_3%pJq|dm zjeApbcY`*b$@!DVy(x^&Sh~NF8{#C#1amBX>KM}9r~buD753OM3^CDdN^ZHGmF52X z)QsUv$Bh5HM@&*lcJ6zaQ)Gvvzl?!zSgfRwL2>kp;u=)1sAI?a-VOaG*~P1@1=u9w zkC79==*HuH>4&04Ajb_n)+mCldQ*wIulr=H0uFG1Pmd}vDIo`i7ksD~fYR^eD|HIU0 zJLo9GKK|~!4lfSaIelGzyK%`90R{}7BFG%UQ~vR;04yoU4=r^&-%D`NwdqwDv62~= z`Zbw}jRw#n3K67zhPZaam{Q96WH2UtqlSy2+)mUp& z_KJk3&O}LTyk^MH3CR;wB+u!KhjQD3KFn%l5<3LfKA_Qe_m+wrbb>vX7SvmUs%{e; z^X04O#Y*kceTKXYZ4ojElix;FG4S@?ydM*ii&-AInIp(*GQc~jzM@IC$UAZ84eZIX zz|4ZBxCq6;CzOZde3yhQiSjiq8P#CK-)mKf|*Sil?4#Bp4H%-vEJi;~cl#0yK7nr#g|6q(OM8F#T zG)3=|S*5j)Pz~@Fj;^n=kjFj*cCB?UodJHZs56A;(-{84>&yJBfL+U_=I~H}E=D(? zT`01bnx7!IQDS#`=HE3URndO5VW+TAGpf{*I0$3`36=Cff8aQm#dQHdwXtrocIJgu z;A9b)KgBmNGxj?q_U{BCTkO)UUfc~0T`x?J_T%t^gU+z&PXewS3@OI?vV~Vh-I#w4 zzh2yPZOVR@$^7>?I2dg|n>fbth7%OPn5&HSoaQ`nge==*)aMGVIbjLUZR^8M9iB8R za2!rMmA^V&+XxsP@v4JTEZoN8#9nT4Xze9!hp%sEczJ+c-KP>WN)huXdE2<>rWZ%s z@#}%AzobV4po!)p0naxx8RJ|a|7wBOvIY`T94a))fYDFJ!TBBg@S7lEn}tOl#2CVz_De zW0`yV*onleS_PrC_+sPK117%WefJ)BQj~q~^$t(vj zwep!9kZFm%s{okueX34}Sr%*pW8WC0Nb|2xQ-IZ5G=a(@rctebBuCa~L@vA{hx*cu zYi9s(m8Z#}k?hd*Zzh{*%Cn&WXeW%%^!NrYq!t)x<1 zSj-jG$!#BHxaVmmOf@rJG<2g0u-P;4X8x&Fv7TNamYjBB%#}mm{*r{g2tr(B#wPYj zbAtL!C0TA-gEWigdV0vb0_{{jCJ*KYYBU)Zo@*(0-SC#_)77BlX`oKfO3vB`70u0n zG5&zm>e3`}YPYt0ud(|}ibqwcrqaenpwATJ-HG+({xT!RUGI?OoWd5jWjSJh;K9$$R21a%u>wsQ2zJ0Gvb*w!lT z7UKmqXfHisLr7KT`pd~;-}-KCb=RGY5zUo6d+L#Tb0*^<(!@FAiFOR&pgD%Rxsw=t zYA_{6nDsGW3p>VoomJ9vHzexMsx4MCD?d{%?WA&(@x6|FbG%`=Y_uTEwr1A;$TJj| zt#b4zQ^w2gc)v1CsCP>dDC^cht@nF&3)8Jpw$gL0k^L6Uc_TL?^21IK$1Dw_=4U4) z>`B!IY=9w9(OG+Dr)U5^@%^Lj-i!<2LL&SL`04kCjyUIkf1J0YuZM2LN-H=E0FYwjk+D_;{Pw$tRZ7tN76L`7s(d3F)kTp41h?s&`R zt8V`9Q&U2D&g`7;Hn&_uliD1Ks%|dW!-aYR86Hds5bR zFS>N;%9aalXO>NzQZnhavVD@#{x$}A}9xmR?Jax&#tLN^d8~2}E(EUF_YpZtsZH}$mwq2{` zmRJ*Yx#zCG^e(UG;{P_9(T_(%2lXI=h zA06wJzB|29F*E$m_S^RB*RLP(_yW1NSchvqayR)nG^ycl165Mcaci+o8ay!04 zY=g<0TawkEbBa%JXK|V8qpPdKAHTc18>lyZ3GcqQ)8D+^c{@5f`tEkd1QnhG zlS~du0s~N;`?TQu`p-XJ9hvUuvgecMk&Tn9*>ybI*Uw#8Htp7j+vl!T$GgWwzM5y3 zFbf!N2XixTPwkYJmTta%h3UV)bnWdM)$i}^J@|QBG;rVSn>ro_w_~s%E!+(3Pw?Bj z?)e>hos0xW~VQoyYTUH<$FJk9{rYA{>8s*IiCWXbLjf((szV* z^&SN7kN%&(rE1nK<5vFLXJ?zwkNEz1YSpFlk38)+zpMUTyYBa{W1Gvi=39He&91)p z?cKWPdJG0}d{PbR>FK-&CWY7n)63(m?B^eKv+ARJfae@Nnr^RZoBQ_7pI_G(Z{7kt znXk$2fxxZe#`pL4%V%e2pI=h;HM!1qMH%a-y3+mrb?fuk_v-a-`u6@wP(x^|I+?09hoEW}^Gp(#mTDCpjTKd`nV1rU zh^bZc5CoAZYDy%bL=fTg)cbYcuX}y}f%jV9^*X;;NuKL@_St8jJv{c~c=5pKjnaGp8B2 z>e{*t4X(a8p>M!?F?0TV-oeJ3Vn@GN@Xt$rxy!l`bkL+MlK)#&WZs4TxD~4A?xs}= z3#r|sUeVdzJ<^1-y|#!TK)q*DT~Mi4T)I!Leq8@Jo4U*_@_l~l^nVSM0!qB(`mO&O z22T4L4jla7u~hUHwEurU9z571`~T*FOZFMGDvOsBt$P0}ZOgBFpqOJ8ji$|E!J`y~ zG^^Yoj%D&H<1G^pv$m>;5iauTqVYMz##(w2-AMt++7l$Si{XhcfDRt3500DiV1whs zi{rLCZ!}N<)-{E7qYi`xGCVo#1!&ePqpyqKlT9Bu&8K^-<Gj&6RCN;KM9QBAnlaz>`|%0&kS)O~vRb4(v?( zdtls}*Co6yc^jB>r5N4{GpDaY;s&NtPwhH}BFb*Mzc(j^1=Am%{Zim6R!t$6tK)$U zDKnt89-a^ihy~W->%Nk(IPSP3G{0SOnkqJ^7;-4;+aSg(I_jL26{$t;Dv0>*LgEC& z!LP{wd2obx;f&QFvj_osGu=m1sp%@78p5A>f$niT`S9j!>dm~jVMsUE7O1V}x7@Fl z`Z9DP-s267e@`hhL!(y+*!+$!i0Xs&%Fko_R6Q)mDLuJbs`x_08^-C$R5TM`#PPmN zZQdYDY=yr9#GA#c0P{tmjkP1j%@wVFl?afkG45}IX5R|#VmF_Hi^$!>6u#;$y}4UC zT5vSfc9>A;mGP(?T6}_eR#x#ZqOkiTw)Xw|>g>&ck58Py&ozR_+%wJ-JTg#e4qdgv z<&~A+&1Y9bO2rPw%+8xltt7i*kP|SFGFe`N5g3~kJrm@vg3}*m*)2vm)+oPBn{UZ=(?K@(Gz21 z^Sv)C{yK#cqT%}|P^zlDK?~2u%|zJN9cgv(&P;FpqYCnq{d#ep6Ee#}qwwELtzHx( z4t5&;Jmoa)@k^l+i7z!m4>MRW7Y>!uj(;veLerC;lP<uhp%Y^KLH(AI8TMH{gV zhT!b$73?Y-j>5HiZ0UpLKHPRwQmTHtne5GJN!`6G6``yy?77Sco6qjS+i>_;*aYkx z@r!`{r~~|GgjfHq;N6|u_Fn%;cV#$Acc+?t(Y`Mk`MfnT@P_4Qaee7q5@S}H6Th#R z5aR4Q&c_$IBpWfI4+QO3;>z2vT^bB89RF;nO6|Oja8~shl%j9+Yk3SJiw3=iwWwzd zxIgC^`cKcpin@M2FXFCzQ+1^vBmxIKKUR6MMmmavFtU2s%>DE+XqWrAwaPCAnef8( z)*pr)!F2(3fl4K}cBMot$CDVnS-PtuE}0_}&CeNgec4GU6mv$+d*rc%s%I%aoHO#` zu*|~pR4c=$j`HTr9h>W_p1lpvPNhgC@A#gM$$V&?t`=zkAMV`s(JeDHvqMDcn*DPT zsY*xcY&8sm9eqCwtrW??K`52qgIw_6hw63J(pOe0u)fW=xtqh6Nal1`N{zpBEo_OZ zt5q>5`UIlp@mMrL(own--eZp57#Kp^xpQ50f9bS?BCwCXH-OLQ9y z9M%^9M}f{YRfclnlUf@;L&8_{Wf%;ST}9R&ZY|0lHv>5iPCt|{qKl&z8{Pg8*k#pY zk=eYm=|bS;#7kc4{JvkBmg8WiWAJ(GLF$?^Ti2(%M;s(I1~29UjU5Ez zSAz#i6?+s)FF|X|)R(YJe(2P=chZq=3&!5tCot~b9HWrYu=@3UHVV^?)6yYXud)*i zGp-h9qoUa-s--;G%sL`%Xcf9mHpa_X`|e7?6&pn?n1~}JwL*GDPG0-jgl5x8alAEI2_&8@bqf1A-067p_Aar|K&2Rt9|N zdqMZBompYXcxjcU>7%s2uF{K-o8w0nR2Q~(G1Jharcd(T-DMchhLcB!gz005v+ZVY zi=}cQt*cl!hC64iYTU1)@LjNJ@#M@?bNu{XlF{*pt=QmN+)F`Wxw9amP)Vu25^np8 z7k>SG@NRk3_M6(DXs4|ke-%0jVvizLvJAsE`<^Mi*N)A(56U^b#XQ<&!%_vKC!X%b zg`WG!V0kg32pGBK+TPM?sQ0wlE+QNO3OenD8#&g~NH?}br_zf!MZ)|dBOfP{#4FhY zxHgf7s{@bm8tkGDfA5hWJ-=;wRiBVeB@4ow#uX5*h(m5Zs{OJ2Hgogz zLxp7chKSEZ^3bDL^M@dFn6>A@>HEqXwlf*2jf|rC_bk#v8tI_W< z&*BgUEv64=;b<>g7!QY`2A4j?2D4DlWd9=LoGOHA<7k6Z$95e95*yi1eX}CAL~mkU zzC@ql4buDEOux|B%lnA=3M zP~jJOQhteA$|X&QdVYZ9nJJx?EJYGo-?^10s|6}Vqze%?I&Gb%{2a+%qxp$n2ff|d zOoNKrG%N<|cz(1r;|^?~&&H$AB@c6avotXEch=WIm@5SebuZpXtklRo5G5uN8AyNZ zVUCtPw(9f!)$yQ4e(_-vVJndPJDKqC?B?6?jiIWsN*Ecdc zn^LC)cb8G|{2Z31wLYA!>NRlJ0~stq!kQ7k2O+n)o~YsDzexr*ZOF(AJ=7vUA_g3|~N z+~qzIWqf}>A?j30%$1qQvM={D1Ii|E?pH?UWf?$AXIhUAjKZY^(&pbfIQeJqv%ee)KIB|u7qY#QCFtU zIAZas^zb$px!r?8guR7ttU2BUF{kwHP!7(4q--{d~q{vtG$CMU}9}Y zRPiu}R3%7`@pfawxnB?NS!IoTb5|Mux)t;OQ+ph5*RmdrVw(zEr4T=&eQJYQener3 zAxL6(#!EhkA&n%20eeae-KiSXPCTJHfb|@il=AP4ohWIwT&p>i6BS0#x;(K<+&%hf z$)r}q+H0`dx*LmUf`k5XK(VtWTfE``m|ZqC-(~O<0&c66<0Gof4(h)gZLFlNIYODd z*ZAPG*54zji@Q>8uMrd9A3?aaXb$ElTb#z&a2^sj+KoS#XFS3*?JiBWOPTD~$oT8T zwu!WX%7UE}pS^XJ;qrNY%7SU`(;U&_jort*?D}YBcJO)raNczOxB3u`^Bd(w;ZKE+ z_o9cfx$apYgI%PhwX4lVtmm2wC=+8yZCQ^MMBVu%8{*Rt?cg}ME7iaml+#e)ke;CW z`)&d|%%x0-KpQjZBCmE0eSwS8Hx~>z*G`-^2{hDP!SrR$T36-!+x%2I6V(B*@+ zZv9Hr@(|WcUqU4!Pg32l1&U;tRY8qe{thfAb+(IXYl|*R^(IUYvB(wAA=DxVI7iQ? z2L;9kEIqc6((sA&xZ*NYbd%fP$@Lm+<91`zs8~k`n!(#M1#`?cUW2LpBDb_kC-NFR zruK^OJ`m|pP~Z<4&zyy?{Uh{7%u_OUoU1<#=dR-H4LG~}J0>~1A6aquAvJ!{7%yt& zk8sWVJE=g6zlGCb+tDh2PF4Q^f$*V(;z1LzPb0D6gBL;lvq#u`kIuinFn%Eshbm(1 z9jteg7K>!l2eW(e)e&-&8UfcpkG!wJpPTe3ZKuqyoqfn4hmO|_K(l|HTMjX^1m#HC zZ@gX`9T5MMH%et_;-C-2BqQ^SMf%_Lh}5E7?mIY}0xmZH~l-33wI=5JJzav#)e%fO++Ub?bXc+=A6&v!WnO!4QmgC|IY&Ua9QK zUV99ll*7~Qsb;7$dWp1M85l<*E&7ZtktgnP0Fh@ffiWlZA zY8}kR%boN|tDDP&$ICNa71`8{KfXm?-#<%a$;N_pnBQ1J&9n4`3UQ$+PO)lfO1fMe zn&P}&w`9&87gDMys2VDt?ywjwF!Lz#vUcQBMG=!xXrqj9%T^k{*L&>sIL`bg(#$ZF~1rGLoPe z?Lo$RVXUr<`|3($>cX>lc1~`o(1n*G4VAX=GDwYQz7?Y0@R;T(cxxt}uAnK`5$*E= zYhmKPO@%MVKhBIBH|lZO67Z)WEbfDjT5vXKo1M=UH(z4#6k(lV#(OEZqE+P6VHhU+kcxM{l~udyjFof81KxzN{oezY>#t^(p+=s3PT@nN-AXS2&3zLC$pe3VTkKDdzPzV^E- zU9ARWaK>(qn{e}7adv*#lYD{U_b%tf_xoNjLoBUdT%y`hC=X%^NVCne=Z(vsQfKwq zbN#C)LIV?ZewWs^7R9KpuxyWba4YGQ{zh)ORqtxwok^JHQC!a(W>--wzK46ch^owI zpHe`p8{$7Ie5C+n;DD*;j#J808DnM5IrWQmgLRk!!-&mG*ssu#QwOy zA;&0m2>-*o?sAuNcL*hV--o_E2DHd|-Gu_N4h1zC@+y<+rcMp`_4>vKDp%hfxuP{t zp%1QW;!1et9=>IJMl8uR1T-@~CD%O0tI{xDuf7W!n!=cQS=}%$18{~a>r4)I_)}nb zF*Sqjh_7-VDmQv(S5cseH|zP5aN-=Q2dbg*4p9lrLW1b zh3b7l-;9y;n46o^=v8TDk>2(CS7Mu{Z4j0pBN;2YI>vc2-KwuUe?_YSYIVAq5WVd04_Z zuJwxg@yL9Elpq^B>`J4l0OoR7BtJ*DgA^)Y3nqL|I2mN!q?AAP>5>wu#KtQ-MkGl0 zatwK`Raf`6d-W|a+9&;qH~Bv&f6^ksymH)g>;{tSnqc%Og8+di1pd7vH+o+24OcoXaNc&a=@DVq%4fo??pT1a7fd+kWJ`Mtqv_bZ>@jXTQ6H@jv zWb8$3u@ZpC3e)hp)MO#?h{@fG!vEy?<9=$}aXBMdx&m=ydkiL0Xe-nK{O-f}s^&zo z|A9YazVX}377`O|ZYPWdXH{r}mPPYSYcB6m&fk+O zS}<{VIUsMA3xGbj0|u=(IQ+!r-^LH&yAS}zWUJO9a69qU{x24*uE{XN-F#va43m=!w< z13#`MU}!q+{WP^oFD1NpJQ*7dqYsvNJRM?IZFOJ)FaJoQlKDx6F+j8yJ?XS3nT5e& zn3bA^GTK#5JJDable;qSVYfLc&e*|nkXy@pgT2uin!!i;>~S}0qROPeVbwqNcMT6( z*f9`{Li_*8F5Lj^8%3wV`>|$11$K!Jy(>gBVnXX=o1$ zPo2dwR9(8cUO!r-p&M7cGvtbV-9vYbDtm&%mNA9qWeJIdUolTSudJQw5m=}XO|NrODPnOYiYRMsUX;^`Ca=EkYeLip%_?h@17~f2REe}-oVzO$cd51SA?I27)wBEoiSX8$JgdwKExBSUX;oDOqFwg zeDfiow2u32Bh(N8gXqfDuaC;@;C#t}7XoJejq=G4*MYhVHYNOpSH+XAjQ@l*67tswLE6^;p zk#N&%AfdfB;2d;iWmx<|$$3~^5ZTjnrtN3p-yr?RqRROw+pchtGLzP2&!4&EBHvo5 zSDx-5X|?+>*oa~sSlm3NG&(HLDjT=`$*}XFb0<_i26D17$A7;0aG& z>>8$-F`J&nTsoMNGd9H<~XF%^-b+xS<@ZKN>$!SE}4IV6t6~^Lu3?A z|4HBt4%a@FhMINnyeHYL=%5Z{rE>1NSSy)Y%#sP0#!# z$bd0Gmn{wwPFF@0IXOGyr1jmZRcuo%{>DU%T=p3G@+NRq8!0u6Y@mkHyP~8nY#6Lf zEw%7X`iqOb6JNXzRRSpV6CsH_8r^B475ZO^46KK0_4?*Hjx zE{&-S0%<7Sqje@e2s;LG*tj36NDt#&A zD|}b^KGDSZ*4QTQsYd%VOlhY+%nK&Bs(ah2H5XdNB`s9=);Qx`l&~=hWJs&bc$G6{uQhRXPZ9AKN1+(OYvL%$eLcr- zFPE$oEPg1U?~KVf7DfcjN07FuK6u@239gKsnnzo|wN z;w4m~{?z@CKLcr2$U_|vxjeK&=xLIo6^+TCW3RuVQc)u{nQ&^4z_sU8orY*5cQiwINqc!5!1o$UV@K=juL#qS znH0+B)O1q$E_m2ZkzR2}I?Y}Z&$@5Oy01Tm_0EGmwS@2lO}V+e0Pez|8<>6C!=jVd zb>NYnt>^6cK{^*fddU_OB3oZ!8; z&C52f)-@ic4SM-zN(22zQ=r4L>f2oKK`}kQsFgja;swr0cmpgl;!dmLu!-z_4C%mc zcjR{gdqIzY*W#Vr230gpEgQRqvwb+G~^OQu4t%SuJbbMp``V6njI ztYC*Y)(ewE$G*FU-1fHn({!6wt#uiAXI>R#3jp%DDz0Pwv_Zp)97zF7iZ#aQ;^tc* zqYx~DBB#Z~{Vx9KH*6U^ypR!0Elc;VACZDDm~aZA>_uw=0zdeB)p2aimnvQa=buQ< z@vuN+0j1Y$2Q($#0L8?{I(-ltj6FvOmWp0wQ0P%b-{O*nVZmebH%sFX0Usoe_KD(6 z%`=kBYQDyFWp2NK+@U88?CG=+|0!lv(;CeA{gM(amxt`LCBNJWv5hd)W@DiTn>P4Gy4G!YY0`9Ud2y`_>%<$qFZwxPyEq)rQldrp<4V-!I(kK! z?_sWI>)s}$CM0_u{_1%b7TDQL)-ro16?u>Gss71D3K1==G6c68&=Bkk$ex>wl7=5J zoCXzL3*0ZjrhDuZO4cecn+4wsae)Qn&caN0XP&rM5U2m4w<3k8pU`(znKe*{9t|OC zvx>_qD`T9byh^Xqwj2fLX=>=A?uddNDZumTARf;592Viyz=Hg|= z{gyVM9Hl$Wdxb06^dTUr+m$kY*r0J}i^p{Y*G+Edp4(tN2DgfgUNP2j!sCKu%i%lG zR7g3R0=J~Hz?w+JyMzhi;=K#T-SMnkbwfzVh5e=>CA;m>Ft5_3cJm| z0`o#AQSG%@*l2YdW>CXAn31M3be`HFyLl}(#5tdSAf8C8LB+%IEbBcix(A0%n^*k8 zr#n}Ef5#$XjkSNjmiTO(5!@sh)>IHba5psf4B-Lx!ARn9^Th4pX96}pd5&3*;@U=y zQvj~lc-0yj0+}uYn)mq)x7%j&t<%KsN#8PV-Dhe=J2rRiJa_$~R>AnEG79(S5jvac zN7w9G&Q9UvpPYW)QB2b8C}yPO0u|fd+_9;GN_TFcSK*1})q-iknwJ&Tpw4J}3T}Ar zV6!KH@sEN3J`!(Z;hjnBmtUBHh2}CSbFM38WtdqLa-Vlr^9r z`Z&Ei8hQ|~&>_21cTUz6BN^srFwvUJXCLY`n0OcYvvFutl_{%cvFyb|-8#9=`>RU@ zrJ$nA1N+`D+*-6L>z1slIVF%Wc;BrKuD7yzKfy^yd?ltIdHcm~WgR|Zz(VZA>W`WR)hOJsb5E?A&&8RoV5vfPL(= z+4jD9=bwPfX#CsYA2YXj+^od|a8As|*%rN9E#-NqKC`RjB78*-X0yZp`S_BrJ2sC{ z^B?j?tP9{yL%JbobKzhDuK$^R+rz}Kkp|*sYv(|xPbcZ|d_LFds_*bv<_E@Y5S4%h z#ipbIX_Y#9_XXZ(ba<|aVoJf>-<_fa;D8ydMaRbGeu??V*-{lKdS9CT|59dJPLv%m z;7s-#u7?FMEf1KUg9yjxIf%05ZZ;|1x+R}TYaF{!tat<1n8$Ai$IW^1gX5!%<90jD z7X!&1x{mDYw*WoI&n~Em6L~j==9V*YX5*7&<*7!1KBr zH!SszBeZs2@IS+#{{3O+ugi!32M>fo4O!B+TKufQ%D}EwkTnln zQo-Zj2eu6%_ZvQ)wwKKLSart$SeEfO^5h2a8Q?R4S>L63KfE@5?+)q>T0BesSfG<2 zK{fhR|H;P2_Bj5kS80T5h*iTR?dfvvr18z^@?%uvPtGWkdpvNNpr{q^e%L9*%7-eqtz{`4@oF(_B8*`3 zN=Nh)!6t+O}O3l!Z$)p@q| z))%1%O)Nx^(wA5gDD+?34{m1ICAf=2p|a?^55!B9G?0&OXdfsJm}wx^rv zAKSJRO6-6Yr0FQ=S`qExAvLq(Q_E>6^X%0dffF0{fT-nPrhU;u2Jhx|b`#&q!)n`C zHe%b9q#p{R^cJN5RZM-^WL$c9uX&sgu=t01wU)Q zQP>(dEitv1<}r4RXgAX%Q=U_0WN6q-Jz{G?{~kFJ+A|8Zg&D%1F3UbII?U;|U$?tN zcRgV@^NK`@|DBV<-V#%8j2O)i@%OYIPah&(&7)1Sh3nk*AWx`5k;yrz;QR#%R3cgV zpZF+qbt|t0<3hguJp!JGuHavgzK51Gzd+%{5G&$t?-z#Y-)2<;sfUz5*M}bWJa|c= zv>?NEK3sq7x@{p~Wl6;yuIc@jj4#0gIVB4U1jt_6=6d+oQ zAVQ4aNha@c+YG6B+ifhZaMlDiBkftgGYGq&9MF&Xk|#G z+z!nwI+)4H;Y|j5S)a*iH~L^^aRr+BBTa@OoylTB&Ui&2uG=6}b)=^osuAm3)+pK5 zTz+@$H(9DrpF}_(<=Q1ENuRu2;B|NR^V?S3C!s0rzGgUKzRa;=Yk-1t75c{i@m?}tps&z9Kr)2gxbWc>Ui;oa`q57gS^ zjQa9^0W!ritisCFzR$Yk*WIP zLxybY43W2?hM!MQ`%Ye)F7@Wm`L>SrocZ8nuf3pI9vX4N$2kw-yqv=No@-s=cduLa zX~miLw7nhvfJJFS&MFebGf7t;D#R&e(hX<7)1MM=)k|ZY`qo7!r$tRgXe9n5_ytHy zuJ0^=dt<0!GvY{zhghM1!O6v`>y*}|^_#@%qBL32hCVY%Q=~q_ZN1L5BWZw zzD{Z4TTWAa)g$9)a!E0P-VQVBt}WML877Ai&ml5q_9zO=i*|d^YUPy;fBmins|ZUJ zS*ZUMM0-W&?6Wz3DgHO{QGi)*_-^7S7^8*OP}k1?J$b!kX@>MH_gnRlM};|Y($hs| z=vzlx2{EEhaUpC(QCqJ_!-ly(XWrIvo`mYx)t#He%j80MZpX*W z1*^EkRhd~c#gq-F9!Y5Ea~*|fO}J)@aCd8N?Px2zqcMM$`H3+VLkDyC7{@G}&^)L& zuFBE=#6C$~Pi`$*tq@1qQpSggt z+XKwT>}yOFjUOnM0AWxmZZv6J@tXALcbb#0nYM6=x~`3ciNy&F^eslgqZ3Tq8DlxK)C9xyxe&Oc>PI1dI^5jT0F9iWQPQg zeHq(fqb2D^L&G^t48Rf|1=_?(%0C~jslZ0BLdu`qYf^Rk0NVfWIsV2B*M(N_ehTQ6 z#wp@{DB@Qhsui1L$H2y_FO5}p&TagP7Kge{eUBGX(l`U$j7Z>3NpF{~GRWkmsn-9j z#I*FQ&V`K+H{YE%w6O&yyPorjw$v(JrG!|DGcUHrL~Sf$+ktxV-?LtKFLNWF*WBJ* zX5{Ch{IWY0OGGsZRGtG+F(chat3So{l!Ng#ch24F-*JKrclcsf>7AsRRI_SQnJbL zMpm#8oLc6c4V-|bGKdJrY)$EGHERUS0gQ*=FL}&hLPh4*O0HLRBVa|NoO%veJZ)dJ ztKHV`WZ1WtVr7yAd`Ft*!)R)Rbwda)z%9hL=G2a5M@<|kGAlG+{c$GI)N&2z>ikF0 zhj9Q|-7Dj>vi?8so6vwc)RNIZcDQsOWX)_eZIN~JIq8B!kP7E`9+$9POTYIO<=6;X zz|l+mIm3cjGvf+zyNJG^g<%If?kLGd`TUVQ+i(WvLr|9q={`FImn17TbWQ?*d0NiS zKerz&vhliD{N`TiqO+bI*!YOW5it-rtDlefWM{eX`6 z#va%JOm@yRFK{Ye4HqQXz^tB1h+>OKYCIVSdaSU{luP`(hM(;_Y~vF&|1}whf@1f5wVn`K^;g;884{)E%b+{uvV|UH8aXrZ~;FGGJDd`qyxo8(_3pQZfimu_RJ4Tgq zmVHN$v-vQ2szb51Gw_lK^|1WN4!8H;TDk5%Az*)^e6iu5Jtg7;O2~EnV6aKHe*Wx` z3dv?FM$y#%+!4eM$Lxc5Ekl*dMk8UhL5%W+1yA}w{<{q1*1BR{zlts;L2n|px7-^} zhhY7t@2lzf{kjXFM17z2yrB3J1kfa@X*KsQZNJ?EC=n_;++1bC_CFh6Ir zA33@qI!2JO)O!Z74*xA3DE}KkN}}Ma0y34@L%78zAqp5jK<;o^n*8Q<_a?i0gU3R$ zM)8}!JG@eXTQ_h@m|pX7S%c+0O14U-K0$5glB**Pn$Nh;-HNuiu!CdZQxfB)S-Q`U zY9$=I^!QmVV!iW9&yfQ3erv4fyc9Qmd^1PE7I(F-`d^Nc2smKUa)&74sJ!LRtzp+W zUEa$x$D(%Fo+WaAAriT#|67w;(m&{}%hC~x{{Wnr9{$HBr1b%b9iF#p=81AB5{{l>i0bK1+nA>;s7MbufO30JL zq)h0Ez0^2j1K2-*)!ROwS8Y3ywCp5JH1YcnUXytJg9C_p9dBglH9jKx#L68RFc|*> z+wMLfefvL}ycVAS@as#VhV~ACd~Q>kGa(w-^*i9xgftqkS9)*OQ;CF2BmasH{5D(2 z0crS(N!Fs=u=Dm7&%DCfP(nKbppyLObsrA}(gpx1x6&stwU5_O&!wBOu(mrF zKH7A&cQ@X@TzhrqtnwK1DqSb@=Mey1F1y^dq}@T&h~)Gg1%dAG+sX4^-UkxU2bXJV zLX$pxa7?ut`2&_;L^qX=X+2a1MfU#*|U;R{0p62lF0o~pI9}x}+ z;{l`}=!MvrWWslW{ywpjS{>P`1^!N3@C-u&O$wl$<6vauwKfIRAT58=zdwb|=e`HZ z6GD6bB~|vu0w7i2jwjE_+wt{%Pn^W@%8@(2hN$kW_4Tp;ee=#Fz|gWd3zUg>JC7fZ z{F`bMAy;Z7={2AUec+gp1W$5toT-nNS{gWe< zJGWY{m;l95r0ZXQ?prU}yx9@`QmzW9qw|`B5b23^a;snQ5HHkx`KncO1@*O!#Ihfj zF_!LN^~^ptW%temw|0~XjMTsU2A7M5Pj#z>rKcD5`jhp@iDic@a+gP zR+AF#KLJ-X!t`_`q`or?Sg-jK^KRhM>n&f?4Ct~AYwbxmdp;{Ls@1ronOwA=T`j1C z$#fZgouZ-59R9{JY&8zl_+B8&u`!hxq=(#AK<{s6y;$^sN;Q*3l+eKQTiWm0+i_3s z?I3jpAZhGrXre#yt+!;Sk5DlSWiaeq@73KWV=9PA0C(0>R)*(mO8{rJz1!Jp~s8) z&Sh|8+A8}^jVg1{6Hy&Op$XaHF(KW5_N#*HMp@UY9n z5{6C+lh(wLg=FXo&S06V2|byC;Y8H@aPdeQlY01F9Xw?Nkt4Ywug=;B3$F>Tcdb2)Uv`QKu8)AW z%>q}uH)a>!VvgSn_4-q){;|~mG9tHq4Fhr0c&F6W?C&zoxhz#>HKfL-!6J2oDL?M9K z;QjkF#i>>)fumtZ*J;O2Y6dl-A~eYevf|OBNChgSUnj?ly1XG3iVby%(M$@{jw3x8 z)}t=3-w&)1!jm4Ca1e!^sKBry2c=)b$e~z#4w8}P{ajn$C@*hzn6Y%S$~NPQTeF`d ze)aUI`Li&QaFH)$C1!VUD~C>12hV3L+y~bK?ML7Uo&|$C+Ay7U5gnafaUb4gVZXu( zPX4QH*YfbsnM@%bio9qU;^u`FIx#@MpGB19EyI>@29P?{=A&kx^+_(nbZMuN!Qw8( zJc;FCMyD$C$A!5r(~p8a+S{AYR3zR>2%UFN7xKRRwm;wUHBi za$8Qj=-2j_Z<{k2WeqbjUB6+>{-UU?y@^tq4prD?yt95%trOkU_VC&}f6=*4d-aO2V|2 z>XV(uOC%t(#*)8b^pbK>dT0TT^Q=m#t91tFV}uS(7x1Gzcr}4_8f1HM>n&FnTXYrxS~KlkAF8E_T$yZ zw5h@AQC`o?k!LE_!Nl(U+-Y#xR4&!winx=RJ17TkS*6mP_Nu)Cr~7+s%EH|8{ax_3 z%y>I?yI5N2@HY9;#N+W?e@5By5!F!VB=GOsSa!%|lKcK271I(%dxNa20JkFEJ%=~* zc0~ytmn*#UIm`&Sb%d9}WkeXe+PypYa6ZtA0Hz=)s^efC$;=V`%W{}16qRgTpE2D8 z1`|ALe~}ZwWz^sateC=%O0M49*H8z0;`GFt`H|BZwtCg0uc;_>c^E*oQe?RsfnPCt z5fBQ_iV5+yO5%*fQh{`5=VI&*+HlDKJD+`U{EtBKIXRDGSL~wqdSIUnqm3?s{K1(+ z&ZE-`kHxvj;bG6E(RN8MWWyQ$7I%n@4h8WyU#zuuXX3LaRvOR86Q0PGa=|OE}t2;rq9kYo@MrX??@N z)!vDfs6d|7i@?3DVRvnRj(GdY+lc5G>E%!5qCO^9#b$_x!Dfp)@3x2E?AfO1l}*S7 z)^BbyBgoZwzaDW$GhTGIy3}F<6$KSGv$ERd_~1`0YnP0?xOu;)v`*aavIj-us3pej z(Iu?=^hp2j^M>U`J&DA_z*TSHO8-u^bp7#P4eiGx*PFY53!30WLO^>Jg)8S>T|+F6 z%4UQU8Q!*2c(~Rbqb_XSM@v?pi#p$JwC>r!G6%Hx&h{()CO`OcQff`b3 zMN!2|=!=p@bCV=z+u~?J#+Y*IX)Vbs`^Sj$cd3u-2hXWf5T+cuf9IcO{AZC56+y&kXEoEu=JFByl$2oU z_T=Au_U^>(R7>yI!^=PXd$Q{AHv(?hfeklN+G*!UbCTRb)bn|LI0U-zr|Nydzc;ye z*6Hi`_yPY`yBVDXf`UT$@;iC8fUKs3Lh>(ij^tO(psfuY@&j@crYvEh36ZHoU7SuR4L=iauZUUB9J-?5EwZqcdTY}}C4 z$JwDipX|}+iyEUP+lWAJvdPNWBh77iV9&F6tSTew`k@F$JG{O{TCHzm%O@4*@+kow zR)tqp>foYResPuRjP!P#`T@h5-K9V(I$G0F@Xu6k z-Fo%~5s>6zg zef(>f>OZoSTAE(^kjqo%iwW-jF%+JC2|FdlF|qpxwx;7U<450TysNejqG?9Ht8#X{ zqg;H(xu(>yXDc9_HzhBz`WQ>$J}6q!X)d6vWu3J-Sx5|^Sm4}V#A35nn*)qnR9WJZC=S;H}?hP@X=qC&2a zw`8{JH|~hC>)T5?b^cG*^wo!4O-o!*;ayb7(QwQhps1SI^JGD z*iF1H_zdf7`kiC2Qx^c_q=!4{`|FhV`x=hy_atX{kpORm9#H1G8&*IM3!$@xdNesX z`9f3e;l6kAau8~+U7VafNRUOw9IliV3%RBQF{6f?ng-+Z953EpdNuSFUr05 zbfO09Hrw_|kC?%I-1;j5O+gN-*47x;^Y9RqkU%AsREI+kzGS!b@h~~{nPzA6`j&05 z+C-X2TLlo|EYU$lMO+08;%^dys5;(-Y<~35`>-~E%H4D#{#CSOIp@pAhdM|wGdKP6 zLitSDr(21S;MY-PV+LAEKPzoj7ysgFQD)S~x4Un{EOt@88g|tO{C{-4cT`hb_XQey zFDg}<4Fsuz^sW~aX(9@Qj`Usv37r4}SE+*ZDpjNtdJQ0i8c<5;MTF2oPw4QX-uwIR z8*jWZ@&}G{JiG6`)?9P09WfO&5rxe^wT$p*b|TJh@5~0@@W7mJ*qGs_CH9d|!sLBv zvi!vm9J-i@y4QX$vM%y{+GMkk$5pT0P*$(9oV7bef@Huu0#PIaGCWO)#26hlbZ!Nw zS?k&(xoqT$qBj~(uHT=<&F)1V^}jsnY~C+JBuIl_Jkd(3T$pwlekYB)@1o2PS|*j2cOdU*$&MV>Wt z^}@QIexEz@PCPPgt+w8pf5SY_NM#)K>45t(?HC=IwVd68^25cKUXRVZ3W9c)h8(OQ zC#%v|Tg^f~m6&FK8}*nyIV`K0JOFh)>>2)sw$a~qOZcDn_rgI8CJ?k`z^uwh@%j17 z)`ps_SJEvl_r{l0U;TD$c&zanr+m{|>A7-;Yt8V0Kuy@H<-V~i zN4w-Zq0bcycq6G{W~-#ua!Dujnol<=&k6)wdysRsnc=mgA;# zR%$(szQT=FjlM|f0BFQ6g+CWiuH8fF`V0<8yO`Bnd^uW~x_rV-_Uh#@dU46K*;1+H zsmVE~v2Vq({FV^jc6K=)R`b#x7ErkN9Xwv*ILj}sXK60r_8l~FN*Qpfkg2JYlLu-&;2v(xzBpLvXF3tmz{bW-OL8z$v0z!I zT`@&Snz>jFWs_VG?9MMF;P2IsL?U5Y^R@%$rmfGp%-1hXHUtaphqG*+gs0GOI7~D{ zoEqB&T1-DWpc-M;9G6jmErvm4pI1eYX<#X{IUXj-*O4cFon0~?#LZ$ljB4LyaLL0s z1a)E}b!X^(6_%`jS&$b07?7mql*FFjfTu^7-&Bs5@Q2Dgww z3o>@)qDjOb1PRPX7k(^_&OO2}lkWpY54;_0^aM(GTRz!lVPsQ|-}v1bpQlrf;ZTQk z^%s|3jPJVKq}4hrFcoe(iVG(n^C&ymDivU6YJm5ro6c}AoNDw}70vh6p>1s&=O4(J z29g(2;WkJLy}YOyQu1krKm=japP4lfPd(<`pu)(Zx@+@$mrsuj$kAjEu2AAk4|wAY z8hA#9?3qgRMe6J{`{ZlDLSP?#^Yb4LyTCR!6*wQJwEl?|e4(3h{cG;?yPkzo! zm7_j#U0zdHZ^3ZaX5ZO!2*uZj)!*%n9bQG{#Alxw#pyryq4o&R2n z_kkRxL{ZpVx+z5%Az;aJ7T0Dm*j6BgW8Xi9tx30{0;w}3$&rZW9HzSw(U!tNb$b~- zKr??ubW`SArZ5aPcXFt^x^X{|PlyzluR0Up~`o*?>_wcYhOGabHYV3t)0`ThINXq%njj`0dRik;n(O(f( zHS%Am7xy0^Kui>GUa#S|y;AJ4vES-kX$U}RBLs_+XRU(-d1_PD>QsoJct&)eF^@p} zHb2+*Lv1~_l;l41x&kJaJ{Umr&^dnKlQVjk^k*i2qXIYDG^3xcOkWMp1EGC7*3RA- zvknMzME9IUaQ7ULseVy8-_L5Lr;p}F~*_TSCT%~8V{?ej(fwhj(o65d_o z@n1Ob*MNBS)qbHxV?aA);|E)~nN>qO5I9miD>J)M_19OYQ*}LtUs{Ry1%>gC4E7*oB#8t>huqPi2Bnuv2WkNjxhZ{8112io&W6EL+vK5e!~I(hkskC75_=(~tBvYAv*z^~eHt zNS)?7mxt=tzoMI|{ekkCaDPFbAVZ2#_WYqB*gOlm5aXYH zaGF~2ej1b8PaWE&gMvAgQ@_Kk_q~}v901#%8&ZvxFoN;SO89|O80)IM zx&ti%)D1AZz3XRHS{x-87f0QLbzGZcf>jr1T!EE97+R{Ac=rqT+fzIzfpM$9q`W$m zPGJ&Hepr}VR+bGkC`rQ9FI?8`w4E^>T#~VyW2S2%Iep0lx4`p0=qXb_3?nZ4vdif*BuuD;-;i#s&{-CO;n7T&zJ;z=)UC?p2s~cezS5Q;g?Cn$)-A`#&d12@ zKhswv5CJAx1Cu0e2t?H4^AAt)jGc)Q3z^3DS%z}4L+1!~=5sJBFKhAEXBwrXV+G?_ z`-2AnegoKgxf`V-m(>D0V6}Q^qP)JujEZQ*s>=VHP`yE6U(X;mLUXXD#Iz5BxZ!jZ z*Q3n}nUOu2`24gk-Sk6_Vk)0yp>>m`ei_nj6MSMhZ_n<(w8BV0q`@|57H?tOPR~hK zX*Vxy+)hRRV!c@oVp0wXDs#Ii;Wao^+F#vJ86|F8kgFHDiym)M0nm%oDTs2fgl|na z8f7d^*iYZ(9SuB65noSSR(j&8sF-a?qd`{Xl)FW4r9* z&*1MjY-(j!CPQoALx<0XA^|L{9yRjVE7#id9PKV@?wn6#Y6wL=^U>Atk%xv7NM(uC z9m&GsyF^i1p@CrMdw? zBmN#A(1;lRT#V$-?k1*wC`pj2tv%Fsucc9id1p%OxZ0oBGx32BMPgJ|WvHs|N?=>VMZSs|-d1q~;EB@c8Q zYk0T$pdVmv*yvCjY8y)$AZBsy%_i;O`7oBQj$jNtZGS&q3}X5apbF=^zblS1bwsd( zN(bZ)Mkrf%e?)?3-4ThD&`(E-$MErH;KAy)JSw-`eT`?JT411hOYrxSHf_hBCvR_$ zhL|6f*I&CQT#4FPX&PjtQ}}_7njxEc0*$wqY~`?tp&tp_g2@@xRoi6`5t#c+_<(J0 zr^p-=z{;OIZ@)}byli2na;l%{a$;0W%pItCZr!+>wpBs2O&7Xdq@ZgqhPIV?)_eFj zT7k=kFDzAOsmb`;CP1-gxVQSoOZd_V*$`m~; zXdyZ8oj1_GKXbf^qcCl@Cl77AGYJz~6Gnoj?Te=Hv_MlS(gzA>8JRw-sbM?c`d^ng z#meIw${Sa2Ht+ZIN1kkyRMaJCOLv3koF&QTaz!Ym#62h7$hPLm z+zOGAI`#xCtoC=GMpw^)XXJUiYLh;st{~@jiZ1m&b>>L~^h9+QGvYUP{4b9QkZ@1! zd4(A_;NUFoq|4Kd)7Zqc7M@0osG6rY56@|!oAtXvZ!7C&IeVz#2U9Ljr*uKj3|hO$ z9cfApWevZdG6s-B-vr$6*N!`{DWaP7k?@SFHyU*c(7`1dm8@On&?xlQAEo^?jP7Z~ z{Y3kKPsK=R8QcOV*m5(W4@*HzkCU93Ki{|04rjn>5)x*TS~oX=tQ z@%_%_zQ0)?m0KmcN2JuTO5HtkF8cNNq)e zM=T&XACz=d{1lr3kfZS}1eiO#S13nJ`faDvN2v^~Al5mGiy5V}oJ3Evhm*<%E7uQ1 zoqALU6#%L|B}5L_;GGQb0|UNzpLGu@Xkw?qQ_aJTEIlx(8Rh`fD10Od3};^vnuv<`zy5I}E>e%?RUe%`X5eWvvH z@U6#NY!`$4S>Jxvt7u`Abj}-iN0it5mt&g`kRD*9G@2oBTXETNo_*LIGV5Ms;?c() zHj{hiMonsrU7tb8kU3MfG{KCeH>Y4ln%N3nSwTxGGk)0trK@KTM& zmqcfaJd}#4hFkqwC_?MU?ceU4g@SbDMMqRQWEgU1qtn&Yo6_&Uk1M}OV}(_ zy6b4yIjE8Th<~(4Yq&K3Xsas4AW3B}s>E zUaL|~GSe4mbDgzna32a%G+9(4?C^$@dD%XY8m#TxJ+1MI;kYtzxF~<6M~5n;0ZLLU zsh*j<va zc#J}xs0ml~#n1axPJ?6L36us6brK!WVW}#?1E_wO*Jh+PHyW0fb)L&x^3JObz~hf2 z1Uw}9ONeG;*uaAF*>r3`N=)VEh*NW$VPMMMjpG{I&h^vJsK3>K;K4kLy6cOfQFrPR zhCGK#Za>TQ_iARgZt-a@<|a_n=!4j%h=28c!TI;Gy_BR)4`I-Hy||<3)_j_ZuA%5_ zGgGkpZW1yhwD@5FjuC5tX}FgoZSIuBkwPdxdpEBrT$es3CBr^Kks(HHqbuOAlk=4P zs99UMh$sbXf(F~MX#zWhV|s0Q!XlgzZS&x(ih87|1V_G6){tu4nouT@&mKE6f_ zgn=__T^Bl5hq7JqISFA9hq21rPr^yFnHz=;>+RW`{7@TXW#}AQcsCbHNXo_K#eL-P zO(QD}L8^Y@UHfmj1+52KH1*mxdMs{zgZ;GqqXb0v5Z?@U_+$b zyx-20bN#~hEqzbQzkU`8%vvX#7@K)+%y!>=WM@aiCQ)6enLdqQv1p{G55Scs1VeLE zqGnyprpYk^S-VfC@Dte;Xlh1^>6JKT?w(Qlb!=I){vL$_RK-oG1>vqz2~z+Jb1F$? z+|!S&Ps4aRrewN*y=#L|bOFCvwB!_%{n;U+ghUhnNd1B-7T$L{{#yEYy)DRs-umOPyE zLO`00R_7bvwBWQxuwn&S8+d8$Lap=)$52mBDe+AzH?u7 z)JtvcMvvFwbLV>GkD(Mh61N8)=;5N=Fm)xSd|3q~l?IhkcFA9sz{ow5B6i6z^K)-N z1XocwaEWqLFQs&8bID_?hvq{)oSU_~&*kQEgEl;vLQ z+7o+D2UxaoileFkkekoODK9 zYfLamm5aUZ8*x9K-+F*V=R zw8I0CkHXaAgj}}6Y8}P4njBP?3v5O+u201rN&*8k`g*Z_`9v=tl0p-cUsHVIVRbUA zRhKlK0G2T|Zr`lw#=3?bkzi(mG?I)$V{M7CTKy^K1%FKLQb9s5Ma#v>savAwU4DF`P5_s4!xO9{ zXAOa+CSG_KLlywT>rxoCb`YMy&6v7$lb{QlI&_xbbl@4r7P}!?naHo-WPf>ij8L4u z_LS2epYLX2YjQaTW}!Uw`5NNGy5~2QrIVwDD*%~A@4WBv(o^H`?}}F^+Vz+OZ3QnB zK1LOENkV&AshTW2EF`<*q?s-b$1I6N=PT%}?MZ z4rPI%;pKAp;8=xbro_Nqo*11lVD#;uTe1@N)BZXIkmRx~RBZfd2<4B_VeTv4PN2Wu$Cgx^MCjL~nWuQd=0 zpuUm9GpV_%gHWE*+uJm5UMmO@p;{^5_0DD`WVma&aVmL$30-XzDv1!t^{$-t0|8RV z#F+JHiS{*4R3-GTL!WzqCuEXUp2TG?1D{5U@^ln^(5>ETK)l?HN)$G1k8~2QMj98Y zo14F4PkN!X*mIIdIjaEwFi|X?+Au*>+v$~a994WLIQrZ2R75FDA%zu}=y;nQ^F#t1 z4`oFTr}QJaZdAC=Lg}kr4VK^g>Xd^iM(@A8($T%MSxSQClHeQEBedhxy-ivCJcL1U z{AcJj!141;If!Y`6Ks!4syk$S5TwgR=#g@r9^QewlG8T_F>~AYjAN2a$o($$%W}q8 zp=yP4L;tMw#tnA#Fn7LF^&4nDzI_^gB7L1S*hlpUr3WD3rqQM?bFKP)N*I_ z$4w2a$$&SCb36zHiV1XP9R_p)xcB!2Dm}kX0h3f_f1^lXB7IbRly~gJufd+@N$K4U5d{OK6?G0o;;Ajpt4Oz2OPZp|;;0m1N zAo_Vz)+IwTU7;&RW`kFDIZ7>uKk{)YjV1Agvo~9p(xrajMa5M$0^!PAB^-xc-ugX%c4BwP}x| zIS52o7@6HZQcG8XMrJxPhEyrD@{UHOip?3C`fE+FVy>)4c0OiaRKvQ~>4QxqXWc?E zHKSTC0S|u`k_f8`J*oTY4U3Q zlZP1-B5lH$vHhal9K1k=c~Y+WV+ba})^@r*Tdi!Fp~iCI+wHf!I>^3M7s2~DBI=lo zj1We3u_!DY%At`r+2X2}1K-mqA(LA4p3vS<5Xj((8?1>mqa#mp2}jW zPib;g&N$BO8UleWt$cJ-DuEZ(AX9P_1rbynWAd?e<<{#?-xst1AsT|52+?T2FyLz| z>_@)}@>_&m=cn$qhN}!X%|^(<UGHGF z#lk52yB5Gu3tTTO`~w6Si?xN$h9tWj(E(dq~^T8>@(J z%+Bilm`Jl}Li6~0YJJl-0BSod7PX`@T`R_Kra)|L7GPcXM&;Th;ons_eNQ$Vpj0Oh z5A-sdcvhLXb&zyV%zXhK1d!=Mwbhe^KvQZf{c|e{mdr|H!DO7j)H=~KN$Jd-`guLg z+YJwkmwUhaa^@so*JX-t9j|q)?{r?_@*km<+Ep^D@<`-IkuV#tRezVt6V{G~Ea2${ z;0z*JtKeUV*fyx06F8er2$v$$rMTQQBb!3X?rZ@TZ%1%$EHaMlq`S7mv=z^0gY)^z z8@>mg?>#*`O?NFdZ9Ofgc^b`W`IJ5I?SQfD&$uUeM3@$WzLOVupaWL0oN2$r3fsN*=7ln>gzX67z=6?_dQ4)B|RBSPhd<0bfnIhx{i?A~f zaupy_KH8#PNA#4qZ`ijEu1Uq5DI}Ch(FB{AXcT@sr9RfGlUBUla5?iqfSZoGA+X*8 zD0J{n>B3$cbn#RKn8bRkr6Q_B&7yOtofwadUFyQ%|nEbb0|Y6?!FQ3+?W zCSi|jBza-}pxKg(Mwwt!^Ft~#ncezeU@8CV+2wnEO7<6#+S$(vXZ?mcPl>?Wfr=S6 z@liPrG%sg}7WD2aUQ^KFsxKe!vXBoJ3q^z}St4_($&iy;igoK;I0B$9U7#^>{JhI6 z4+piLwY1vJP!Hzdd{@~dP5@7;`<_GV9k_?%i=yvZ#p}vk(74l)at+p-!jjAH#9Ly5 z?#$BVOgS6W4aB{BjlBnZUOa*6kacuuk3sh zX?AFpKX=!eSlq-uuXB!{ir}M)%rR2_;hAn+qUzS}4PU+WT2+eHv_!u~ez0MX_gfu1 z-7Ce753iU^M--Ig%iHBxvhi`0vvg40!_@5NlZ)1WgBSR717Nh%&Sjc!J4_#VQYtcm z`=Vb#4sCQ+e_vPSI*_zf1rWo%%MQ9hFnNN`HX~PgF}G+4P1u(AZQ9~ld|r_Jpm`X| zFJ?RBq06OkbbjE%hJGSwR0~FYSo+I`0YL4xtO900cx_J11+yLgOwgWcJKI{uq2+D^ znnx0clFvLF3cs%p`+WekJO6P;^izq=jYiX{;9tgvYlHG{;qfDE+IP($ zgmkdxQ+-}H6rt4NvGiNfZx?n{=7T2Uy1?gCbk z4WIm_56iJFN0HDI7<;K(swn583X~A-fw)RRZ}io=_{c8kl~Tq+HqGX^>X=idF=RH) zn7vaO^F+p`-Pz#mlP}~rz^fm(zM`%!=_0FZ<}ETSx9IalOmh*489G?BR~xS^wk7BK z=9@4;>^f=R%Qv#Dc6WJf8%2+c1?5=|bX8S{)lGQFmbHW)72^KQ7tHvG7gI$xmS0Zxb0Xuq$A=t_hL$yYI zdhnU@Hg6QyjmNIgv&x`RQS4E>Hr$!=k4gR(9Tx)W8 zFW>;M_3nO_=jc6E0s{tvPe%?D8i}?cGl8o?m&>B?bA`R86HEbtIrR3#w;$)u(>1kM z#OU&u1z!f9r9bkimOtF>0{8P35i5*q5~%^NE_OySUvFqv3%8w%O0~f=lbr-aVJCTMwV z)@o)vno8t%ij}KpV%;nmGONs)6#tE7C6U1KNY;0CfYS{E7VCRw2<>b#c3)Uvd3sXp zV7@1A>H##QE$^{GmF<`9>>3K9{TeEIe98>*#1tHT4t&g8gREDf=GzT;Ji{|{%5Eut z3$C30XxH#5jj_#y3F+-qB{IU}kC~XK`sQW%Zq9<)ugT2q*tWV(Ew_m1z3~`~p}Yc@ z=KUq6rG3Tk))jKwAZ)MSzLf@1t%sq%f84<306%6KQtlZ2 z?5W=`bI3IIJBhGrH;_dsbBZRD@4^DFZL+uvLWx+PS(SKl#yelAS_5}J04Kcc>c$;D z=%y5SvTs5(DJ+O8(fePD1u_<4;qvM>d2d$+Yjm@P+|JxNkvp3-ar+oLfgD;5KS^)@ zq;zEEON<Ycx)fX=ihk?vl zBVqE&IN$f|*P9GwcoxHbpK^u0Gw8njxf*%A+sd>B52I4W!kPwI8%u0d#Ax5ulbMZ+{ZH_9RCW);W3b$Tv4+)GezQH27ID4WSH4dK)c$BBxBb3yq{7$^HirYysG-TQ zGhp`ppJQbeP--Yn)n-1ZSN_Ov6LW_=$x6X*g%K7;H5B3j97kDdVDZbKK_aEy{FC36M)&(|c?6*gDK*QQX!m?zZj8j88ZrHDP#KL9fm-D@W57QiV03>p*>B`5~ zdhPe!XC|y1+cyfU04`9`Gcm?d8<12sZ|x5_@3bCKO#kFk>;wyT}Qr6}6F` zXC4}(i)q>Q$l5$En$Q`gR8W?%TO5Cu@^UQM%M)rL!VTipi!m>?%NaonRcdseaY^XD zJkGvtKw}^9UP5X&crj>%i`s%Q_%dLJW>{M(%d5JVJP*^OIb36jm%Owm8>0F{KiRPn z3EElWi1gytNqKXqp&WqN2ts0P-xT#zk`05|)8|*inFUY4j>et$8ES->6#dt}``3BBhFiR6c?9h3J<8}&TOc&B48 z4_Q?z#`?T~fkyGI&n^&}12tm&OglFUF?ms({U1{QI)Nt7MHIo8ny_G#+T5tGbVhG; zgna`Q18z^bY>|zWj&f(T#SQnyH?5cX&#ctl0U#QzGNl!H?4OA4@v@--Y30BhoWoet zvUGG$sO!NEPBF=Xob+uiv!f_lQ~+cjZ(Dtk0;4JxSR@ zuwlq{)0;ovyLG|+FK9&x7jg6*FLR995-_sCouHR4osJx#d(0!)r3jmY)d&(xn#%mz z_Le??-+IAIYbZX7Sb%4E6iporEAABHESun@G;B@l`_KnazMSXy*xuYxm?Gz`M{XnL z^xL|X-K6!ZnEoF>DNgM308m1Jgh7Zh=?gy zBT$BO16Ve}pXwLNU5-dlK8wL_@*?nSqiiotMSHfJcLF!Zn`7~q5c%|)7Fm{^EPV8K z1iRByu7H|Mx6XIC;h=5%p)_%bV>Ui5R=mbFPJ%6oi6JglQokidNHgxS>18h*9~ ztB^(Q1aY-3IM>f@ty#vn>pp$yvhkS7An-w`=IeHCRP~vxi|9usJNGX?!b#nbK)HH-2=diVHQn zGO>G#YBe=i*HwZJ6Od<;+BRxDf?UWx-idD#8ohd$$QcK)qc<%gr~EFFv2)^jz#g@S z2Fy2r<~Z951B>(pDut)R-JD!EwYlo%8> zdFUgtMJc)8$}k^Cz~vV%beq}%JsLwEK+^;p>uH@>{9y`>i3!zZRZ*7arCZ7M=c*m_ zvW`iL^c6OUw?LC%lpA~DjwABKYI{}H#rQj*60YRf9*Znwg*p2^on$VR?qSHdVPhqe zBk3%p^r(~$Gc=Z{#`?00$418d`J6#}w7szW2=RVYW|FmJYv#`OUC7W|oB(@*WP0mi zz_**G?Akr!Dv4CH3Ny&Qe08yu!Ww7be73!6KOso5# zAtw6$v6(#zpXUZVB#xS137aXe)XJ1;Ugu2B-AmLr^D>XE9?B9!JkT$9N;UWXttO(Cf?L1O^xW?gB8qOxTOBfLSm&`F;5<^K>L?ZO^Q4_MQG(D5{i_HS%$*z4l5p%1m)l^G&cQA<; zDbk`k<;N~EQ}*s4gC*Cr?_z^nEB}@B%3=eBnAlv}i_&*`pg;8W1I_*zm_?ayusz=CR%r;FA)nzZ} z$85D8>s{XoE-#<&2*fs7H)E%AouAK?8Z^!mD4Sn*ES&31@xRZ`?4l8vX3N-)^xCzZ z%rAZ1uo9d7P`GQ}K4Y`T9UuMR7Oh>AELUUV0h%5KvP7jy9+;5MaC98|><`SEJE0o_ zy^dVns4d@$25}yOP@jO@8{v5NTC-gX1DC#Wa`oxnzIUg$&n*_=QtPL(DDZNDUCRN= zZ23bD%{EPzi3U+q?P&n$pEJsg7-~`7GVeF+^s|@Vqgy3>@_4U9QA3eZtUZ3>;yvEh z&w_2O@Jmp_k&0J@vgiyL2YFxLz=8k^A$%%hId|2&-)*}Q{p+gS&3;ni=@Fj`uZQNg zpbQRsu5vZ-^dYNQ2q;+y@N+=Q4`~c(Sx4M>0{}n)YJVxe60V2{0LZ{^j6Oo9$C*bUUGYI2K_aGqhZ2~$yIQ@ovljC1@t(;+KkoyVL$sU_|2rz1JxYq^1- zsjc`k^9BDm^Hbo*llH0LfLedaOcvdG=Xb$|3h7bpRt;m@3|j4~64V6lqV2h(rw=oM zOVS~zh>vtIL%?nK90p<8)W6by$eEr^-ff8?kmzLo0i zDmgggq)&Hlb0J6805uGw-y#69DiHP9Of?EKbO__EN3i^nW_jx<@9?}sob66Qbz+^Z zc{;%F(+!1%q!?3X77=Hc@Jz;<`{r@>m(w(Z9&WsW##NxdkTm`CWHT z|3X-u!)SbT`&(K!8n~COb!RM%{@4+}NWh|^WjU*UY}w@^wB?fv6$Gn8b@2QmwYivPGxmsS;+V5GP%N!uLX;$$6;r-@tMS7fY1 zxzwl2pIFb67S$wJ`<(rc6m0;q?<9s5WzW}am6a_m`Zhj^XcYa(oBVqqs|D`=d9xMF z3kVN3H;J&BQPXCabb-7DL}A;&?P3|YO7Q)TihHot?@=eLU_1*Rym&z(bl`ZDb8&g0 z5geUbxFrm{6#oNU{2Bl^y*kFR;!;d$@mMEgZDa4+S3+ z8ufwBLldSPr@^o$itKqUEQK5-mIkNJp!Vt`FVHlL^aljPe%(S4Nv|<+V8;Xpt z?FLYzSB#LIDtfy^k~Xo5+Y@Mypygc$OPiZ2J8R$|B!UwbqODk)Aq{$j{q(1ITl)TO zEfdtDP}*ukK{Q2FOg&I2`SAT~i{_P;w?K=%VQb(e_TTX$`8`>Xy*0BPp=FB$!h>J* z#Qipkf4p#fLhAXt)DAZb>R7OSU#H0E6m()u*0vvb+EaCk(dpl>(?BgImLG`J3mM?PTPMlemRk>}IZwgVm!*^BAz9YLX7raUt+Eow%~r+M zwl-nti8Qm{>tkTw<{w~+_!rl3;PXFy@|qw;GVXz-@Zi|=%~fNwrJxj-(*|KaCLnrS4b}b@;9Au%dwW{i#elMQaU@^ay^*fpOr9wEi?W8Z}Ps@|EnANhlP2svBdr6xg@P{d?O(t*$bjo#|M4+ z{#$ARvu?-NP@+FwQr&VFIAw-^h3$7$|LqjtJ@v^gcI7`B8EYSer`E2k33m{_V$KHt zEt8FjfWSKBpYD}S10Lw@;>)vN{%bKeq>#kY0$-?k2foYV^}Mq*vK@x0UT zYJmUsxc%tY3aiwcI)7Gu(m>YoRZ}7!)0g1+&!FP}{eQpwKLh+vpZ@2;J#O{?eD}W( z_<;Xy#Q#2p50C%1=Kp>0{J;J4-v=+N@e}Aoa;J^TqLZJ|0tyI`73>hq?6; zmE>C@VzO;43D1V5Q6VboPK%2V>zq#duOkEvTgLRtjh(5O1#9_qZ5cV2E2_X4L!(N! zcbX}Wx(bI@^J!E31|Z3#%(d=M?16XkmCB86(k4e+j3r#Ev61k)e8=`CgmiV}^AY6Q`@F zDEjhR%;YeSR+habLc3NEb2^z;>*)No_g%-sC#6r430#a4lH`q9PY<~)9CcUTr)>(+ z^-ndZK++#s7h2m|cjNegs4{!A@aW+B&I{v0!@l8!txfucHtF9>`oBH)dnk6`q=Oo1 za-$oMwyf?x)dt_908F%a3A0HCrV*K28P;MB6Kbgj9b;HUylZM5P&3n>Ynw{U2ubJh zu2wShap$qV4nA}JblQv30Q4okODU7*#&ey8ljp=;Iv*Xe0-`RaA*_q$H{GI2h59=# zKZ5X=G~sV#fB#t6tnE9V&&FU3D~e`S9M>y1c)fLiPXdeB0D7eL42h$cPGL5~^(v8( z)jxj}X6liyq=-S37sJXi-!W|BsgRo2_Q6x(zs-jK&VrA>c9QuHnx7kr-cjOq)8ie? zi`M{A_VgeS$fYNGN*CR4h0;Z`7_X8J~1>_v5j2qJeDn0O4dUQb0O{xA`W&do=-+S$U z2l4l^@gb8OWr!~rgYCGbO9p)sG-$w2nhpD|ry6eA1TmyEtjneq>KsI+tkO2sUOVDn zn~ped%6QY@xBW7Ms(#E99{o*RfQjmjTaH-#^-o^{xRSXia-CgEPz^8|wukeY0h0x1 z=E(#S-jfDwk337yWW7$=A)N4UQK=xJVHgm!N@ktD7DF;U?mFAugkygLLkqZNYt!NG z$_}FF7QdcsO0K`b)4dkfYQi)~)K({&u$%8)jT)yDvz=;bO-^MEdSz^}>ENm`s$?cv z;Z#QxKiaxBBGrbALXAw0k1&{{`o@iR9z=X2Y42H^so&=Kj_vO zSVevB?*yg_b(QG4QQxA$Yht6+LpKSdJH_kYn=>GU@S6)kwb$nJI^{8TGPyiKsB7Sb zP@$8R?^DqQsEcmlP~GgT6GT&Vv^P95RIqvo5Z)%ou5BbXWOd$T6{S@U~$l*=2mGc*Ybt;ib z)16`JrJ#D{30L?tvbM)-wPOS#fDdHmC3+R^l@34hS(B2Jmv7N+kN7~ncBH=&NC9r{ zk{?T0{5X7LPT~E?;=3mVX)m@a^`bk?V$P4IR!E+-S)(kUk5pbM(ls{yg7r`^%H^`ktw4KvS=_s;H_yl0n3z; zM&8=d{m{rL-omF&GoP|Aoq zt#_Y?zCz)>d?$DERn+xJlzgAD?e0j`M2$6_BxWhTV88^}qn)t|V8mJ(P10`8$=F!A za@&C2F*yQIWzh})GnD}qJq}&1|A)Ev4u`9K!$oJtV1($=>*&#Ih~A@wAPGVcU38+C z870w13sIv434-V?dKbiy=simG-WipFj)e_WPjX1!~z_j#Z4-uH7u zhErrn<6!45@293P%UXsE4y}vm5)z7Vd$vyugMa|zngz=w6X+yx>4ziV}B!SL(^Kc#z>{Nn7RJoB5t@_<(Y9g z4NPsIi<0ZuS4T$NoL}Iwk6Szsnm(n!a2dT{+f4;>9GT!EJSzrPTnd*A>)Dw%LB-tN z4-Hy5E7}cc?avQBh}rg1ZI0O&c-)<^po8DI2Z~EbbQ6iDTnjy-65JE@bZDB6e3#wAcG5BLDZR{jX1z z_PB7Meemi#ma1B&fZZ2>fx-6y{2bbv0wFoWE&w|TiZcH`2Yde=FkBdX?5SUOGAe}Y zb#cP@$Bd!}og#s@LVBz{Y;7x97he5-s>wA0co^LBUYN!FXAONoanpXL`p2Cm89w0gKX@_HM5b#!pfI_$@FO5oGKbpVu;0+ ztnXcFW(lG*5(b36+$?$Ye8Zw=dQs{GYWKd@=luWtYZ123)h>6{#YR0Zkq z8&(Wh`6}01xou~oZo{0nQAy;N4sF3~d{~2w_(~m?;jch&WZXLSj~JF*p1{Y0kG~kH zDER!p58jeHUah+u>Ov6s1&tt=iw(1p_P60om-L4ww|YS^v{%4BJcJ2 zm{1w_`phdaDtq61Hv=7QIRWYqef=?w*OhtpPBH(aeE*&_?{D)v$vSD5$&?@MkqkY4 zL~k%O&vnk0YL%IF$al^H=pLyz#RO;N*>}^+s_;4eA3os!2kFTF%(VZH8~Y!L>%UL@ zVPTLMtU2936R+_h~>B;yr4-`w9 zEf__MMyDKJT4Of;WeScF|E?I+WC&IM{5mE&efW*oU^@U^voEU~xAlYn=a_Y;2J`>A z@~^+@|4I<;rq_#NtZ#S#uz+~g)YRPO4smePEUU?#|Mh|QV*3A19H&)^`@2R$Ep579 zjn*8YDe?cG-gtBZ?^ zCx8}biLQN#Ts5BCQ)j9X<}F=Olt%LM@|axRsB#hiGna9~TY|#Y*47!{Tl0Cf1a>wP z=UZ(9zmu)Azg6bNr<>zwfb&Xu!>MyCer{N4-SvPn($j*+A+n(V-5@pPCEtsxf(fy1 zlBL*73ym&mNt?lsXMasU*LjJFJYQ6&5k6WE#Urcf7q$W@2VxErW$mkN-JREoAFg8} zS6%0u12krxXDnv8X@52P9L@+!-R~Adm#!Vx-%S3UPTH?DYYT2iKT!P`Wn=g22H{q6 z=0$E{HdE(H+Z5}gMwaBFMUnw5A^vh_E`Vb1<*QPHUNSZB`VQ0VlE4EMaK0NKud4> zA%uuxnu5}Ce@KyN^7?XjcR~K)t&YY?%gq&fI~H#Ukd zvoAKTcjE)~T;|CcU!H7l-?oBa=1i9YAeDgB&dJ$Q?6gI!^z${2EdO7}I&^!k#`#(q z#*9wA^pc)4tek?Dy~L6WNGyk`D!Z{pA9sN6+fNE+Zae89lAU?zwX-!>DZ3jaYf^Pj z-nCmz%3!+2(FhQ%7@wI?2SC6rTQa49W^qJ~h19U~)#WLFjWpj>K+DxhB|x3&mUVkQ zQ&-;bPWGmU5#a#9ls8oV%)e9e+iE(U6SE$mdSLC;bUfC1qBtLTSwfG%>_?0@{CP(^ zW58KbHwS?E9q!VIgd-9;FP2flgPdTdA%K$k3K(D%z~y(e3&LqTwyi%uJzhyR-Pt)W z5SQVC4VK$v`h0l?Nc2pc=;W$Q-V)O`hjUfSw@p4qT`rc?&P}bgtOH$QoKES&BQ0R> z-RXCtUypvBG_=XE0;DfoPsz|lXNR$Z6 z!2tKI@*eh>{DLz~QE794{i+@3js5}3La zEpzGc;JV2>P%rGw>O$c8^!)YTo!q)P#7)4oU4DkcP`3Pj?44r($W(XL=uKe^@Yds{ z#a?107l4`TX|aqsM0=rGE);=d6_aBj^O@NTHHZ>Y`0`mWKxzm8g{tbgcG(fa~IcvY7CDmk0 zQLPv70GK5=8-qVCb7LO%SurbNOR;#bRZ@aDK5l+%*l}CHat~l?%ksIkBTTk z$iQf<+Q&M8jLgfHxGs4d=oKSTv#^Q%=+~8tw}Oj7*u*CQA+uat_G;u7L`NxpvsHg zF5<=y*igt9gZX^}q-gYe3f3quLS27c;dn#DNIO@3%7I6I+kyn>S^$uw4`%{tAD3JTWs&SUvxnoKIvT`3KiX4``-X}V>K;7ehF7ARa zbpZf$jk5%Cs81VlwSLK7(@9;PeY8J7ElaeWLIU~^6FrxDpqMA%{o*zqkF}w;Xy{v%x5&!z7>1&ax81=?8s4TFTFQ5W?Lfxgrh{}bAdf+8UT zU@*A%{o&0!CR+_ZQU~@+6p}GO;rWlX;oO%)aSIZL?p3m8?KW{w0?kOTa5>kE+DrONPfngxji|kB~5hT#R{0q_J&~Ch) z7&?gxmkq_Kgn(Y(Y$weu zUZ5<3+n~B&!+lM~tb6y+&2mSKD;$bQ0=jOpROQ5sa`4lRkpy(kwl-}X{Sr9pfxPF& zRgdiT@Q2kTBPUm|+f=ArDI?a51@wE%<&GpJ=ZRT7fd~1vXv z-f6kHZg+(4*Q?eiH`+?>s4m+|mOI(*%5Cho6*_5O}#{uXA( zl9}I3kg{}!&vUR8c0;*zF8_tvBFZnywcAx{)f)$E1*wJdL&7fisnO1Topm;d9il!E zfeqt;_o`2ya7>NzQQ@xs6lkr>J!zGeiAWqf&U#Dtuh*PUPk_z)yYK4x?YL#78CRG( z!Y{)-SN*F_Pv;T4GON;P4J5<--Nde&C&&|==Jh)@~6@eK@#A6?Aa)ViEV7UXOR>T;+U3J8q z_j`d?t#}RxJ~Il)Duio4-~ysdN8^7d0!F6PhSojO<*uOa3o}cHs{pdC6QY=D?mzzC zr42s`1A84NllZ9*i^zi*AQ_)YS~l2+3}2AgqO|032v}e$$ixLo_R26hBT^8S7V#OD z7|B^|n&}YP$E69!d)^RoVh2U&SU_18l3!i|@~V-2=uxUaG4X=@6BG}TY!g|VE96@h zW1AQVw@sTI*DQP;jCZh~yoDtM^*epdj#OKwpdIblpfhXW(2i%yplY15n9%#D?Cd(yd!Ka@uRlDVKWQ#mihjSC9E zt8w%9Z=yHjz9N399k#&Q19=R)=zi=+)|yYWILX3*BoS9hjK0PhQM&B4u^>^3?#CjZ z`nVu%^{Nqs5r5~1=^7FBCF~{%dLCSjL>7R>fyFTB6tsxT;N6;faXElH6&JXYhOz+J zK20|9wG&Jszn6M%T}Fe{QB8$%G4OAyf*<%DOqUE})2AiNfR}>B_@l~P3L^JIJVMK2 zUAVUqsL>%+j;K3Yy1?+N2WX-xnhIxc8V;D8TOG0VDufEROOZCSE?9}YLq7|r~a zny=GOQ6Vvdym>_P|f}=qkC~XiGq|Tkr@Rg+wxXdT%auW;VlO$YH zQff+$1dFVDbyF;$E{UI@k8gD{cX<1L2Fkr?Cd*xVw@ZC;yaefmF4#04X#Sa!%Ay)i z6eMi*MjulrqY!5NOX>TbKw>7vt7b8Pkug4vNRC#oQ$nmnX|gDxZ@0h zpYpqKUKpQHTbitcs9dD(%#)z+^r27bPN~oWH)$>(Acjw6ovcifBCZcI`Xw+1f9v~&Qy4)*CxGAj_2vJzxx0xE^2FePsP)k zC@U$>EXOoIN{*Yj2baS2A*fqIA}p&p!mb;HSH*1qoWzBrKWyP)(1Ss>=Rs&Wum~7? zLMsWh-R1iddZ&r0Hy*P1oEN-HSG;)D)|@sa9i<0Az?@-9bqv}eDEXL z0IKcw@Am_xu&|Nl&`~>t&|V!*o9#x2-{9kb-XrEceDa*EoJ}?G6Oaw`1`o-Rindj} zKpmVP^Z>F@$N}+VL#puRY(8jZZVn?-AKDNw#z2jSvI-v5ob48499k8(wLv;?3fF_ey2#%HyVP&27EN#!;yskiK02Uiog0UPgcs;eA*%;DH;cdf zTw`5Iy%v^#PfNzg|~mB))YBm%Vs8qp%-c@-sxx@Cmlx3qF?pszY6tWZkhW{{d8 z#v|-W!x=rz2mKSP&59!*JoB6rIz^EJ7#Fa(T!V!f@$_!}D#K}J3re(^0~idGr3Jhr z;?NhQf;hyONgXsU`Mo_oB6CTy;h5AplC%P6?-T5Uq6E=m3j`h<4RKfAe6Du~M7?D= zzyjTjtDuoz%`;e*G=fPIKsIeA^}fEBND1^virZTZE=RC>Vs;0qdgV`%hBjHAOoFyj z9U9}>cG+hh%CR#sS}n`u#^x?%xzc55#i4lmx}^ubc;>5(lNlNJn(j3r&Udih>*lZd z8l$)`#-sc~+*R`NkLLGXK`OGYd{fbz!?DQcndwOR3hw&YGt}<=lV};Nb7mMa*6o0P zKsafYAFWg|pMy3TXd?Y-W`WT)%{+H?m61y`jUs(Shn4|a;k{QcEg@{hES6!gQW2be z0DNui=groB?AY0%o5s)j+qABvC>ksv)M9cy>@fN;I46Cln%bJN7LWM_W=1o}dmxuK z3la|^qJ~53@eYXNI9!y8(KkYANb*!1=onZV+7Td^VLB$vOV&f2$6U7-B6KYd>4%bo zDWJW0P!e)@L3cfDk#tSopOK`_au#2R%HIbjMcTUL7uQND|4_3m5v21SdtJv4MAgOt z+1b(n5j|1FA^j~xk_UlwwZXuBXK7M04IPS{L_c%(P_2wDkoh!fGicA6Vph4r9!;+j zDCYaw`ZR3lLbP>41r#UP`t&j8S4MN*OkgCd5Kb=~oEN{Zgp{ENElH36)jw^$^Tiu3 zrzwzRCflYxh2z~O107m2)PX9Uk2atqb227lJr95XBJt0=i#2rHgmM}VS#&vBfLN55NzBHUc##DoKS{7laNWf3W14}Vc1eoXEz2@Z{07%x}Xp3 zR?i*^K|h{X2ihrRC;1J=Ua^8y=6{VjaF|6>thKy-eMj~%>U&2N6Ob(QU*sWT32e?1I1`xCY!y~^qr;Wt`pcaL(ZuXI#J!Uug}VfEYI&KpTuJ z8l?8)@2gv~3OPgnRj+XJF7)J+bO9D}wm$?PY5iUbv?KxR1#JJ6etcDQ`V1wQLWtbQ z0uj+A3$%nXAC>WLLd|ygfmLl27PNos zK~?GyGZRhIKG#-eCE2~%e(6>(=D(sKqB86w`H>L6&g6Trt{0|K_(6{oQw7x+-4Gn$ zvbDoF-$UsRFUeDNav{Ir!NBi2Q|Sopz2ZfgL+be>qLq~k|1i~0vhzNg=TtxQR_5_g zU_|M`mQ5p==}Js4FYAj)237h9e;Qkl{Shy!z-Hz4!2)%FjguG2X0Dli@@6p9xt)MosZ&IP+Z4C>STH z=HKxSP3KNOvpZR22H*+er!3-V5f^AM-hC3DCH>!+ujzKl;xSuvorzL(Se#5{DnkS? zg$0xuWl(wToNxb?P^ujNcsulyI1$*XPZ5-S3N1Nrh8MxYTkB!oBoi#i3@v~MZUWt| z0}?l|2y9G`P;)Pa>E%%qE@$E_ZhDTMN!Q~V>^8Yz6PYs=reT{Zhpz#|q{9@6S%C-0 z5ahQk(s&dk>rv$zNgpWTFP27s_cX3PioAzr!D~_)Fb>xDY_CK zYjlxtedvhI8cFjAvbJ;$-cZW_3(TtUZ2kZ(P{wzND&A{V<<|5~l}{+jHecD%sdq}I z!~*#@Fu0z|hTO@$E5*H8o3Qia1^;O>@)Ik#Ux-C+(0YNb@B(itg&Mq0%jk^j(*H|1 zLff=Ef6&r+j|Xdv^i4j1GK~RAp!vkg;9p;%3We&LdJiQ%Em43HD6ut|yJyT8M-BdcT$-~JJxEqfvN0DXT>RldkHmsc$@ z>nfnB4!3|C{cy(yba$Z(Xb&*&bax*E2Er8Bg)l|XFXM#$wyLjk9^JyHY!;oRSZXb9 zvgH6PNEnpe-7NPSBz8)-MAf@qsrKXk0deG}`;BToLP_(63caz2i>s!`bf5`xJKN8) z+_C6Ofwr#MXELHBzqNS@F0_|UuXLT+7+-Au)|S)F%$n(!>L|pwNO4TzVfvOuh#U?K zyz?ScR;qz2ALG)|VLfn&^!*-!u~9?<@ySMUmw#r)`h}7 zqA)}=G1f8hgBuxaSsEE^YM-FiWf~k*#d~@9@OALBj|tg)W?@$kx;}=q$Y8xgP!eb7 zp^hknoGy^2-DC#&L?Az?s?S~29%z6OEfEAV!5lE0smYPDfdy`yVURu~ZeX6`LbPcc zSqc;?cuX(<=pqP7$NoekZYm1I5cG0^I^glNF2lFgHeh9~e&7*>8;`dP5otsgK_#2& z_`v&hATy|6E+i8~gZzNf3C@Rp31XA+-c*)6*_!-aEo}kS^V%WHs{dO#fw??;^Xv%h zsLb>++j#`4_Cs#LWWjxq9@};uWbpKe#n5FR`OpRBz`VnMQSz$e-Phhfwv{-^q%J84& zHRzE*6Q3(^*^#tS5IiL&mV9D*4_opHiH;l_!ISbc(3RxPm7mzA)!^RNZ=xBn*ZxD!~ue^f5oL)PbZ(aSGpjx*>^FLUvuhN@_Wz z{lkvQ@~ejLIJBm;>!%2S{G+bXp2!7Nfs#`+Rxq(qwFqMn{W@a=NI}Fpp*%Tpjp6DJ zj9)3L#+g_WmL)o2l?AfaT)b4yi%y2oU%XLrDaW-U&-ig;=ht#Mx1)x0kv89c8nPKM zZtV}H{mOw)m7ux}#_448XrDV~^tAUE+-J>cIn(Mle~~s+_e8syX{tOn-26z&QJ(c~ z3e4=in$mP+A7qJqekb$Q&6YGK*H&ql^w{mK1Ah{&=%3JlwU(*3u@<=)qVRog8WZyIo^_WUlKCuG1v-J%v>Y}Ue*Bm;GIi7q~{IRvb(D#u@%n$)9) zx9U%tNYmku#(K`YNm4|Q0v7KhetsDhl)Uq2#t+4*9rz)-%dI&=2_B#F&{`QJyoXBL z{_u#EG@^Vj)_qeoKS39y0US;CSVGH8Uy44`PdtcobdFhk;Z&q+(um;V4&S0NzFcT? z=9kD$#B~&&c`#7j@1)Z=j(E{GU%E-zI-_AZk;O5AHQ@JvbQE<#(@O)rXWqT_DwI@+ z3+W*Li23PjCL`mpkMhLKCYuGMIbd^*H#)7q6pjP64t|j~2r52=sVWftaS}=?2EBW# zAVR`UYyhQTecgJ)6{u>4y?8^hh}F(mZr8$*g9qso%t@fWfv>_4F>0aU`InnOJL^K$ z&Qx@72q%$`YVeO*Te^M^60>l@z~9y|GXx85yr299vjv`(ha}5U+yTsriVgWAWTh>f z?2*)RR+D!)c8*P)b0!DlHTye>n5WoT;T}-YUol99r$CFQbWSoQ86)ELphwjNFPkt{ z;mGPW^{Vi28OH)tXUfT}stB_r$3t6gwGrJdJhH`Cz(Q)KiGshb&&+@i;90?+CQkk` zyMP|(CWnQcg(5V9O@-jnZh=gQ=|%H=QCDiF5sFfAQq>-tc%T%UUBG~a2zPu zN+E?5|FxhzW67pTKv|Q4IiXK+OK7&79I4tTet6OJn(Qguo2l>|rjWSC;;~K>tiPq# zMHn~R`zp^@F8!j3f(M=x6-RM7v7WoF8~e!H}FpI~KwoU}_ zJa|Mf%!o%1t{I3Oz5G!fU|YlVJ(h7nQSKWlMU3zos!)8c{L$ry4s)}Y}NqH@m&24tJZt#8e)*=e1HxmgOJiLb)3^>ZN+AN zID=bgBG*0-E?4hVVrl~mwI;LydyT!nO6r@KW!tS1K8cae>S!s)Yo4xqbs*ma<$0w& z+imH2mCk6bFUTy<7}3jmCFGynyh_E0t}TCtcGG4GPdjSg?XD1IE*dxvck(g(qn;DI=CkE_FTulGTU)p2hNL79 z7;UoMkAK8^U7KUF>i3;1z!@I@Xh7!6eI#%5zCinC{bk~TY>54-zbTj3%lyRX7@n1P zv>KCV;ji9IEYd#aLDt_W)^M++sogOPZ}R1Vwc)AJK_+B?&B8q|CGPk6b94+a<8O+~ zVW8)xl#rBEG&o0%8>x1jC$2$J&!0mWPFIfZQA$C9-i0b`kilkX)wEpXDEf*fw?na6 znST+NTjNzu*yrQ?qN=CwKV$}x#6EKN;9@?qcHg?!7V@N$ACJ_89A%4_1>?8;Qo%GC zUj^SM4)4r<4q|!A21KzRSw~{uxx2^(q*K zr9>95x?{?3ikqn+?rO|HvW1+m65i0wW7N@9*efbB;1l_l5SOxnwjnNvmolB(bkF5~ z3!<&CT3YjM5$_%d== zWe*%CbAQKc5DeLs`VWv@FVazZ+8lw~s<_q4Z+q`}~>N=0JYx5TZl zbwsiW!zGg@H?a_Th(dh}iUtnra?$pnU3T0vkuOyc1D;P4wWwJoV$r;v4zI}X)~oC( z#BX34O85b$mlEBC8;@R}{4m{b=zgkD)AG1RpgD#EX-G5V-N)hE?CVwHs=S;H6OtJ* zFgJG99C@}G!UB&pjhkpG*EijNNxMf|vKubl3U|JcE-%_4ntCeBZXU!b3U|T3^rRL( z^RXz6!10HrkDIFEnN2-sc&+r*o)+BAP>o$q)7VhJuO>5@dJ=ANfme=lUexpVYAlf@ zGqPvwzeyu*z1~^HFS@`#igF`4;P=N`~kgid=1N{L5Uda|*ri@6j)a35GQ?h;dn*;k_e%N@4{|4=ajsz@zoB zE0DY*Yt*W;ZqoOyP=fe^i<0lIu@n624J3XuxP`n~a2_Kt&q-W*G3a^1=v>z^eE=_0 zUjaocs8AaP36MBB#P1{xAI1UuM8c>^K9#>QMiy}Nh27n^XI82kJox0FwY2e;iR!xa zWjAS%EOmMs?4ZYF$s_oPq1R5A`cN|S; zmM5Ol)rZ}po|?koJyii`psKz|K0TrmV3uCaLD8V|+|1&FAB^Ii&bsp&4D8@Nl$oB$ zYo07=ImU7ek1soEU6Z?lNNn&-?(A4{+W1k{)v zv`nJ|iqEXgKY8IoI3+(kP^fO)Xz@p0-`5>Ho48{(rw7v)Rlze;;v++vuD4BWrt80?}%FLwnV@n%iG2Nm@8FiL>;{5@lxJQ~OYJ9VD98cg^ zR(2xRcFj{rdNktsKNdovN79-!U6J@0a2;v(8WLMof1FPzZK>}4)$2?SFDtrvh+#$j zOai?lmZvfFjB#O`x}#%0=EK7qYETG_-GY8N^of#Z)P`Iu%cyafgK|nWB;|AJ3owBo zr2-^~Iq4vtQNziHkW|7tnx*t($Wv9G(aIl2DO|F{ZV}cuxT$aVzG4f6);E&G#|1qS zw#c{GKC`Q7Y9y61_mPEAnM<8u!mai;R&uTHggR^`v$*9^w7zDlH2Nh)3^AyxtWZ8D zj#g3-zG3;^J#h2_gvFY7AUS?T{IU0Go{(U4NyL4oq(@s{oFpxIhdW(&#gxFOEK_Cl zO7}_W+IX3@u#!|QYRjRfaz6H80%F7tZM@Kw-jz@Drt*cs;{7C|1O%)11aq0QrAHGb z6|Eh%KwdSBT|-etVUET7a!O4?iZXRt#g62qN<@A5tMi0#>YUXoaQjRXagEMgcmV;} zTFQXt{j7G?IN9{7Y89Y?_2;pR9>+y;jnca)bu+A9t7Dte+!LAJy%N89*DXdBj| zKzgO&fh2Jo+RZDe0z-FXc$K7>mq+=7V$Kvo!`X-@>!r%Ui^(!T6lNa~T=0=;18b`K zUaPsCR!zIjUc|{qT5Qj3qOovK$8GhjyUc0yBMP)kKiE7>R2MJ*jnunH^{9D-kW>&r>qVl<}XS^{E&kWO!z9R3ElL%)(azwu#Fta2aRGY`*%=$stxWJ%*k&ksb2z7C zdqgv@b0@b2t?ZUp4d}vq%lSFS)tqI>Mam(}RZu60krJ$KX?-&lKJUPh0!2}?Lx@Y- zOkQ0yUCWvMHa#x)#ZzjQKT1)u+$C#W{`79O*N=9cucBTX(D+GucU1hmU<3ivRcb6m zic3?2HIK5JiyRfID1QDhCG9v0Kqo(_X*KmVweLFkpQf}UgtL`(ts(yY}|Jm5zhfB7hIPqs}<`o<9Pn1{@V9@Bn&Ks6_{o1wp%*^R^<#tc#AiBe{AdD&z`5nPhN=Iklz#vZPEIaPJ;I`8{M z7S2dbduhO|qI|*hecM%!BRJH3dTCG@)J{5gIOO41WoS{@rw zQHa$kE<`tJi6i-*u-wxKRn1O5s031Ez$v7XTT9zE-CeV^}`$)wxy zU#OD5tMLd>Y9e6|HYnwg|Bjn3|AkDUidHv)-c~rP99OfoayAUfRPCqHWg;djMWz!m z@quzXVnMmUo;x_zs)B;YV5nLc@^KcP8qk-2qQVqe3}cf1Abs+3*lR+FG=cMP9cxxe_4)aRqc>+n6u;G_u%r`b(x~4dNKCNrlB0lT=k+sh-}RM6}}x> zKSG9OLTw|)ncPr;?qt?=oAbWNR%b(9IR7Hn4GVgQEvJO2ulL*Q`L6@tm{D8}*Q&N7 z55n0UVrE}N@}3Yry?!yl`UrR>kCOKg4r({nl{>T=zA6a!Z}Z2oFTB%us-jm9K3!xz z#3Rj4n&&h}fezkmZGA zr|)h)*jU*j+?&_tCWxM17232X3C^S}HHEL)@i6b%%QhQa6&NkqO9%cFSGhd`^8n7} zFN_Nb9Cu={zz$s*9Q;Vbu_v9$E5ze6d5Im`{3}quzhS# zzON(`w}*?Gze`<*ZA^IGC3!|xCyY&MdTmsGKikCUmvHt@gmPaP3TQv0i<8FyF(!vB z5>KiZM8c>nOCGu+EGt&B67LzRSGf_fGU!t1XtJ`nsIO*tnQ)LZ6OoK4sVrxHXDfq? zeZUpuY42|e=X#{Jn*J7@8BS6@kLQ+2Phv&<>EkTGx6;=S z=&vaB@<4UoPP|+GX*_*$y&UWWN07Zp5xk( z$h5Y5Arz0UK0fdx5q-KF5z0E&GMSDcb-m)fuONF|_;@-0w!_(+G7>DPlfhD@+)RuW zF38*rutVemWV%LYr)wZC-$K=XSP~Lqkj}7KFx#Wu|JVbkr!Tz*gd?PCI=TMSu5e#Bt#+ zS&})CVqoXQkk^%EcJo9GhAZ7QTvo5;kL*O*#V}!Wj|_5yE?hom2-z}Hle4xgaUsjt z-D4!9cU8RvZE$ryQCc|mUn$-m@-8YllkjT&rSc>2EArQ|%oQ}SvdYnhal zw8T9&@$BYkC%hczn1(eXH_h?Pb;@?^r54?zIXaEaQ@$4^GmrHgkFMqCUhw-dE!am< zIinCer3loNMa<*xUz~U4hX+a!(RrDZ&;4f3{nIY*XZeN6!cxeW>jYWgxW``2bFLOn z^OljfehL*!-g=v`#Kb`ifWrY^ZQYq6rseVMfCb zm`NeAdzOazo?@b}f~Xb)t&Lgg;{SFMpygYcC2jBzV##IBmlLM59x@>=;Y<)H6C_mH z^5dpnrZP_1Jq;5QtGKU8C^s4JZ&u4wpBv(wpri`HF!I$AJlC)-kr4WNyY42oRN}cz zMyN2cQiRwy`5`hYk}umrL2^$;8%#xz2S*vg)Jzu2SYz;@3V0I9NVvJ&Hx~WTXwJlN z6}c@qI>NE<$8*;6-&(M#hy~*S^7Y8N=eP-Ao#%-o1r?k2;hPg=_~k#JPcMJeX_3%k zC68Bv7ASL{D8!jXc_fmAzXPzFWDi|Sv42eqC6owskHsB?s)!lmf4C^T9#{QKx*#2v zUEnBnT96yFvGpQUlU9fG{e7rjXO$=Eeux33Ywpj8-W++J;fM6Sl0n>^4}d8wI+vZa+;ob>f{9u?1PTIMwc`6&5 z#m#*th3d;^kFgzwn$tJtl(5VylNgU)9ykp9?Y}(mo9`r-so>vGKcbrFT`#R}lACC_ z5KyVt=2i&~{N`MQ-m@!lE)8fLVbBi)+JBQM>%|^C1E0RS@po%tG`=gtA1ZhJSqpDz z>;2t`v|otX{FwV$cg`$NqplVwlJ?n8B)3Au{wkjRrr4@GE~$>CUqM8dU>+C^mu@z9 ztR6&k&r(2bEb?X2Z;MrhEZAkY z;SKL+2k*{_s$reajkY(sNmG{I(SA(}cRxD_iC_PoPjuUEQTJIUz!q3cHXJ>C#S@3C zBl(LHE+Qy1^2gt{zjF(yLc(?7f?3Es$}0te+e-tNJ)4jGKa9nKOB*p84lDZ^mNSa$ zM94!Ov3Z@JNI(C)&wTSkMaROS>1dzXD#omi4&G+}5JDBM713n-7i+mkSM&BO|NG64 z1}Oh?NA98jxx)3I@3iVZ7``h%q#Cp=%-OVWXP0kf=(oDWvW3O(Hb&l+USak6iz(e} zpO;*_n61`%Q`0`i8{IyVkR`tsgv-tN(LCb*KPLU3vEN>3KmI>9PV%3+`gz#qH~y7! z7U+_x8F3Wc*pFv z1fu$1cgzSg)1L6DdL%kob=Lh^%DF}NM4~>?W?KR?m-(9=GSN}fVkmxF%m1IZEEw>= z->~cr*NPQxQpFj2EqTG0w4@13s{QI^*4-71&9+Wo%Qt8DfA$9c$2XXN{og`?PFfjp z@^3GKHpaA)p3VFT)xEx)7gPOTR|KB*m;dekY5T9{=qAm-t{d0q)}4K^-YkQQzHC38 zn)&xg<5LL#^SmS!{&Ul^ZB0A-bFat^I5cN*)Q-l-oOxH?A!_T@{{1OI`T-;G*3FgI z&U-7HFKLk?SwjguKk{n$gsl4B=rOk3`|o;diuuF;x!7;*F?^zg3h(dS>1077WlMQt z|Mk#cbAJq=3dJ{nKIqj45SPYJ^4-=yCnqspt*M3xI=l`^+2m_JTRho&gxPjRaL-?i z)%F4EXyeyU0ZzfiPA$N_`F>@`d=232ld}L|%ZjX+sr??nTdBcZjJG%u#fJKxO^r7{ zzdlHAsgj+wj#~w^4SQzifgiGIrp|b)ramhlEMlnV5hs;d$2FUrwyUOB8~Q6>i@v=^ zq>KV z#|k)q&~pCR&pW7Y^G_d4)%qgkBE**kgPC8nE@ zqeXdY6QM`^(%FflxOUN4VYFXcFxjts4KoPot{Lo(AK?;|nx;5?&tJX{Cq+k&NF(A* zn6@7bj34HuA8@rCTyF(9@u6Qo_^@l}cefuyP?)bJWOdP!mf74>hH&t4;K~p5*h5e8 z&fDcj|7U3kT>2`TT=6^Nvr$^yqv~b$2T`x!9T>+{CA)!rSKW`5%U?SD_@vKfFl)Me zsqdWjSNIY2GfNDooPds*)1{uz3b(1D$x#kvby!bVFgAXlTR*RU(u>!H2Zh=JU$5#Z zP0#!E`v4}9N#J?EX^pH$=lFXKKEpw&!-13hx8guWzh9B@Vkiba*0%IeK@F{|o+c z)97=f>M&_p3@aI>`5yrPl{g!kWsQWDnwF-)!eS2C(s~I|)~|8jcGS z+5ibg@bpy{f8c(U%CV7k* zu2S@TmWdDS=dIoHw;I{LeOw2C*|s#UO79w`_{#!}H4ffT01(VmscGZvU=wmzETv2< zAM3cMg#lm&&U%SmL_7QE9xgfRetSWM+3{+bo)kl{t!qqWxlnGed2JU+2gojlv-oyp zt}li#V$6IdIvB?A)XWxJ?M*MI4!-I)ecfz{KYAtesTu+KZ6kA-dH`&cd(IrKYa_ms zeZksMEN0U3{RjIq)!j z)+@jf;1-&kT~Zi13||tu9u2E{tyX}C^rcO+em!^&@VRy-Wifw<8Z0i9HM@0eIwhMm z=N{965VHFb+FK5!nyeSg9I}(6!hQxGqt6=3C(qgIyt7gq++_T+eqJX7tHsT@fCU&( z5c>Pn^(y)^9VT9vq3+lvX`7Um2=86JmWC#W<4hJsmdfj0!B?*jg`!8s$I<+(@9qOJq6}7I@!E#j?Y=MRPE+wpy)%HES}kUg zvW3$N-~;vpFL+@`95U=2?z3#d*u3|aKhbaga?a{_RDXA{Y4hdo3z_Tv*xGy#fk2;= z!_3phgSsB+Z~Yy=Gf%2^{4$;!T77T}lbrb^+2f_;J`fZ5JAH0s$+WEiOdh4(z z`|$r8aL5pl4Ww%uB}#LPQlmzRf?$BsAt)UJ(hVCuKtd#(pn%dPozjXRjW8+c8jR6A z7x(@BKELO89MAtdwrksUou4z_uk-Cu5@%ep6X(_N!M?fRhmuD1^x1xm*p~m6?^Lz` z9mP+;%NNg`_4wc%y5a{oO1!CQKHV^p1#r%KUE;;*(D2TsjhZH2YZY}&30)`E|6UX| zF`c+7$+goXYSIjVw4R_%8q@8NAIPeL{1|rBHR)bywZNcV6B@Jzg_NspIZSC3w0^yt z=DpqFVrurIA^Oe=#W}G=kE)R;H{-qgtz<2#`2PyFg|nEB6OVQM<`_40tzdW6WJcbg zPz``X3%)9HYrucgyOujN+9BOssO*_(q9a}0 zgoMaf(yl!0Uhz7r~VI8Hy=xJv?`7UnK;PKIs=Xd`#{u;TAPx z?dsD0;ktP%Fk^zDUUO7#dPRq8B9v8Gy{Pu@TdtR=Jrz#g+iGEu_Yh@tK8(X2)&Rw5 zDp$OX6|-@yzxwo7NLpwM@0Z3orjlhsFsJ`_ds8U^$EL%-T&*$2ZlWO);NjHflf`La zHyquNG)SE9`mFX9NwAF8BRBt+DniV1YS!txtyeZ!d|+20PHQvt_oYRtOPsBd4$(j> zj&o(2GzIXUGpAegK2mLJM#EZs+{%}qRs-7w;tYAw@Skeep(K?S_#Zg^NEtf%p^i)* zBeRkT;xZmMq&?bxP$9R2Hy>7Vr77!>A+9uSI6500)S%Exy+S-t>}%`&20U12=gd6C z*X&HSd(Z21Y78)ubCN!BXz=Y0l^qR$KR6JDIz!@iOx&)jFsv9R6*)xSLAb$#!uagq zE+gs9RVG~CfNK2hIv1vBtMv8~qHp5L&@+Xj*bR6HCZD|Glt_MBRP9Yt&5gpLtu&1X z9}tHO!N8d2-F3`Qv}P#tMXI2JRr-fc0(Cw{kEp{@w#qpOGWf!|*TlM4j(~S`xim=* zjrl1!jCf5w9d-wMWpx(ty<1CJconzUJPBrQ%8#vF(ME_plNcB(Sjr9zV42`saYjNX zJE{-3wea@5EtOblPv^s7BuKpJTbU-}?%{P$4j2VGYVI7Yjy{xTIprHn?@&d)U(7Ua-^Ucr^GiP>DUhJg`Flbo zWd&QrAhv2uJsI-b3edrCam1Hr(Fv%9p_!9VS%KH=zTmjkw4Z+)0D9Z*J&z>!ZWZ*s zfL(V7;|6Qj+*izXMEhR*M3}2u(_vZA(NH8x5vr=D(s)KJ;juapl`~dv(teMp0((!M!1dNJS5aWJ?7Q?vvw^NI5~Cd~HPKj?|r* zJD;;(7cbx6Qtfo{H#n91C^F7o`sM|Fl1nnyd6aZ=-+`F*!T)~N3pJ|%-SoBG=JbX4 z$dL~_wF+Hj`=%FVU7Gw~W3uBN{ycfV`fJTVT~)c9d+cD?Yr$jRI5GTRt;_fE5+4&z z)<&9l6{2jz&6|>NU3rxEE(U~dVD5J9GlQ}~+-~*6Ebwx|x*>sO_a4)U$NdH5@v1*0HUhdG0iz+R8ShlX_=KwlFN5!b6rh)b?VgIX;p*rt)-t#JY)Kq#jQwpII)#EA z!nkL?+8vrbc!zdp<%OobJTa34W2v2KvrGnK#H!vDRBXN;FR#JTpAz&S^g)3sSO+}Y zBD3`FR~3&O?^z}6cddHuDqr@b?7Cp0`-pbX0KB?f*RdyM9Jl2#hR@mgHC<<6?XQPf;4Ti(5PHgMLgtv=MZb+n;Jl;=hncHH$?G26L_Ff{&vxm10_KW@)u)^HyZ;6rT6PU*ceg3s6F_5bPwJS7s~;!d4!DQk zo_-BIizXA$olF+tXm7j;m76G8`b_^kE$YRJNxS>;Ox{HYMZ&$mmdx|uW&3hTiun(~ zANu3rTVc%C)vVCerNC-#N4x(TBMiUD+mg~k!!#1$Aqh!{SHe^3oKfBM6$?!#C!vld>b?d12~_6UEZDWs5ghH>UmwaR=FyZH z{WS?;7yN>~xq_N+1vpt=pF<05Kgu5~i;hB{`Tyj0K&ISqXuUdKAUkBU9)Eq_d5+)B z%$n~-prruLK%tzmT2Q}OC$5Y~g;MT0JvnjqEXzo>GMInZ?z&)zU!nH1I4Yn>K!cjrUfH*>=_y3 z_g+OtyM_B1aJ;`=;9z|xtz@WM_C0-8bYk- zTNA+}>ZR(}>^U0QpiM~kW|WJ!Vkb=6b@rTF9k z9bu-b9s{lQ{MZx5TTIyRllVJ5wrniJx6V7f7+ntj!R6$CH=-#!v0mqW`TH?*AR`X^ zcwU6^^SjCLqT?78Ncyk?KU;t3v(b9)6G6H%4=sBzy~F5n9IZY-Z^yc{c-yZWI1^cL z$ib)jHGa@@l=Y>ijGSIUiu2CY@%RT^(fb5ZUdyB$wl3bNN2Z6D4i}u&u(es^{JMT2 z`FEw~{o7 zLGD1oCi#8r75;mKZ_9~K1f%!Ef91y=_bi^=n)AMvP}j|wO7BsuLeSIJ`lM2NNLtx9?9Qy>*ps#zJ9a!BtN{Xv` zn0K#!`;*J4r%8O4!(HPGEBEV^zzTO;=Dte!c^0UA9sYftGGsvwY(zmVqy|A5%KW`8 z^$R+yIeUPQbWsUkj2Z1u)<#dLx%rz||yBm~eR|QxGIP41Huu zj$?ECA=i#Fr|P~-LDt4lW+)~jGX=XLq>a)<+pUFqs-MV=-3oerO^?x+68;ag5E>qw z^Mre$`j`PZT=Mkr&nYIqFiZ80DuJQIviU}!(PY1Kx8uHJPl*!P9PS1(?u)SNuO<^v zEK_83t)Cgwl}RWh_vG=Vtota&{w2b#Vi%M1yBEbb$bybuPueav+ZEa$C1f=5_40zm z_g~N}Nf%}E%~ih`zB3v?DmcSHK^7t4_bKQP*}JZqFD);_si<|(Hs?QPyU^fbL39DV zH{#&P$c$>g#AI4Go46v674T4031jR~BOGKn-aQH3ccE92Hw<{hZG=tbdN%1G+h#5j zv_oDt_IUkR?V6y?YxQh0b@|1cvE-}zXTx00YGk}W7>6p$kh$mmDP+tK6jv2-uJ@7? zBGK~EM=Y(Xkf?Lt1J|YNR_lk%n5{RH^FMCI1udVQI`O|RSS1}N=_{}ccLa*oB8Is4}{r#Lt;`e~ob;q#y62Zk%p;`#&vV@<#etL?!oga>(_fuGv#OGq+eV;=Ex z59?jS&aqmuU{(V*BsFa`c}>-xLMQtDQck$^5JhA*y4-x9U1@hBP9%zBL;Py6(&X06 z!R?>AuP&lEp~`+<@?l9x^t$BnvvMjb@;(Oh)qmnXf8Gz|CMpL>NO8NeDUI4Qs-Ty6 zLD&pXGHVSl1?~H&alV-DifWZBjQ3W3L%=dv@*=X!5=l+W*#37KQJ?EEL58YB@I}ZP z>W!gFiStVT1PFTfnx@FyxK&&%>?MZ24T$t~UN`(DD%|&C{9Mtivgr?BhKI8{(PkBL?Ni8ekzY-?G~f zx2DU3hI>k}%eDd0{(sfU;nBadz?y*p{OCEuvtM48*kz{Y>Z^#)r`%1d9h8ZwhMycU zkjX)h6p7ExjJ)pzSE7&N_G^JfYW2q$ouPU-~( z6HCRy>hfc^xsVt&e{I-mdoPnVieYLaoG;!%JS8TX^foyg*zjzKO8mF&!`f8 zo&4THp#<;#+r$I6=K>v!>i0B%W^I<3*cg$`&)=*3bE%SLHqUvB7xxaZbkRJ$!CR&t z=7_pkL5Ztc7WKcK5)tEmoPrrPJ9Igd$@v0kw;Ue$Pwd{GW_+f0sNV5KQi!9uP{i_Z zgn4!9tKASKdDM9#pw@lSP-b5zUc8&F=b3al1`qAw()$47s4fazn}Rd!dOO4`Vh7Sd zFuPHb4~2#q$|0!nMn%(ghF^v+Cc2vT$HuJIcQ7_fGE)7p zDt&*Lepv0^0_LW6VKxpb7aWKN zdq}t94H>Q-h|C)(6bM{Q1Ri$1qcJa$|A(>^I0!_1w5}QcJMY1!-GuEy9)ek{E78;_ zQT->Vv;{eaWU~1RF$xfzQTtZx-T958`pp_IIPpH2-g%gCZd22H zljP_|-T~-5l>Eu1^tGo)iAy6wXfqWhnlPbRgI8p&>VO>D@$NRp3W@FZr%3ZueaGAI z0bkkUeB>qqY0H0+fFu`waE_1bt^%bU6)_Sr@aX3nyqLs%yd3d1E)gugP}S5!4_W6- zMLVwIWhP4lntauw`1RBt1bL2lhWX8@`a98i!x&2atBd6kvT7+XQq}!>k^x;CVv5Ex zJr-VMBnOWmQJb$~61pNr;=3!B*Kj(J$<6Ogll~CfC_v)Bj~KZ$8ShA>HV=b)FFo{+ z`pr1Yi;La(DrVMwzJ1>h1b36B6xTBbL>tPRj6w@~+^8u{s5c|l50Usx5z=N56vVN= zWek1l-=|AamY7ZS^MoN-1pw(`MS#c_?jAMVk6uDUG4+7IDTp2$xbeZ%N(g1imhHqq zY3Aq_s(E`rdh`Vz?XnP$2`4gqtRS}vwPjdBiyT1}zvw7DWINRHPy6#|iyVw-PtGW1 z{L{R)r~}B+{oXH|cxb+`pHjq?4VzR3u6utHJ>c}{>QXtNnomWt;bSp=%6=t+ve-{?~^MWeO~11*p_ek%~PA-8ZX)%_sKlC=4rsAdKMi;JN5AP>a}1o=x6Bg`aroI z(X|JU{P_nktoALK(Y2V$qK1k3s0(`OO)hc*eK^dJq(h-K*hbj>T)Ky=WkG%hgt z;T}JMlWo9OEpf|}UR?Tp^V(7io?!<}P=XAX98gH#x{+vGzA=f@CHwpVIx!7!EE9nX zSPf4ETl2SOJ6>%PG(qjb%iBp%FoTkkfb@^csFPBOQ&S!W5!DXFlc-(^i?%y00^qkD zh%VH^FfmU7Eaf2aK&-Y4Ij#a!;}CD~wbh@WmidVgUqt}ED6^QqI`vZ!eI54-r7+eb zg?joquuUA>zCa^xx*E7TF_eYNJ-p`m#W6_tFAwI9zGGkod6J9@*+b^DUxr{HzCqCrLeK=@9VeEw`t|9`_cB(pzG{R$it!m4sDN?J+$ za)Kbb_qLT2*mG zliH$dhvGU$4>oTvh5dvA((WmK#E4maWJ=zZV?>J+ z-MuGd9N|q0{gcm`)#M;o6RN|=P7QekAdEJg8sl;wuNf7dE+GHE0I1bId=d znpF4{V=>v9#s+(h4&e1+ms(U-K)WE$mQ{i0m;A7-L)hZy_+TpdJt~2HJs#$uAKI}m zKQ;~*n+#pP@iq!CxcxRcr)je34r3(+YgxDZp%yflFzdW1(0#F!)~Xnghv!s3KPzQw zL8Y_J-#_?SVu`yX=Z=IV95@W1_no`UDAEE-6ijZuq(=so@)rc+=e?}%Db+9EUeBUq zC?$Gr2|&Y_ozL3cDd0igfe6`MmYFVLyw=_jRWR97qu_rUC!UMi^aHPx3Hf@HLYGrt z7@wJ2(rke8hVw%$cau0En8)7#H@KrLi_K}lmSA!wiZoYpi||r99NS??ei8K_U|}fH zf6kEX<@`IKH}E*ZQ2hbCC*iY=p*D)6XA2A)6t^+$at*`!F$$nf%IMLO!4os!zBEc6 z3d8#|myM&z)Gl|O^QAmSj6(Dw$%(#|Rv-BnezOc(_jDNQFkqaX@(1>@Bm%M(--O5H z)_k+-r-;LaV6sSKA_tTP^F`E-a04Ws>z2dRLe?7H;vt4pZ=`+5v!I6LS9wtHU>YO> zTTjR?yM1l$>MTo$wXniR(MpV``qfe2i5F58r0*fwQ7(@|zviDMw0+1aN@&k|cFOzl?O;kansoT~|)pdv5u7b;t6 z0sfk$`V$qj_KP^9U#$9tcZ3&yHpLHl!y&|V%+td|4oBQe#&4COGHfAsXjAfibBfUN z_?mtP9stn+F%V`N5i2yk3U|qPQ{X$XywKWSb?PD92#NsTzyA@IyJG;2y>b+?oaW

^(C>@N;igjJje*I9e>p*azq;(A1G@h<$<#FG9wkFnpw*AdF=O3<4 z3KkTo2!`$C_e@lRmj+)DO1P#Y>C}9q?3k&+IIfY37pv@LAj^6UTmUWx#qas+s6B{U za#axY00B9t1eMmE5*4?&ZVhYgm5}i$1HAP>)?_t^m=}m*Bf6gkYpS~p1@fQ1Q@n){ z$QjtaJ)u*!#BCS?W$FFKh;Z2YuUHk+$r-j99QEt zWF~EaiQG%4|BdnXFg}2=Nyya9hH3CpILMQK*{TW3%X~&2lfySh&KApQRBEnVL*6hk z7N?CUOjrSN0^Lb=p<#7dh(UrvcSDe-fK-LZt?=dbXfk&sw)5;3SaJ^QI%1oUKM%BQ z@>Op5T!u%q%r|u!;tWu@Z<2|tG@MdNzrXl}cWwcpQ3 zHC8EMmJe}O@`@;sM{MP<%OEPgrF{Q_&P&Hipv%;gRMP7AUZy5pdz#lz5Mn@cedCs! zWO^x581}U%LJc;mRQ>FzC?fw(haKHU^fe$}O)gXAdT=P`i3#5Tu#ZcafTZvy_+85M zd*ZROYQ`1un3=~TvB*bTNh}nGToXNUBVNLAs?~?rXv%*}RW;f&M4c8*qdvnws)dx! zGW%UWUeZA6z&ngGAhBUVC2E&XQ}EE*yDxsxqu%WBoPc)BvIWJr-=p{gZ#vVp^}Slh zF}EBrA{Z3yo0~M@nuWUBlOq&q*LD3P>E}sclhq-^9L2HY^rw=eMAR;1+mFChoc*F; zNDnq%!FU)0<_yTr0S2V74(Y4j_9jG~q(#KJbmr_$h z@1w~08Q%VW5K1NxzbSDA_wE__m+-R4Q^;Xv-`LGd8JtyKoN~OYD}tR@rRDU@?4gXB z!|%c3`y3mew@M{E{(P0S>tZ<4*D#&svJg z8r^ruF;TB%YN;$aDRpmp=FdvQ1q=Zvn2e%NwG;XegD|U*!u+&`cY&wWeWdAdNyE=HTAcsf;R|L>X!Y9Zbtj6yvMfwKL?6u^(?7w zt&8%- zwO^-?bTt*SrweEvi^!8V|E$kl^HAvK){|a4-&DffDb=BZn_)`DfY>5SYHIlpi+0;8 z?;c>X?U?Wl{i4qCGUbnBXlA65up%0L^I^EO(t(pY{d^c z$^LT@3C{>Jb%#qJaRh76>g^5#h_8*yO{;Y?z7j(2rrNz>B@{!d-FteysA1HeMh7H> z=}@qQU{US6PCiPZ920cwW^=>~VO;t#j7E(;T+=F$0T+Ax7U~?~lRPbRE8RGh?5F6{ z5vsZLBmHWKmcI@Yh#bWSPoC~{Gf3QW;3SXjsN^vqD=0d}eCgI)fF~vyetZ`uTP+rd zYacK4EW&33Rdh5vG3(YONBT_)0o)Y|g4&;-0jn`Z+Uux*xqAG#Y9m$JF@wRUw_yKU zdicm50Qpsq0!PZ0xi4b3n(*Tpqyc74_YGzFVV&-0ArcwZ6%Hk_*AQ=Ci0x~Y7LuOQ zkbhxrR1MqaIQCH3(P~x^jlNDfXy0w^uf7nIe-$c=ia?hWG6L+Hxes5NA+oNsE}Ge9 zdeoKQ@Y<6YCst51y3 zM-%f9yp%0jQ@zM#I6~exkrZC z68m|e`EMR0{p!S^wfh{KddFMO$bJQYUT=(SPUIusRGD6WnEMq8ohz!7%E|Gne`$q9P7jSt=5rSxY8hXLnenE%Wz_zGzcJvQ+caULC=d@}uB9d0YIfWVA-+(_XL3RzGS( zCH|^8zdMtncBID#9DGR{5L!GntCQLACy3kK>?r*<%G2;}rqWthz3h)A2T1mJX zb;ly+#RD{dKa9azY1g*2$cc6xt2_FmIP|gKgGSo(2V^sco$L&UnFmJ?g zUkC=JuiG13s#^LCmmtndPq^Mj5!1YXMlH#4$n2{IXT>x=H|#k zWjqNzg7LNL*BA+$%25t6o}*4Fj(q>XCctm7HSC+wXw@rq+|Vh}`SFmT5aVocZ%qER zH~iV_WKU%u!zkY*7KsjjDS;@Q{9%%)uEhjS{2 zeXA&HF$P%Td{~%WiOJj++HlqKg?z_0rl_iJt{DLfc7~Jk1P}T5gDW*SZ`KEB1`TdO zR+~O6wmlRH2yIe*Eht+W*j6o%aRP1V{`@&MUMRh23m(OtuJUtcYUjXymOJ{Z%=}KG z|HTYqT`H4VtP#vScxVLK93$^9h(CF4isC=ECLN_~T@IUL?f~ie7MYDk2)s5Ny{Zz1NGN@* zrNBmWxCZ2XxTf5hg({udnklq3)Wh#nK>IoB(Fa=&7CUmIrty;F!|&&TIWyGZooe2X z6+d+TVLlS)xb5`%V~+r#P~kv#t|-9hSl7|HfsdBWzKU*ejEI8G^UJyLY;-t{--~JV z6EiD3-J`4SGxH_EwqM*1$=)~M_Rn~+7~rRN(BeaFs%_INh}D{^NcU{M|Fd}_{X{PH zG{4>_yTS83dXNoQ{>l+d=q@PTl~Yb)G9Yacl+wu`$h}H6z7wMWQ~nG z{g;&23PL4_Ra@+5`}?}7iK^j=|AfL+mpj?V-fA5)Rb}h`-(Mru2{LFyrmjn zocroTUnftW0Q_3lRDHo^Y+IAu#`)E57m{=8Z50Z5GIX|k|41ebM6yeL2$HIM6ZunZ zSn{(85<8!=O9O`t+UVxP!qvV)+9A&Zc#G3}HhwYKen@epfKr2>hHd%gLv)9OlWb=y^_u)g}bo+^$`^xVsbZOw~>Ep_cV(dn)CG4xR``K1Y0b9KL z6Q7pLAhMmIi`8fmU&}Oa|7+MQ!OPv3>aDjxVxGOa zdm~9_D0u?|u4uf7@la{!Uh=lclPURIccc zGdUV^T`D|hCX8*i3dlYNU8^7am=x~ktz)8#;NBLagI*#g8SL)w35Tuyy6F&@q-m$W=ZX`4hPE>j&2f?*Y+bkJ;j0 zl&0tiUz`2nw07;%<@V?FTMhdzwW?UVj<5B_4|`26cR7)w^gSE3?iihy&U&L7zuoTj zZ;^cdR!r!>(Ig+UKVQK=Qm{3fqjU2Ms_Ns_5S=)Sf8n2hmr_Xan~Om2n2_JQHllr1 zcyS1yN?0%vtdY-IzBy>Vb*LirDO--1emEvL!1=FRlUZh}~2j%i`1;I*tW4WTWL`gi-94JY4!m6TlQ98B;2-$d8HSk+%K zW^eNKn~I{(Q@wOHxKmX8wx#ooU4Tf*^AGX5_);_BkN(-AV&2JmxrOy8@%B}WP=mQi@sTI(`(SSme%s)J@@~qJ^q*Q`tRpCj8-!xlRIb0b2uI?n7-uNc=AM* z{2prL5v6!fmT_3k`H7-0RkGU*j7R(GW(7&8-7VAa#{)8>uba!q75-RL}h0p)bhaWGGU8H>lBEg!P&%8H>2GugG=Gscn)(5pSR-KdIqJq zwt$mszsu9kXi>36v2#{aQkOkd*JZpIC#RYFTT2sQGGn9oKZBY7>jHLJqASU&5B}7N z#NS*rFi0tHi)%lvope89cpn8Lj%3qnt*@XSW9EF;KWiTzI!7*k-8|ACRrF&eJ~u17 zSuDEPF_2vTx3wML#n|#>;&XC+v6S&9B*0BeDEr)0D4Qd9ATaQH6uGivoyQws=s)p4 z4aNWK#_Txxh7bvY=WI1U7s8)-3w?SgRjVngXLJEY^_@TJ^@+SMhU;}t;gBai#EUMT zpVlOQ7!Y3EI=`_vck`|{U|{9Co({Be`v0D4!|uX^rnk5BJ&^^;{<>@dZR#4yZt=tj z?Hi)f2fq)w+UHYL-#MB5dni8quWf&kg#W+4i9}$TCXG2m*~>Qy+O>Oy`dN(w+j7Bn znApf;8+d_Qgm=VVZ>aVm@l9UC3hyt*=HI*6k{gTbyOD>Avkz6Vt3Q8T4h*bIeqO_h ze27Fl+Q&j#PW*ohMjS^@yI2V+HsvNa&dAAog|!`~J9p$_OjFb`fe6|2Ne9 ze=Y}`)@--{K%}GdW)FLH#W*&X7EK3!S0tx$8}`n7-dGGaqEF@fz1*#j+#8v7!_+t0 zUVm`kc14vGxT_HX1O{cHK1YfEOS64j+RoA^M%L`Xj$JkM0}9LSR+Qqt;ZJ8EqNn~s z_OyihzWZ3yeTZ-0N*(1j4{@za%8Nq1aye6xH3@Jdl+%-H>V+Puiz1i<^b>`n!qALAD<=)Bs^ zy0y1bg7F+qU*B_>v8Y`zdW(R2l~~~M6n--MFYP)2njCzKA?)>;ot2;L*W51RP>ePg z1em3gI%)dXiiC#O8g;9MpJg-NQtwfbijFn^3~7sr7yuYfn$?fv9^C-_GvEs2WM<}8 zKbLH-2VNWY-HYvMyEQ*u5ngu;z)MCK0OS6r;{FS!v2LK?5AZFH)1+DHj|xu;=U0@t zdaWEUk$aFXn5Q)Z|DQU5li2`pHH6gtPg<%?Z)!@uOq%)bP0*d}W&<9CCa?6CNYB1T zIO^51IrLqp%$A;dmJz3Qkt@HbO8}OU{J?QG3A7DG*msOzmf`-i7rq>T0QW!o1GyKc z*KgNGkOb^a3ZRWAgp2uE%t|a3R}S4>1b$U3kG~?pU%gkf&7M_{TSiNCK@9=g^R$;r z@t{?r%LtbB#Lyxf!0c#kQ{idc`=ya@N&<+VX$E#;F8--Sz@l$MlepsozP8X#Kzy*%^BLK>kasmLIRb1mNo%8hznyU+9=l>O;<9aW! z!^WNuei0s#-fl#3T6-F0Y+{7X z_MM(WV=~~{Q1+#~_r{_}iSKmUeD^|L%Cka00G#D=Z}{Z&?Ur+W3HF8bqcp+<=O?M)3_mRx~c^c-1{T{Jn&{{r4+rOw4~p z+k}h25pWJXy^RlE{C2FF?hWPM%hCC*ysZ5JwL%YId6^{#t@Hs8bO4%)P+iklv}@oo z#GN%lHFkk&Y%ozKbX~l0*SHlOMWbIm9_}*@M2i#McCDNO0 zHGX)2M(eXT-F+MW65uXYe!LX)8~(||vzykH3|w;c=}Y78vA6cc6BF|nSG>OzZs^=d z?0sV7ICA>^e3|6}Zd$7!dCs;YjZV&A$YX6!g{Jl$Pu$3JYF9VS>?skBQ1PuJ?trrXBPE~w94 z+evG{p>dO7avbB;FwbRTCcQc0^5f!XAzTRN+d9Uo+Ss>E;(dlc$dcda#9ln!i)Hct z4!5t~sRkxT$$%Zw4)Z+PH6dOy?%+#TG6~?LOpGpIXOoEry!`1s_jNNINEv^aj|V?;ODGV6R|i&m}1{qmMrWPk%J=1I1gzQeb%WWvvl z2+}jZBz@`E+CpZ{ImzEITj3cmlMG*yT4h293>y7k`w=fiVC^@gq%IOr0slkzRI;d# zyTJC)%+YW`Zu$}a;*=GhRI6= ztmHXEU;YaYGCFl$ay18TkS%l;JE*9BhFCn$5FT`muzo=b9dG*ajYT5&-s_~v0CtaZ zh;;xswAFybB3gs*2n?)RExs`j1-vr-WB{ML$zL{f-2}icY{%qqaYsnk`!31YyYY0x z84oRRrNw&IPfZu|j@ZElu)CTHT6-+-DcLZ5(es+#d}e4RbeZq;n&~2NejJBkzP=YZ z5pgc2Y-4tvpWX`aB5}!#vj~O%A8W&WZlYn-sjh?V)s^^V7dOOG~P;R;Bl! zjTu_S7JmV`4-7fCU2Yd8D*9u)m&YSGobG%Sp42$!hmlddBP)`Rt0>a!t=#<~C)Oa{ zLSJe%7M?(fcK5j3!9__?AQ@R2k-Jnfkwx+w@CQD6!uU4&w;<(m7SF#JmN-BQHPUAcA7pU~}+QpPLzjsRviLn`RLiB;_O()mQ+61e&C^`fD z-vlxKsW=q(|7G|wo`~@Qp)8xvK5aI*Z_{*2CkgB+w#{4+qK8Qu@^jD)5m~4Sa#617 zCQbHLl!9aJq}}If%km&q=uDWjrJbhpwd)_MA%J=?+!cclXN>wmP`yu2|-HHTduUq8ZP7;f3q0*J-*CL_X&I9 zO=vU?y$SUvyqj4^!=Gj>Ywu`(m7y1shgOOVS^%bu?CuVLbK?d-H?+2UaR)|0TV_aO zzA1E$h#$Y=`rr)x7y%g;s<#b98+*2XoN#G0hFiXgMen=l`mdmQ1S#n zZ!fZsdb}UW0ZNZH8n8SsTW1@3cYVXq@%&<|K^-2N1NPY{^vAwqFyar85sjkQ6GAm0 zC#&i74}lD5Hq8pWeE;_Jt64A4s36C1){ZZlj0>NebpPmS^qN!GSjEYFtWaGfP1i!7 ze>2_FfO4%T#=^qXn&4>6&e48+z}^R)S1Jkh8Z;Y!*|OsOp6GaVs{5y&G#>uV@B%cS z=6>k}Nba6{SbaY0MsPyPN#jl@hu5N|?Gby3$;?DzIVvp84d^^aZcVP1_lX*%9q?03 z0QYt1OxB>|?$c(tMYsjp+_ zkC#h|^84e|s7ADWSIthu$tB{V3x^|B$t*QGD+m1kN@a45QFx)HZ-L)*@Ht*O3JUnV z!H-nQD0?Zb>k@@u?Z_S(Z0V%5jFvC=I!lBwpH8Q>#gosbmQu`8sWI==pVXX-Oe9KR z{nz6CB6pOm%iTI9qdNu99-P1NN}>Qi14(#~1DhXY6}uz52dpegiR%sa(jAdLkK3}AY4r4>Gk@G=k5`sGZLH)x(y%NSJ#hdwh_6$w|0WTO--mT}M z9_l&-6$iOOEcl{m2Q?Oy6GI4yChAwHiIW+20fBmh9PeZK^sV>Vetr62)H z)o-ow>rt5Du4p3mdhfHQEdR%%C>|MmamWfsA^egWi5#t z6)e}S{BBJtP7&_QYjDgkl*$!84U(slSiZgS`4o$uWKF++4Z&F^rJd3U6mr~*)16LW z2wFSjrapFhRj~UBNsk*E04jSzMx#f~w)x9rohLZvKrMu~&i>eT34EW}8iDCNq7S~b zqtn1xyNH~O4hp>{AjxZ*sSPSj-JX2$AyyV!2LKp_cE!>By`_GOY zNbLMU(BlKU(@;e>o~}l-QVYaa$z?$TAhtTP|{LfnxF>n9O+Fb#^nNCWS2o!9np9Gf%l#k{G(yaauw|GK zR0XUoH34-b#I&gDcr#0KV;th?7mggD-C>j!nfW5ZN+(|Fs(|L zQw^pb##|P?9P~=9ID(9Uuhb3w#3g$NB)(`Jzdq$Y{#IJedNr`>bnWIQi%OP{tz5Tj zn?}M6B2t)T8QG!f!RMppO%3xv@%mQqJ)`4u=2|2xwx<*i$!Uxq#-Q0iq7queDRt_( zj27SqP4lH*E2ZouL1UWr4Pcv(w^wZ4g2C`7cXUHo=(7$4y6jdnd0>YQ@#UcNYS^E@ z&J;s{Kv*xfVHA0U%%H^?%Q0LvQr7m}zPTwv->Z3t|1Ck|L>J7AP5#6zw8!JgaePuX zvR&mcKsw-Z6-^WspojGw8esX>N6xeylx46}1ZW>`F9*Kc%r3M^Htp)_IXpSfIlKIh zM$=)|q*rIz^@p)XGm}+KKUnALsyT_bCO>`GJupIOb5IVqZGqB}t^W^G?;S|xAO8O% z;t_W=1F?WOMAjG9o1FcYA-n-|z49 zU)`O~?Kt=KdR?#UdOoj5!7a-qgFN$t!EdrbC4PfUbK$PcNwh&o+j^C;*8&Gcz<9{V2k}0vPQ8CPOZ~P;lN3Bw- z>F}3_#;fP8?fqpAjGqOI#s~q*K~Y=%Z^p|Yw|?|kg4iq8_eI^1ZtU;>I*uaOr8%IU z`h-=bf~Q&T$^H43$bs7bnf>zkB@q$j^IK0s{eh7;8Q&hufR=7E&EK|2*_FjJo^P$L zB5^GXH+eS{(OuvUg)SudGNo3hAW=>y*cnvD_|?&14J@rI**6bje(@@}=rzslVg6$t zX|k^jELCE(&(&5`qa!f7p}EVL4)8;8cPQa%-O5iVMv$Qm3>iug{tFm_-3_t;Bt3-D zC=5ncv3|KFFE&0H_&iHo#8NO^o@x9gM(155!L2Up32GSvLXCI72cF;HSD}^lNZ*VT zOX6A%rzHboWlEo9$VkEaNcyZd)qnIj_Y!1qK+q$tk_y3s8>y;?_O=*duV>z<)g&{f zaSwhUkN?!giWJc5K=c9v5@Lujy_A2HrnLXZxO@L1TbGjLWR_qNSiWDN_^D93jtYTM zEk7p`C6l(ZD&G3=Q8~S{QP=pn&nmsLip3{3ju7GJl5va-31k74IMF*#&;ah6Jcv0!f$}F=- zAiV>NHiUDeMJzjQpoV!Yl5BIjyFBbbl_o#bV?sU@;`!qq*8G42h{LL#c*7x|W{zCpb) z`YuGRa}c7T_V(u>vt*9TX=w`Yd*8%LyfxYme`Hz05La`5cF;Jw1vo>2o zWgX@1cU{u^F&li0kyziYC<7utzu%0?FLpA=g95W+Rz z~Y>$UkxejmPt)3Ue+y=f;`{8-=UL0&g(Tp;7LnouyB84Hkx1aTRok1Y06>hg@ zR3W-qFsp9uEd#O{(k#e$`PN__I|KgO0( zrAxW$Xc7s%tg^5niN6`9R3b;tA;C84Q|6%lOdm(UyW|9N!3P`2eK-<7r%QOt{=sD@ z>?_3|L{9V}2m;e4<^AkvZE@o>^FAr7)6<+6(cG{zkm~@cR$_d+9#n9=hf;E@nP2g0 zlw^|Kt$#jrNee(M-P1hDyt`g=W3Up*!arf~GAC@0O1ky9@tc_ESY+*i^g`rD>AioD zEEo5Pe{7l9OJ*7f!4x~~n=@j*BbldvOoJ#1lP{=HN!&V4CQ?pEil5}i2X>BIG&j}=Ubfyse#L=X zE%X}LBQ21vMYQ~H0Kf_R7s?w{$l-X1^stQ7{iENUll^JwCp($Do7tP2>uuv^v#zTm z#UGE+$B5p~$K6$+LA=$`cem9H;lcWY^uPJh%`VQRPm}fVimX?)_k~)x5`{$`NBgD( zf5^)eaTV3ETtpx-u1vV%tJpnprABYF!LUU%(s=dXwB@^O)8lADLc?@Fk`S@c0mno! zbUukRdHDod&hQZW+eGtT3+EH<%x9hIf}u-fuW4mKg3Q2C;9gXJJ1jU1Ec4D09*Iyx zxXQ(W0H*}&QBHytp@`f(+>bH8_#T7V1lF||Pp!)-`%2bDmTc^un5|iDIQ4)=}Vm}=73g#KyDU?uXWY{fpGjQ{QP{FGV z{4Q#wi0KG5@n@pFrOS-aHmh=;_{0mMcb>$et4K47vhb1WIUoE}mQ3BQP(=X>#nb-R z>IN3j80aeQ7<#Z{qB)EmF=`C0)%|vTXu>*!N(Z=~ztMc2V0w_5sP|9z^jWA;e?mTv z<7#ySnS2K<2G3X(Cq&LJ(s%*4-TG+l=0P<^_WI?OUa*#J>m3Sy5?VJakS!YV8PPD? z_VgfClP3$S6ewr~Ev)lLKf0T|hJ*R^J}L8u+(QI#-hOk#s5MCf`Se8jM{#yvUTzB` z3LD5|MrBC)u1kNS;>SmG=;>Wcdmqu%hh#fzA~dQt()mw{om;E> zsOZjcLo37T*P6Z~_T~de9Z`W7B1G?enK=57AX%ir;qN^HN<(FAl+SW9wC-(-B)6sS zshMhOWC(%9#d-)k(GrOw|3 z>=|RMADcxGG{kyVafihuTh?-pDF#o~3DCgsI&}`AIQE3756oLp8@V_YeXXAW)&f$B zhwZrZBMfDY1z?Y}4H{v-kq$K(7vV!a+<0Lv1I_Xo^SZNKm{My^(P3}OxmHTu*SX@4 z0j0--sD{k49aMW}-@)gcIZ{7-x!0tMecpiI`~kH1STQ42a;tG&kvz-5s+vLozbgDu z6Y*ex@V*Sla_ZV@QvfY9V@a5gu!oB_9ybQ>JUS|`BdICB$r1_jN_!D0>dqNLn3DCP#&|bI{>AkOjuY1qm z{);pxVC`rsr|*cBeU6_BciU=mY5jB5#kNGnlXO>IdcfBv6U6*cd4*6qiP?C{G2-v? z3$F~Jii~Qt7cdz}fOHZ6d4@He??>3a)Ap+ab-ERgdqa6Y#(Zsz4Ed0>P9+0L%O-}; z^6nFk3E>sYim8WHOlf?U8L$?zgwfWil}|lxQ5%ORSmiL7W>piy@@ttciyk3iu@nFL zlbC!435}=SE2F;A%*t1429h1xT-H&w!+-XrRru>8wGd;*uVr6Ed#o(5SVg|lHdl^D znO;^Dk#uwd4NQ2IBs?8UhTA~~kJmmd4}#lLL;71W=UOjGM~L-KmL&28Z9g3k39rG2 zFLlmX_e@0D8okPMoIM_}TWU(s-Yy>(EjTWUQC>AzKWAkO20u~b*0x3TC6k=2pHyQc z`$7aNb{^D=i-;+DZ|2T4#XUHtW^t*rBF{_kbq&~=pm5}LP_`xAz9SRcL_WbBFpU`h zAki4)ZZ=T zpBGXs6V7EcLwL(&%3Qe96H@_!gOT2%v6MS2&va-`>Wj>Ko;j*E$UKPh`YBCvbVlu7 zn|ojyaIdT|7qgxCY%DVds6I{Hdnl9eVJjo|F5=EkuJ5iE)Yr8v z8;bvlm_o!lefJZR?>`Bh=-7B{T_3XOU|uaWEGaJMt^Q);8{H4=Vu_`PFgS-sty9|S ziDupEj<%+W?Q~-{YCpzBK`(GGp{vlI@W(Vv&xxXJAKEh7A`~(Y-OIPX?D!UJ6Rgp$ z5O`!xgjHMU6=#aL}FhIx}V?6YN6~*e_?mq4|u=#p#23OU`5u9wD z3i{&4_K%QQ)~D00EV{09`Md0D6f?@Mmykbq){8xujv=yL#tB6slin7Xn#|XkX4VJi zL_A5B9ikW87v`(qsSC*m$;c+r57$w0Y`&Jr40}43V63v{ zrGo*Fy;SInoJf#;uN$}Z@N))x=9N~P%O-DDwN<*sB3L`zpLD%Eam29kvDs3-;=e zQx>b2aBkU<7TTmx-u%nd+jy)##VDitRg-`j47nJS-o_C*$!ujTI4^^Fqqg7zMrN-K)iyTU7Rz<8 z8)fRndVLVV*>z`hA31J|KdQ40^MHIWZuM-#JFQOCRA(~dowO{EB&^cTD+Z)cPR<5r z(5g7Ux$Et}atnirS&TOkiBY>DF zFRRDjY2N)}>^(cB@3oN54{4VHG5sK>;Gu9F(9d0+kGsci zhX`UUIxW9qe@waf4X{xhKKP6kj2QXuhFoj^P1dgm468@+Me;5EsVWP=+umoRV$+wS zL%EAQilB_pA$KbzsXucXoai8}uoYE6Sau&K%f<)8lpUZ#dBds;pyi*;e05;o86dfM zVCyAH3}Z{*NP19i&${tsmw~*IO<7I?=w3Y9$*5;}rOq1c_F09ELcW_x7z*T47a~N| z{PKGNLyFg8nABo6i3k`Z7l4)eL@*Wb*@U7Eeck6CWR|FQQIZIdlsR*2zeMt3o@=I% z(uPMb)9R@^NK{2Se6;-ikqhw%Dr>m@muHzQrSKp>kh+jIyI>8>NvN8Bf4JmsJEKF4 zHvQe~TM(sT*$bA1C)2}|m%Gvd@pHs{18AS8H0@-9YjgQFeQ?4b0lJTocOn{^B%o_= zsb_w3KClE4CXJY{gjDA9Yc;wAN8%nO{IM}j~Q#j_0& zU_(;~ejlApFb=!O-_vw*fH38#X$=@foa+Gb;F0GiQN($W8!qL<+|Dr=A?rlNg2@Mv z!|$;K!v2BmeFujBMC<*bkzTn#xRkCrKK6HD!x(E8k_i=_k3x0u6gvdjcJQlr$EFe# z%>K!bRt-p!-GJvk^U1SN)>A2(;%w}!LjNZ?fD05pX8UUwhiTigNb}OX&|-5;J7y4i zk$d=RH-$i+o!L(JsXl-^w1>qsm6RJWxxKa7*sIPs1TH>vv2Kd61)*B+b|t` z4mn^71s4ng+Tpf;))TXrk=_+!=C!qn|HVs;eC_-{v;-)e8~+DGa2-^vsL}Mk5VQ#~ z>Co#$^`x+kCls&&**>_5Q^~W|9jvV!sYS}ef0{`oY_#2FW_aI+=wI#~?)8y>ISBhj zVtLW5ZY^#^YQkc7*ZJ2C?j*cq4<6%-c7FVjkTvkOP?67wqEl}ZqD1QG7p92Uv;1LpLM;&_zEFiw*UwW(5qlJ)6 z90G%G84)*(Paz4<6Yj+__s`Zij@5%7;uR(AB>)iIx*Z2H5nzdeh+t}ClnK6JiVS_V ztwO0I@!yI0oZnW9M+b7wh-M=V$JUBDcUslLYl{?hH) zdN|*{~OPd$xU48n~r0{@m>JXIq zunWCDp_fE(%Q<`RDg9lL;+hSNhCBiqwqD>rIzTp5KW<`_%TD+Meb4!V5Bi8nwOMz_ zrgsrV!QPgCm+7le(@UAhZtvl$m4Dt>ehuF#tscK^aiDT$=qv+-3gDtJ9&!uwyvx02 z(0iBghaYk}(2=dyuP;P68jiS&w>{yxt*#J%d{H3x{zDAI5m{nAG4JNmMFEUwHN#77 zdik%&RRiyK2^5~?{n}SA3DWs%o~NWyY@2Q+ebh83a~-p-zwRu0dyghlLw5q$4OFjf z&^#C36Rm54rrtH{p0m#K@O0}cgJ1X;B`$NGCqAYV7dA?gU!wmfAbb`S7lT(&OCaam z=JUbRE^PmlK>{zg5OK~jS=JM1-g5YQOT+>9FH(y*D72^dfC2E-)4d9^ zQ%bzBFL1a%VjrJPSV+~biLOG0OzfNRJ$}HpQR#G#B{+E`@ts`*pA7q=6g~K~6EZc> z%siMB<<-Nnjw%~QCWXy+T9*B?en=GEL!rf_dnxBeCsUr^E7|?A=e4`Z_-`o`Du5A+ zVEw@)yRg8h&pV3Mn-n0V|mLjk(kDhSW6AUh6^D25&$NPJ>DoKUNmdW=GJ5L*8kyC~; zJdt@9l9pc~0_ReYB`k#rVad7>kV2c}0#poM)hg!Pd*|SD>$5BL-)7-eJUDtcHy@}+ zg$v>=7K2u&0*tz!m~~F@+Yok1O*}4>bEaaBfUUuyZ)D9sL(G4v`0J!>J&-G=9k09_ z_Cbu}8O-F@IDkQ{n5Ugx7kpnV@SeVpJOO0|>T z^9Z6w{Hm{1TYbCn@$APDg=7sI1rgs^^4!;>Hz4Yjtw+PgBtRK6;Ag=@o)NS%;@E#| z&hC@HWYe*5`X^#Obluc9f77mu9Add0Ozf=z?F?qkP9~N6R<$1975Jh^4zIz?c_8zK zw5Hk^?|@&UX3(DvYVEYl^+=6nfjR~E4&mstLBh?wG-vaZ$2+qsT7&b)bXtQ{_Bj{H zUOOUZqjenK2WsNuu|u^}!yt<|@ z{|3@&RW;c@8e{*i$-}vR@krgFv$lbCC-ShO{%dlA`N{0Z?ZCjgAh*WMvIt;^nt~)1^~ubt+ldn5Jb{b@uW%up$lz z6(bHwf73Jb0;-A|PtotXslcv4ZTrNsJUok8xbe~rVj&CXkPDr%6<7?@j$M9>b{9dJ zh#sT<%7QJ(oJlDB2h!=~`awbAK>?Yn5Hzip<||CO3-w+#{Rx|Mnlsaqn|jm|qdNRqcCF`U zYHE`#KW$2Q3U>{Cp*P)P-I~TSd)fSs@Njrf!8w|$L~@l_m&B2$S?00=5LgHNL-)i{ z8O;`2e?cW~)hbfRJdO|?l0_D-?tr7h_ujVU%)-z6KzCp=+niakb)XIF!s)bBq_$bMRME)~;GhGlw|PNqGq@?!$%F)%0;U!io2S zv=;=P`XD zUV4Ul^B%%B9DLw+18J^%)$?gk)Wy}q}6>U+JHs@#`8tsWFOGt);I zz#hH6U;R(O7?KMpS!QVK;EK%i`mQqBZb?##uds+F-MUCKvo&%N{7veWC ze=jGzjBMXiohf9WQ+-{{@L-T{Qj2g%lpEsT%r^TJ;vn6Va+P_fOU|eK!d^~d?>16u zvrK%*%gz|TE_((Y0&3ukf}uVPRP<>cLxj?;zo*gF&Kg`NbJmY0ipZ!eWr3|I%Q1`~ z{0{GK6R*k8xU271(Z5XF5pfTSHdkRnRD7- zupQW!@RIRjyGsh9Ar!69G@7AKrUOh-`8_;4r08MiC$|~&)@Y;n75oz6N5-w&I>fzx z?rsXzg%(D?iB0sL`6-o);t4VCHxv%N5oL|vm+d^ux;?Qx>CF32CS4~JC7_J%Q0%88 ziZxzZh?HrH`euonDPwkp;#?1`lH!d}E#xD;CY&%K40O#2CSTV>aw_S0{kc?51cNlKb@86&=6JC@KX>IivwyLQ?E$hR5j)gny&!4ez5{M6;`%El1?CWdLp1w(i{M8{y|+ni|nex0IgQ=L-^`osK5wjlSVQN)Q!d z_|hRee;`zdWD-^MqcMlLl8Uy%J}<(jDe1XR}|yu2nd1S+-rF5T)fggZv7w7kB- zMZJ|o(NymzcRvPfPZn0KJzy<&>k4Q9%qWW&<|75%?&9mF7a4qxz!VSQShEI<`$Q&Y zAM%-q(%!v*$QV#rEqZL<{w=!#bz8s_R7n$0*U81dCmrd31Jst8OlnNFudB=k?EmxM zuPde=Vs#avkmMBW)759c=#vh4{v@whx)r__&G4Y|X!(N`5v*wH)# zq@kj@-U6HXE@ps4ow|>wX(MO%opo#)d=8LX2JorDyF6h@nHmsM zO@3LJ>FeMPI6KJhYoG=Y>mCa9o}-hsZVYFGwJsR|N=hYf%w#!`Qe@-9ZpR&7X!(Oa zw{H50b+ji+Ai zK2i<8hy~0ii%SgadgTS$&vuyi3bfa*zaq!T|Me~KQP*DW`3(9sO|+~DT^w2n%v~dv z;$C$z`xZJ_2F1F{3|;F~0dZ#iw(z9Io6Eh|Bn*?Sn`*9G^)v2$q}LMqiPlwa*Uf8_ zn2-WP|20!d9N;8Dc{1Og0Eo8PYtPA?PxtG;MGE2{CHH`mv+&f5#NBIeP*?Rj@HuAz zERo3Xv*kxuuRaaQKRhCmibDJE`OR+wSgFB3(@wy>XW!4Cuk9XH1O=P`ZnB1Jnf$~o z@NMjk1Bj_z;MoW`0e(&oD|2HC-?c7oSm)f$zGMgh8l_K^xxMonIxfx)a zOa}m7pmc+8*{y>TXC9KL-!+;5H-YVi`KIQ8#b)JNy5n&NokIOt)8C~iwqw`RwP$Tp zWuO0T&00p#kM97_=PV$C9o+%wBD1lgyOZy)R=-?ZOcu*q69cY|DRSTeYn$N4RMw% z6XkyS!&ah3(yI;v-S=+nGfh#f(fUtRBn$wSfG6nW@RzM*bHzw!lYWtccS9$A)5Y<0 z#g*FrWZ>CO^R-Nz+B5vL?2?@R-!-A@toE(Kz^Aj_W?n5`W9|ErCyj$@dD#LVcBd}^ z$INx<*$k|z!=(gH8FdT^6A$# zSdOQvTv!IsJXNK0I!53)4eB> z*MJ|kSzC_JhZ%c+cHaG~2z*tb(|lu9DnonMXyxm*OJU;CV4m^J(!C4*@FGflMi%h! ztJF#s;@p+nF7H;nlJf>|TV?knN-nhYfEOHGURzsDaS8WqgzLL5!sg1so%)S<+^J_ZooF@-a`C#@ zHg9WQrr(>aDB1bNEMp-YFMNPZzkZ8fR{|76XLBc?soTn$&t~`LT+aXlnzL09EVbqN zEx0O^c;1-~(Yso}FxobI$B{T|eAlB;^eBgzslapqp<3B~?I65tdDi${jkQi!&oG~N z`B~FY%)j}rn=o3C@$lbk4QE!xuBA>MO<}e5ueu2{>OT0yYK%LN>6Q_E1WP->#_KHm z;Q`y052bcslH?E#bPfm~BX3~kY1Z&w3tFE?b&{w0x-Ne(11N8POp3n1T6eOw>%T5~ zGSNk-9;_Rfe}g|5!@_X`cRAo_d{zn^k}j?sORMC~*)Ze-N{?A$!Gy`{_i~B?FvY|o z)12$DI2T|wIFSL9h`XtY9s*W9ZyCF)81xg~;Wg$*r;6sb$a1MElv6hoOl*xmF0JQE zCjI*jtH+@DV>eaLjo)!W{_`mf-aazyPD5t1TY8_;!EAYPEqDNO*?essqh^hBLBF5= zvuSKIebi^ZB>X$euEQh_J?6UUAURQYb$RxwaF4kZR5M(mI*Y#OwdX#ReC_e>s<)(C zi^$^lB4tnmuR@}n6(n7GL2rKRGgKvzuP+~ae%Ra^=!~$`c&}No{ARlmK*Hhgoa~5L zVK*u}TK(#4Uj|K-k;7mU?mHD15edq<`!hr8AyUOIF0Du7Ds{6zDZb|xitpG{_st~! zs}uuA)(K@kLOKi*Z<@YhnAs11_RH)HKcUW*c)1m~P2#3#m?SBiWS!$vCpnORp(UAg zzYl6|Y_vo9+Y2LxB0H;X0rr)h?KSvNac0I=s%@~y&imS7gQk)j2kL=MgO*b_-F^t> z?*AHR-9$cT?;MshrUnA(2h0D;Ni2Q9t-7&r8S;p`-PUP6Bot35o~kRtsHKBz)c+)c zZczA6--BYV8Kv)QOg4WkgB+P<;I7xXiud(8`pgobAWry3aI&GATS|R9x5s#3Qh9f& zS){m7Wk93Oh?&Dse;Uih&eZGaZh{88(>75K{G<{*AAD`F4X^G?*t$fVVnA1il2;=q zUiWXxhoW|%4R>`r-MIdB35Vhyln?OV<29Qpe1jpddhN&*>xQGszzvE_>mUc6zA$ZH z9+kV!ldrtqE}J`zt_cEu%f>PUZ#-CkKziXSax>VJ_qPYMPkaFoU+sN|6>Yqq#4M9&c z@k$(ol62{4T4bV_Eak5e#_6s8cq8R1P$i+3h3E$qGm+Elcf|?s-+I;{JzoztcifQ7 z$#P7*Ducv224y@ziUt5X$nMQED$%@8zKq;B<4gOq^Ll4#8XYq%BXO_52@g5mrd~Iw z&Q^0=u56P}vmp9ES3s5!-o0)5D4PAYO`_fM>2hZ8J#M4XPiN)xSM@`?)ClbJ&TP** zNcr})r&@A`(QhcqY_u?=kSzTHARl0GL2%EV8%^r8#NKPze^n!f5 zokO6&uOP}M&J4!r01_FBXB1Ktdg_A$6qe&WH8IZQwl^V;;Tp?MHsLKxE$gGsH~G{N z+YX{brb6ZrTb9D=Y-+4d_-g@GI)#T3AFdE7Wy~IKNGfVLBSO*~V51%<+``3_xd}(6 z{FYp|rYq#L&06P$vpE`TJ@);L4*u5K&khM-kn1`hE&_>V9vm_x*Ag? z==JviK-hN4!PcATX>-)vr9c$w$CkOV=-R^@)J@kdXj>uXvfgZT52QbwQaSmYX!6?m zeff;-SvPlt4;H%cLjRId;_m|1=B8~ONSr-!E5!XH1xl|(yX(&8lGt!j&g1jD;?h#g z8&uEW-%n=HgU2-DIggD1ZBBY^Wvjq4Z5K_*Jxk=&S|!^-(Rl>lRk7yt6MPXe0NnpN#FkQn=FIXbd~H&q`YVNG87Qg86W1 zF!qC1c9Vk@+uz>DbDwc`AM_oKnV%RQ8HrG()pFv!Wy1f^%fE%lV4QN}3$|9ObIO>W zO5^SQuFWO$`FY6PIdxerrr;8_KM_j0~&Uwv~l{Oz=t-3xWE$B~m zVUeIh=Y`e2H81m_!0vM8Wmhj5KBL)6l016;e(w_nYjkDqZjJ~gyxf;_>w6virQ9r4 zp-Iq%*VQp+5`75$Xiem(Zc3dbj4(gKyasG158;TJSn03(3#8#n6<;_{BbU{#$7jg zVu!2@C>|M0)eql_o>ZUnZG@rU_hwVjutae5vFn|-6agdp7DB(_p7DJ!w{ZUTafv3pPg#`B~ zIh8Z!#Cvde@57POm=AXA9I#S1KI$jENE0_!{l}>rk0#(WE)hhuaCZc1da)jZ*e$yo zFO{TS?}!nIHL~v*DsMq^m5?BBSyekOO!AV{`+4(ts-(eOCiR<8|2Vf<2r%&uH~DOE zg2peBJb=$S5voYxxK16G164LYYc7Zc3%r0ych?oCmiJ#B#DNw*BmGhGaa8Td5-2CV7Kfw5--kV{m z>9|Wsg|p2uP4PZaJJ8Zq3p>UZ0ltJT8KT(Q=P9c~**$e&ncB4BV%6574ONKju+A)# z@?Y~a>vvj1-a<~<0*eiGs$GeehZd5sTt(PXzUpO_R~ksx-ogN>6Z+wgj=s1`ttgPj zJMuad&x)Qv`A80mp$i#=XEyFK}8T<6%zO{Z09XF?kM0eBhB9{RD-|VI-^5*C0sL zL0JwAYe&rCX?Uu=J{IFZS=-5C0ht~P+T41 zz`vUPlu3embxac2F?94nhhfW`iqBv1__^rkG5T-IUl+Gf&W!)7+Vq1sR(9Ztx>oGR zExG~1mpmnUFNzTD_{?=E7FvLNi~EZ^3|D+wN@wfTZ#adfq7jgR#+oo}Qy zy8b3#XDWmjNz`-ao4qn};rw`7WIzGpx!QiK@QDI%Hybk_mPV6;%XQ+3IkXbGC`bAc zcDK|qV}u(w*<0f5__rgZbM8plF##Nn`I2TrvAzkiK#@VfLNBt<5_mgLQ8Ra{;(DYN z6Xb`Hrp1=T$xKHi!?Ci)r*4wHia;Me=7ao#b}A+&R?VO`u9i)z)`qft>>`yfe-5Qn z64A>AXxD$|z3zF^aNi~}c*zV=m7nMcJMZD`DCvP6Ap;&zyjFydnSp(4(V9_oBuWj5$oZHL>qX zYt7W$=fQ1@;pj?=y~FZ1lWUixzOuDrUH>t@TPI<>WQK+Qvc8k@&D~^sg{qJWj7I5j z%En{yWW!BOR$z-dGNv0I2ixJdy~|)B-axK_jU_tx?t_h4tEtA(ZE2r6MBvBdo5mMg zMasQ&>EBdyW~`RgmfDmnO+Bi=v-SWztG(EmpBU1_n}ty>4QCs@1@X-egs-7q>Ao6o zqV$xVQ=+yK=1&FNfad?r)+dDWdYYfQlZ${1_Qb{td1*G!B4GukG;3bUKP8gYL!pCa+0@c;! zgv6o1-9)z+?g#Fplo_QrNiu4g1o+hbtilu@T}`+rxObwdnUVM0{z78m8;IBoRwQb` zeZ|O@E}>{gysZVr*QBRzAFCab0AgBStYo=o^fJR4J{f@yt^)_bHTub)h34WW^Zdyd zdy+4Op0dE#&>b*S(?)POO#L?&g9Y7TOq=IFf4=) zOl_1n;h-vzn_UBWOK$P5`_$bGq*hR=)nc8leS196f7)N=0@w8XVU8hMoGG_dHFfO2 zf9pj3oax)727RI#lHy1%K(kveM`^^8*o=I+V4&y>x`KqP>StoShIt@5ATdDB$Y)bW zES!^d*q|X37l1|Mhb4Hc!vqqF0F1P8I?orVdkS0{t0-OPkv2{YnZ2%J{HJV8eFHrFK@3`^%pHGkJtc| zh^OBlu1cAmayrkZR%<9M(4f1jJNCg> z&+mTeAT$-`Qg&b<5!} zYVEzl2TiUZ67dMrheBFf+B*Vm2o_^_3Mng+O}5u9MVXflN(xVbM%I zMhQiX9X-$Xo`%^atU}t2KzDHKvI(+jZ`FVN&cFM*1A);Xezd9Eag(suT-HyL(|S^szjVDy{iwYAs4Flv^d4`O9;!S-+os~6akyBFFGY%T5T;A#%HJUL9Cf) zNTOcrYD{wIRgTHZ9c@XZ%mas^c>fe#9ToCrw${;X0a>ZuH(rL=*=r5{Jc5+?zz%1~ z>st`so~YlePp)s+sXvbLFP{idx(XqXwV;Ky<}D=B-*tZ|zkwo97#;RaeeH zX^%qpJu@;t<^3njJ&GDOWhoFZj~8|cS4hPUaFyc2Y@7&#SZ9)WLP}=~`zYxq_YPLM zJma0djrmmkWgzt@kgq1&n8G0I4(PX@X)QT_B-qy6X5fN)gtWJpW%Pz~%VFJW;aW}N zo=8W-aR<7Q_~{_)ppn&kfsM}@vZvs?>t{M<4$T;gUW^Ba^rM4v=TF((KV!+m1UxZ+ zMc)s$U9aR#|GV9_`lTlLdX70x6}K-$ISeO^HpnRyCJ~CL*&rY2&FK?dB|NPZL?L5_a7M5K zLMiy9v+UEQS8LFFYB#M|Y)gDn!%@E`Dx;wFU4rWgY`Hm~jg$$NqxI%!-R$d$`6x_% zU>rGLCAyvr%x4o6`~p@u+~(?^yPGme&Jk3eSojxV*9XZCxOGdsZ8m;>#_oYi1g*hCBO7nb~a}pK|WYQKVF{E2?5-&~( z)L(RZszK>5MU827w*3Tcnc0=40+rCD^+I zr7l!l>~_=6vbU)ufAA|}pB|pADwP@>grV=ml1U{Uz zq~x(XS4Q$&v;%|%P=jY4$GmrjwNC|2@_m;su_r<^8GASE*Zz@R-6nFB+n4&>N4@jb zKgqmHc&SAALyl{$O}XhmYE9&wySuM9K5}znsG z$?4P3#~9^I8=)UrzPuW>Ra*-vkS_aS`4C#>A>(iq9ORsKFeGn%UqngK8U}3g#q&F0 zOs443k0dYP4_oQgh3DXt8NWJX*a=ef;{?kqhc_$E+5I+|O1+WQ7L&?0VFn+0#?UG& zcufN8swd7yE!K90Vuwb^AO~9`X`q2E(@=mVsE7XjX~!m*;n>pf>O0+7r#p>=a>PJ< zM^hN?6O#$`|MX$SUfl!4;S+%nX@K+~=s(^Rhis?+N|N^1>{%BV0Fxh~nAlJY($Sa0~3I6GBeR zzs-zuGM=mdpj!(xEfLo6Nsj0(s!fc@2?Jqq|L{ahTo4T0`rRiP9SYmFf6D$7x0-l5 zh}=3{znyCM1A0p&=%_5GzTnNat_z3JU@P_6$AHkLl|bcJ_nB0>UT;X9ug`QlUe4-bIq~~pqmin3_Ks+OeR&no<5)5#F_H3m6P?5Zo>uZN%8DP?F>Sfw zdfZ4gplN{@=ZNr!9H?DVMttT~`f?NU9(HqHMJ^hvW_K+ zAfb*X59xkFy`@U8_WGUp_~9Ro*f_>W2kr2U7fVwM{zz_5)AvR6OtFB+$%BWH;ZshI zm*=$xUcc5E=ymhymp&zWcOSc$SCcs9Au;gHax%$_>(Azg?s&@ZW9zQI=(rj!y~IF` z@KjM=`XeSd-9c<;=bdCR5BeV}(MsQrZXITim6x;}yDu*n3iY*cx#3=YKce~-Hhh)h zQ$;_9<_HZ_{ZA>;cO!z0ur#Oj_TYW=8!#!n6&YWv?wga`1Kvx89)*4g87T>UL?I6N z=^Umf&Se%x1)S!<>e8L@Lk9@IZMp!7I5_Pz@V2^T_u|TO z-b-8z4!a{jv19q*FT;L$-;fgVeyUrO`>%;TBU{DxZ0fsRcP0juOokpTn51~&HkS9r z1x5xupozGgxhjO@EPDIH$y|S$s^)@4Sx+fbx%3MVF(|pY3Y*gMrs0+`0oez+OKzD4uG6uL3;7+k7OI315zFx zhOAa@D#^-*;aBd~jYVd$(PDoRY5d_EeA|oyL26O3#X{7n70qeJ-rgL|j&QU)XHWPj$)AD?HT)3c(Jw zzK>hdY_VJfMW{9Kj;FW^MUHVF(tXIXtDEx90OF-&ztjP~{= zp$qj!-b&@*eY4ara_b!C0=$`Dcns<%XoAhGRNwOK zN3>i|aAC37tH;*G3sRdY@KCcq(R~n<}S^c1B2a7&lG;Kalvt&)B?QVZtty8#sI(+V~r3@VCNk#Icbv z0wU9g3DX#8-0O55Yyzn@^jGRjshdysBVnoJ1!HWck3}%|O>o|&Mek=a zIp3#!j7ri^wyqFvy>U-2Ges|GvTZkZ5o-WWZlJcigh+!8ib}Bi z5r1;Nxm;lYN=(HMw%;5uw{YXrg1exEj`AxUB_>RR8C5IPy=T*Jz3}$-Tf;RZY)4_u z9#q{6{xmd`HVX0)p*b!bcivO$g3i+XRc|8y-P%{=v?Ej9?`JzY_SDSY%(Ca#2RaK5 zN>%24AHB~$%Vae8<2KzP`yt*2H4Iy)g?$~{42h_6lo+QvV%uJ~WVrIK-ON!PLX~3#@v8()C-tY@tQ!D%sHj*~opV{1 zt8DKmdg)MlFK}o$CpgtNt2^bMB;-Be{{s3WkehE_IVM;H(X>jSS%+>|^t)^#UN%@u zxX!X$h1U^tPjbEI;f^|MdGuTntyx8YVq3qSbY`oi z+za=`Ph6~7N%28ATnv8m#XarMW(wof8M!elgcKwT%Wo zEJ)q|$?@&bcvoC?`R(c*WlyeCsk!G)gvCN>J+xm0Hl=WW8WQ0t)Nt+;o$J$jKc(M) zRa1jaS%OBo5VhQ3ppM*Tb-EgBPTxB$--1#cDV)TzF&RkNhDv**VpW{zjou@T7mtZ( z7Zqh0<>48oN#7}U(Xclf`%*=u)zd=Dpz1q)EMRk`fy3Vrp$q#Ya^Ky@fg_l>(rpi1wh`GWwCan6uUF7KyLzqbjbgdyF4G%Xe+rJ3u5Md-xitzT zzgGK!-+0QAhS`YT80aWbV~WY^hB;-LSyt>$>kB*WCS0n#2wJ3U+(pqcA3drs{+RpGyQQ?7AG(THSOSK&!06u(!*Ku3^(nNw@Q z!~Ow(YQiJu=k76g+!h!yU6*j|O=+>2on42Ws~1W3N>YU_`GnFlvXlF61Es0w#Qy2d9!PmjpN4_wvo1Ct&hJ_ zv$##>{06(fTzT-?@JcVUpz9|8Q<_e@z`6JZ(ChUzjGp#A*-a-2jt@soCvN!kIpmun z-*I#HI;l(twKcyj*(S*{a{zm${)J&J;1aZ5raqFmJ1ZA`QxADn9jKMx^l5v$#w&(q zO7X!Z>1Ic4;(mPa_MRJelj@9^v(5LB*P0}sk7}pC^UqYKS3B9P7ruzAoBOs>G+Z3g z8va@H%iYy%)_Zc_jNIu_*Ene`I)X4hH=p*cuUBp3gbSAz_*S@Ht+qMTcXefDvF{QM z%JI_)xb7;mj^HeW9N<`RRtM0~wcx0u-o-jHc&F1b&)D+r#nci0gD3CpB0np7e#E=y z@!8rux-|jZ7}zjjx#22$Dt|$B?>=Fd$4ZYbna23G|G9LmQjy0!!8QH7Liin5l2v_$ zaGI5hfy~zh2BrHXVa}>21#EbMtO}vqh3?t?Y`l73?IW$$@Nc`D0qzlr7N}~1?va(P6iXucxMW{+ z;jes|zqoWyR>Y6fEhwpVN?FA2r%gYuPPDTr{d9d1nvW@5NxOVf!@GWL5O z<>8=bx|_tQeGW(@ouNLDGEC`Blc9Gs4U2rX@Xe^|@Bx7?2~=Hm|3C}r;5C8Iw%@Su zXK+$p2FWh=1b-$BAlB36UejFk`x%^sfTxT%Sf3dGZjnFvaojA2Le$({hs4i6rHfpz z@$u~EY8GILpH{(@rmM;+&$HKc!%25UJ zTpNi1+noC|@6E=az7mD7Q0QHtpBzHQk9SnAx6;>XtMjAqq_sQA>?fKABQb}*8<{yrBn9!G z7uyP3e(A;!K}A`+OXeY;zrJ_lwoAZeLYI{eXwB}!cIkQ`Fah^>r%i6+J0mme4!cl) z*99jP6u+RbetN~2BD%Exdd|jt*@>=LiV6JS*^-Ww>N~erZO5N;umxnxp{3)vx;uhSB{a5w5zlIWXwcB`boUxA-%M)*YS|`r1 zHO`glQWgz4-E`h&vGrrcv3N^9o8T`-^~HLl`-R=8AY#Q$ZDzD6`#7AOn&E?MglDV! z4c(N!e%U!54a9g9=HraA11A~6)yNfj2dojSYD){5hg{=&57%eK_5~+$vPi~qddfD% zdb4jG{cv5@a{Wz#qZUYxdSQCC%s5ctpP_J-i=Xe1c%zMMz#Ua|oeyg}fcJ4zP>T8L z8X=hF>3giI;_&0e(2>ci zxT;5OHP)E?sa~~RS*u8na2Ij-XW2|t;i>({GNYr-mtA3J^xW?EcB9mzI&5}{A{FDtdMwq>vF>dbOy*3k0D&0 z?_MaG1GgUjyg!eOP2Gq=m=LZA`o$?r^C&An1HIxnSG5@G$GJ1K!uZ=fdQMb^Qv*(& z4;M6qKb}+#28S6d&7T~N1?M-$Q!Uf}7R-2}6*9GzSdX@$yI!UBrXERBp1eWJ)uYEn zb-(fAIjSC-6#g|Is!Qx{^?e%gC+x4rvqgNMS2Up7#Q>pQ!PAv`q+5J&{{urA1Ad0?Pk8K>yeoRN-s=t-;G$4MHq!@5>A3pxjXfh(C-eP`dHUqu1LdihF3L)V z$5=Ad-UR-PCXX9@V;{ODTEERgTJh443$`^YoN7z^P8+a@pJu8jCw!l%@#{}^3|w{p z`_H7ki=*$p(+R{AQv5pW--kPGxc0F1;qY$}w+ATRS)zgXcMYph<*fS5;;k1wAJWIt z8a_bo{}fK)n|pnO`_D^3loc0dZ(KX+CfLVkW%Jfmt#XFyK5t|uYj}xjW9EjQkKhFQ zQ4oRdxJ3Pwm8Lr=t(e5S6VDGQ%WyR<4r6HZH-WUng}br85G!&e1ttd|K3Ia5znjrv zv2&9#eJdN3Z6oJ62A&T$C(h;_2)9XeSg^|1UeG-6i`P4vsZ#s|e45kiE zD0@dFy7*lS;{`1*QCb;8{|$8@yn{fuHNp_=NK4>o_#J{cE&K2lLx)8+8vTP5!}Il0 zv|I{V&;8GC^B5~QEZOBjQN4sT+|pDJaJ#MWS;>Jc#{0(_PrdVtzY}{bO*l?jRQlr1 zNe6!Q!0r z_S|7y=!S$EJbyG8%meztkG49c7tNpEn-x?W3Q(oc7U8`&4b5Kw)SCxDq1wsiX_&0KjdaWZs!@gvE zbWO^MJARz3-9diBBwlty!!fZ9Gph~u|wp(*&uphkw=nWkU3j?~suhTxKodAtH z|9FdkFTKh$kOPsX8U`GQp#;ZClW9Lft?^*kCBzf@JPEaq4u0Nvb+H=|ph44PBzouy zNxodMyUzoWqM2;~-=+b*VA^vUYQ9hEx|Tc*Er}Ky$jVGv)>^=0I(ReO##_low?XUn z3y0baN0sIm{k)~xV&n88^3&_DoHkNhfug{ZqlMV&imsk&ht!ADSwOe`>s62mBPt7M zm{mS=zQPe!CJqExF08{DdA5p#;cMaoHH5Wy1Ym)+b3T}7WrY;jkj@eFGt>p3#5D-C zdkmyVp7{E``fqv{80^-!_gEXNmo-o|{=@m8M+%J{59B&uziZ9PGI%#`xF#&81^VUB zK8cFU?XJ^+$WXNpf6d*R20W50e#s9fBF2;&1U zQiRaPlz_4G2am2KH~iF8n#XRcm2V*Wb{ObbjEftU$1HZ0$Fv5&G(-~;`vMiwM{}<} zoZ0ga(#3~QnicN&bJXdQ3$lw43v9@RZM3t+s0TZ%S+uMjW8qYl_7j!`!{Ai>mO@!*TB2?c)KZMVwA*ygUBtR9YdeHH?+N zY_lawD1r%@cPfB3#m-(Ub`nvJwehw76~xDB)r=Op_jOYZ@aU~pC=h_D#0TKgD*FGj z%m2RU{I@;+zu@)#`!{?EgrQCL{~8@px1#!dzZ*2p0R1l8_2`qKewX}zQv=vf#u_h2 zu8%zWllY&c5Frs)oCFtq8v2rY&=xRK>$68t6AXxZ_@DvHA4iDj@4>2&@!m$$j;AD{ zgbqwCq)OoQq3!zX!R<<9(9x`c4m;1~$s)q35onm0otOf)k1pz;7x}60HJr~3=c)|!<84TL^Z=UB1!M5mRE4&j)qwAeLkY zncJ4N4H!u7-%lTEkJt7WVBH1Wa&RV8#`o@$xGaTVKce98vJ+`SlyRtLw&&>2CUc$j zc7Zx&eWdxTqnhfxPa#u(RYPy|JyG|jFn=}|ICdLf=?;)sKB5wgv zJW{e3V72dA>tIa{tzUPZRB^sOzhJmGXJ10cji}!isL2qCJcnk|(VmQ`B6Fx5`njUL z7z^Yr?;BWa$K(28CiVSEZadY}g11RoHFzI`MqNn`JUdm3*1z9WH5jldh~v-F85~W$ z7-wlSh}N)$!GVo;3pz;fx;&kRP{0LXYpUp-f^5^@{6I@olURbT~R0WWGI#+hl<=S7jxtQ9=n+`PY_t>#R*yV$BUOx@VF9G%I)x_)F zZg}ILou-Q0#AzE)PXqp$;jYow#MxFydz$+YNWM>2`qUe!h}lesSlXxV0Oc_&_y^^> zlqtPnM%QOsfZ7Lh0)ktmwUF>turQz=Zo9q<`gzj_yLbbzNnPMTjVw>w6X25?w|PwM zaf`-_<7oiz#;!a-VdyWui*?x~&RIa^ zq|35dt2m2_^-)cy=^go`GX*P%CyB7QCh3kXJ4fx74ZWI%WGyahMV3ax#mOe>SJ(>I z3+DmZ))WrNmbE;30vUtYd!J<&1vR{WehK{;rwE;Qu5yTjVbjZf| zHdXsKL{lKhG#v{x=Pm%$+!c+38rjuLEPFJzJ605Hyu}yH_Ok|c^A!%iUi5LMHhQ)^ zc((y4o;u8As!F3+QYVmPS*8B=S|C&NhscA>Y8L<tQQ}Cs?ty8GyCmEwcfDn!E!fD%}C2)}w%M zWG+6;rAPm)%oUO#!}M_igjK{3<|}o>gdbJc7IMP-UzW;f6t(DipC-ANO^<)kK1;m% z;-vW)y9T}ywfIa?y@r+)55P^BVH0>wfO#))IG~aeS64fGTv555nygbmH=s?K^-==Q z#$epeCr0;cu~{;we)8AaoC~{v&4JS=hQHSsnhl(lvEh&!zVhq58p)ILLke| zpT0dC)(zpYV;{Kz3?1+ymdtv%^DJMH93gHn0?NK)nuao~ zNuiGZ?jWDN0JPpUNa5r%R^(G8(h8YKYc)B_WGdNF)@6K3MGu=;PtA@);gtB7Q@|b< zsFfAQY07iT_cwa$FT$#!cTuqeiDtTGUk`qD?atenrE72wMIF?mE=EJm9r2kE`8ZmI zu2{b-k7rZxqx|%eL zDHR6D!)HgREIwZ)o`xGh77q?$yJB+CNO&jA*x-j~$4|i}pvWc*A1U-K*RJfOiL<{= zYX7sXf-xVd0%W$2?IHkbR=wC&LOL*~N=yLClJ&;a3&G!x0VBAQu!$eoBqtCg3fB~R zY@7YzHUqAqGV{tbAebjvO9Xj74#hpQbm>-iY&`9?I$QRCY3~K`C*bMK9@$r$@MzFn z;nEX>atxw3U(RSBmqZ^?##7+*zA*giaEuP7sin&go&>CUZdehJUu>LV9^%SqW5%81 zUh83>@%jfG0MIwi`;P-x_u zF*qm@7n;*@+a3wFhjxvM%TMGi5f)O*x~VTG%L)3Tb9@XCz=2>6)Ei#@U)Tf~iEEWt zeoBBrLpQwe4aM%h8~-2zR12RxL1h8Tnq1S6n{9xXqA|!R#J@~w$G}zbzhRGkP5D19 z2^99nuj`bt91NECeCYV|*V}d|#^wn{Q-(Gx(2d=3!rz1DTQ0O^!6m$B7T<_COB{!>cJ5lKyyo7GH|yPIooX72tL>=L&?PAg6qR z^ZvSN0Ynzi-iblY31Oei3Tv^|LIl5joQB&JkC~Y1Z~x2d>H@*VJF4waMMMF0p!u(kZ`GhznR1I%Ig=u2B01rJK$V7B^4A1o(09)%~lj!BraYbfgp-x z(UdrSd(jWtf8a9nF4+VUk~b1eL{I?@g3iD~9txY zaC#UHyUyb9CL7Zas0kzYkf?~z9~eET_{k!0&8PSL13Y`!%0LF%hCG%*jXvr#A`-Xz1lpwRZh{p2SvKgDw+(Fc7< z$hhu&a#J%(aB%%?b`O$Ab)}GOn|LdxLisXC&5jZB_2lznYcH<+B{)(Nj|zgD^ zHuEdB$Z?G%Bo3VFK{K4)07=lX4Ii5qJ$z?ODm57?5Nhk@@*0*CcL4J21J;Vy<5$sv1lzYDb$Beo08sJ_Ivf2pQt4OR>uEc~^0K5%Sl7#e z`4L~1w-`uD4*3UzFiS)9Kg>K0p_a3*QyZ@MTcWmW^nCM9qqkEF@MPMpis1WDD&nt+ zif#`kbOOdm!|8N6`Z}Wm-YJsgpoPq?=h^gnW)eS?d`SkGzQ4Xi_zL@gFW$NZeHuy~ z&u?5mrzpa9Jw4hHL$Pp* z^G{03Ween?)}g@Lvw^vlEYW?x^I{+T_GfSz1ohm{UN+$H#X&*Sc0~$C;{lS_ZkZC$ zA0QLB{A|~m;KGW39DKf8?C+-v1yfjy_ywW->nXwcyep*4t)w6)b@-J4c?%?6cOL3_ z1#J4R#ir`~;vQwPi|=Nt&6{nw#DeP+dv)Z`Lbyt7vg)E^BFpVTxp|eWCUby&Z33b+ zZ+g^fY^Bo8nz>a!^f_YqcX#!(Uo`iF8A+}|#`S7l|1T9}K0XrJ0WEh&AWEw(aG$X` z;I(|q7$lK?-4h8U9)4o7M@@CGkD|{qQgoj|=~b3q#Yk!{mSn77U*YzKi_%mG!1nCx91)8Q=La?_EL z{pIc{&}7PNBv-leHo5!HXxVtq0oj=}7(Nf^P_Ug_*s#xROWpb5KBMXOWO-?}e5Tq= zolAX3KGhf0H`cEr&mA{Mdok|O&TUc+GF8o?bVt%hCjbBw#jMTGvl?&5Ae+eR2#$$J zZU$=~(6~D(jx-s{m^eGyOpVmTQ&WrLak7kKGgB(-lEm8tGg<~NzsCx#_Ln+Ga}?>_ zzHud%>rjn8439zrT&(mXW>$8~>y{0c`rwB3Do%| z)Z^Wm`dXP7779A_)`4RCnXQRZ#1TL6E#Lwqx_WNtY!B4AlAH;8BmXl~NNrE1QKZAm z!rLNHYr&P5`EZupG03^Ol)nK3*ObnV-HcS$`n@c0zW07NHRmZhRerQJ@e9L`q&981 zN@)_f^h$X#2AvV@)cxRdCJr0JFu6`@WXE|w!kVVZ8i(Aw57~QwMWS*88`%PkLkk9Z zeAUg-{0k|)&O9(9wbp~2)SYD)YXhkl&au22l+r%Zcor)?UkBLzipL;o?CB9q4YmUN z041f5!EBAgXT7YzF9gpJCdd=$0^1laD}4#B1E%hB{F)OgdfOSHRBda}9m|&6T?-OA zBQws6cgdw#f=>Gdu1IVJ+kWr954p!-xD=_PfTmq9o8$KfM&lp?w(`RyJf@?U ztF+Xl2RWS(a)B8-rM$IO1)i2~k;$G)X06NJ(Fhgl$>Gq~9Ydbc+MdFR$j`W-u0LcLJ}#DtV`u7&dHnH{Fb^8bzsK)=k|yO1 ztCAS61I?5YVV`MEZ9BicyK%cF=1p8{JeQrT!;m-fjXFxne6;r!?_CK@m*GDihn?`M z2{B?Q&Zn8udUQTi&^M_K6Sy1~jioDL4H#u^JYSePKUoaZqDZHEt{CR=yPc4!m&)f} zh-isKR(|p%fuy8~G#FeG-G~BLhLRs~uFTzMq7j{GT(BWiSVF)?0R#nzo(POs1CA z%lGNkEAkYxUN_SxDX1zIXmEKI=Hxv|avxO6Q<)!;1rW2A4( zid3Wucg68oF`IZ4U4pM~>?9RNP$k$%r$qMW-$NcEa@#)l6)JsfuG2Mj%UaAz_|`{} zOcO*%qI}@A+@CZ{-|MUP)bx&8#x`{u>(!{knC9yC9mSCh8`B=w!e!I)tcs69@P#k( zuYN~;;4Y-Au5sMn$j8)n+h!xQ1y-=MQsIuTBFnDwqn&%xW{Mxzi4`fH_&B^HQD9Y$ zZA;j(+Oie;kxYn6^zZe5={`u^bWf4Nc@DAoJn zokF=(G5*`pOOcbz8!|^#yPp%X2*k_p5tzjmNwNwV>_9KO1eT9sHj=ZA+x|6O zX@5;jgs*(MQXbNf=cJgODFK}VEnO3<ek9)>+mpt) z@YdqUY3n8$MSv2H&c7EL={KwrN&b*JZ)G_GNxu9G)j;)Xq8T>d;U{IUY&}?^DWOWW z?XvMv1XaiiW-x&co-8owrN#OkXS_P1AMO<^<|>`KYvJjE;3d+k@Hha^wDIb)R#|_Y z1W(MAIxFgZ<&0}?qt!%7dKgSkVxU^_lp2`^Hyv)OOe;rSoc23wTK7>C>nl?25-AjE zeOx>@@U#;8f-1_%isF~=Q1~08Cvid_a`bhK*E(56+vi9ifYr~J&wRxMR~Sf_WW8W; zIR^Q0XP(wMcOkgK!TanMrk4ky>%67`w8>9&?+5bLn^x!SDs*Nz%o~ZKaoPW;mG{SB z>7-K>gS~-ne2$xLU^_o-9nDuqm~}=_!*O&>)wAdd0awcfA*3kvG(sXmE8?z_fw6_b45aa@w6Co3vwrMX;S~ zrW6@ZHO&YAwFnor^T~Ed>C2{LLN9&keN$00$C2lB>GK7dnFd}!gl!G~b}j~MCm(vv za84UoWwHNQfFWAvZ>= z(Y&v_9PTI9g;?_CF`yUM6ZbqkSo1HvY;+bydlQD(ZmF@y&1sS)D*R__j|m;|^qM_) z8?PFaeX>!uz#Vdu!|u$qW#fgT)hzVoGq$YhbMHc2KVaTShnu=3DB^1V?k;}BjTl60mf6sjO+!eLAn@hX+(~#RENSt z5p;URP?N+0737THrUlHJ+SzZ?-3wTH%`zm*EvIWvRSt80n@Qv8a5vBuQ8iIr+LI*+ zE9!AKq$SY(Qpi_o^z=X+jcH%J%Tq1=zA>7=2^SelMx-8p5cG>d{koKtGj4C?FnjAR z@sj?Sii5@3ga6a2Jr@CfJd0WvpdHOR2?wuA3k2M0ouKC{L0}PpekuS&ddz@Bl^{EHdusjc78Z$d81H^yH)FCXL&!Y1?y3Y( z9Fe;e{hb7jB}AO^)fhpU-LUI4eJ5M~n1<%0fOsg$XsS3ixqPkTwnoXiWU~D3|syQSSWPkUioDbt?B1IbnSgoF;vYo$(;HLAWW})q@o9 zXr?T=I>3ht3t2f*BdU{P1iFIhQ7hGNx&;-zJV3W(vfgIu>U2Ak8KzDKMVXrslHt6A z)rvMW&G)qk%h2zHX?81oJp!?i3tRMeocof^M<&%E*_Y%zB_5)Q*mT(WRqaWlslHVL zu;K(joLd%T)VWlpJ~nGLM+bAw?=3clvm3%hlv!4z`v}}fKSaSw>cPDZzmw|gY%w&h zy8p6C=q#}Kmm6zrSxOi)o55<-N-Gkm?G4zdvA&^{T=(K$N}4q873+22(#H(O&IP{> zQP)Q+46Em-CXxqDC$+d=ZFv&gv5f8=eJ4}jTu9(3Mc;{D%{85`vzju6)1|6e~R>yKGv zF;$@|B;-R)O??_&TI;k+c`~fBp>zxkA4qbk7DE=@G&3{b%QHhmHRkXx_oq zaYx5QDzaJ=AVIrgnjYJ$CH(gUKH^`$uM-Q$L_#_a`Iv<*))Yf%TBh^vlKZl-0aqg%g*zd?lw>hpy zB6vk@e$tJ6ol6wLYJYtbJem8ph&Q8pMUU-rmjR#K@twjmW&6IaNct(zNL^38((=fF zxD_~QfUo#V0qV*Oi~^|xp7v*D7XXsVFV(|mN+GueP;5;Hx9A|#95}aSAPq1Hbh!1W zDl85R0LUnZ{6rw`<2P?X_{a_j# z2C6Y4q`9AeriO~<&4uXo++u|p&!{6I1@

R8nuMM0tTF-Yx9K!GW!GSYfST}%~p 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

M-y+ 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

wFVC`=?kiWv%#%c*Oy6xKkT1Ag~ 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≥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%0AF}wt%ny?;qbjeg#{qrUBK*kHCqXDR^?32|EAj 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%0A_a%&Br@{O>U~ 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�ti4UMYLhu-Anr1WMx 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�Fq0 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

|jeyKDCK; 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 z%0A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 E2V=D79RL6T literal 0 HcmV?d00001 diff --git a/img/chatchat-qrcode.jpg b/img/chatchat-qrcode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a16a6081c327d22d0e64ccbe5a196d20f7f0027c GIT binary patch literal 27349 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 E2V=D79RL6T literal 0 HcmV?d00001 From 22ff073309dd1b33367957a527f3d35ade6a5af0 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Mon, 11 Sep 2023 20:41:41 +0800 Subject: [PATCH 29/60] =?UTF-8?q?=E4=BF=AE=E6=94=B9Embeddings=E5=92=8CFAIS?= =?UTF-8?q?S=E7=BC=93=E5=AD=98=E5=8A=A0=E8=BD=BD=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E7=9F=A5=E8=AF=86=E5=BA=93=E7=9B=B8=E5=85=B3API?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81=E5=A4=9A=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=20(#1434)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修改Embeddings和FAISS缓存加载方式,支持多线程,支持内存FAISS * 知识库相关API接口支持多线程并发 * 根据新的API接口调整ApiRequest和测试用例 * 删除webui.py失效的启动说明 --- server/api.py | 84 +---- server/knowledge_base/kb_api.py | 12 +- server/knowledge_base/kb_cache/base.py | 137 +++++++ server/knowledge_base/kb_cache/faiss_cache.py | 157 ++++++++ server/knowledge_base/kb_doc_api.py | 48 +-- server/knowledge_base/kb_service/base.py | 1 - .../kb_service/faiss_kb_service.py | 108 ++---- server/knowledge_base/migrate.py | 7 +- server/knowledge_base/utils.py | 37 +- server/llm_api.py | 337 ++++-------------- server/utils.py | 2 +- tests/api/test_kb_api_request.py | 4 +- tests/api/test_llm_api.py | 3 +- tests/api/test_stream_chat_api.py | 1 - webui.py | 6 - webui_pages/utils.py | 83 +++-- 16 files changed, 497 insertions(+), 530 deletions(-) create mode 100644 server/knowledge_base/kb_cache/base.py create mode 100644 server/knowledge_base/kb_cache/faiss_cache.py diff --git a/server/api.py b/server/api.py index a6d08271..357a0678 100644 --- a/server/api.py +++ b/server/api.py @@ -4,12 +4,11 @@ import os sys.path.append(os.path.dirname(os.path.dirname(__file__))) -from configs.model_config import LLM_MODEL, NLTK_DATA_PATH -from configs.server_config import OPEN_CROSS_DOMAIN, HTTPX_DEFAULT_TIMEOUT -from configs import VERSION, logger, log_verbose +from configs import VERSION +from configs.model_config import NLTK_DATA_PATH +from configs.server_config import OPEN_CROSS_DOMAIN import argparse import uvicorn -from fastapi import Body from fastapi.middleware.cors import CORSMiddleware from starlette.responses import RedirectResponse from server.chat import (chat, knowledge_base_chat, openai_chat, @@ -18,8 +17,8 @@ from server.knowledge_base.kb_api import list_kbs, create_kb, delete_kb from server.knowledge_base.kb_doc_api import (list_files, upload_docs, delete_docs, update_docs, download_doc, recreate_vector_store, search_docs, DocumentWithScore) -from server.utils import BaseResponse, ListResponse, FastAPI, MakeFastAPIOffline, fschat_controller_address -import httpx +from server.llm_api import list_llm_models, change_llm_model, stop_llm_model +from server.utils import BaseResponse, ListResponse, FastAPI, MakeFastAPIOffline from typing import List nltk.data.path = [NLTK_DATA_PATH] + nltk.data.path @@ -126,79 +125,20 @@ def create_app(): )(recreate_vector_store) # LLM模型相关接口 - @app.post("/llm_model/list_models", + app.post("/llm_model/list_models", tags=["LLM Model Management"], - summary="列出当前已加载的模型") - def list_models( - controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) - ) -> BaseResponse: - ''' - 从fastchat controller获取已加载模型列表 - ''' - try: - controller_address = controller_address or fschat_controller_address() - r = httpx.post(controller_address + "/list_models") - return BaseResponse(data=r.json()["models"]) - except Exception as e: - logger.error(f'{e.__class__.__name__}: {e}', - exc_info=e if log_verbose else None) - return BaseResponse( - code=500, - data=[], - msg=f"failed to get available models from controller: {controller_address}。错误信息是: {e}") + summary="列出当前已加载的模型", + )(list_llm_models) - @app.post("/llm_model/stop", + app.post("/llm_model/stop", tags=["LLM Model Management"], summary="停止指定的LLM模型(Model Worker)", - ) - def stop_llm_model( - model_name: str = Body(..., description="要停止的LLM模型名称", examples=[LLM_MODEL]), - controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) - ) -> BaseResponse: - ''' - 向fastchat controller请求停止某个LLM模型。 - 注意:由于Fastchat的实现方式,实际上是把LLM模型所在的model_worker停掉。 - ''' - try: - controller_address = controller_address or fschat_controller_address() - r = httpx.post( - controller_address + "/release_worker", - json={"model_name": model_name}, - ) - return r.json() - except Exception as e: - logger.error(f'{e.__class__.__name__}: {e}', - exc_info=e if log_verbose else None) - return BaseResponse( - code=500, - msg=f"failed to stop LLM model {model_name} from controller: {controller_address}。错误信息是: {e}") + )(stop_llm_model) - @app.post("/llm_model/change", + app.post("/llm_model/change", tags=["LLM Model Management"], summary="切换指定的LLM模型(Model Worker)", - ) - def change_llm_model( - model_name: str = Body(..., description="当前运行模型", examples=[LLM_MODEL]), - new_model_name: str = Body(..., description="要切换的新模型", examples=[LLM_MODEL]), - controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) - ): - ''' - 向fastchat controller请求切换LLM模型。 - ''' - try: - controller_address = controller_address or fschat_controller_address() - r = httpx.post( - controller_address + "/release_worker", - json={"model_name": model_name, "new_model_name": new_model_name}, - timeout=HTTPX_DEFAULT_TIMEOUT, # wait for new worker_model - ) - return r.json() - except Exception as e: - logger.error(f'{e.__class__.__name__}: {e}', - exc_info=e if log_verbose else None) - return BaseResponse( - code=500, - msg=f"failed to switch LLM model from controller: {controller_address}。错误信息是: {e}") + )(change_llm_model) return app diff --git a/server/knowledge_base/kb_api.py b/server/knowledge_base/kb_api.py index a6efa68a..c7b703e9 100644 --- a/server/knowledge_base/kb_api.py +++ b/server/knowledge_base/kb_api.py @@ -12,10 +12,10 @@ def list_kbs(): return ListResponse(data=list_kbs_from_db()) -async def create_kb(knowledge_base_name: str = Body(..., examples=["samples"]), - vector_store_type: str = Body("faiss"), - embed_model: str = Body(EMBEDDING_MODEL), - ) -> BaseResponse: +def create_kb(knowledge_base_name: str = Body(..., examples=["samples"]), + vector_store_type: str = Body("faiss"), + embed_model: str = Body(EMBEDDING_MODEL), + ) -> BaseResponse: # Create selected knowledge base if not validate_kb_name(knowledge_base_name): return BaseResponse(code=403, msg="Don't attack me") @@ -38,8 +38,8 @@ async def create_kb(knowledge_base_name: str = Body(..., examples=["samples"]), return BaseResponse(code=200, msg=f"已新增知识库 {knowledge_base_name}") -async def delete_kb( - knowledge_base_name: str = Body(..., examples=["samples"]) +def delete_kb( + knowledge_base_name: str = Body(..., examples=["samples"]) ) -> BaseResponse: # Delete selected knowledge base if not validate_kb_name(knowledge_base_name): diff --git a/server/knowledge_base/kb_cache/base.py b/server/knowledge_base/kb_cache/base.py new file mode 100644 index 00000000..f3e6d654 --- /dev/null +++ b/server/knowledge_base/kb_cache/base.py @@ -0,0 +1,137 @@ +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from langchain.embeddings.openai import OpenAIEmbeddings +from langchain.embeddings import HuggingFaceBgeEmbeddings +from langchain.embeddings.base import Embeddings +from langchain.schema import Document +import threading +from configs.model_config import (CACHED_VS_NUM, EMBEDDING_MODEL, CHUNK_SIZE, + embedding_model_dict, logger, log_verbose) +from server.utils import embedding_device +from contextlib import contextmanager +from collections import OrderedDict +from typing import List, Any, Union, Tuple + + +class ThreadSafeObject: + def __init__(self, key: Union[str, Tuple], obj: Any = None, pool: "CachePool" = None): + self._obj = obj + self._key = key + self._pool = pool + self._lock = threading.RLock() + self._loaded = threading.Event() + + def __repr__(self) -> str: + cls = type(self).__name__ + return f"<{cls}: key: {self._key}, obj: {self._obj}>" + + @contextmanager + def acquire(self, owner: str = "", msg: str = ""): + owner = owner or f"thread {threading.get_native_id()}" + try: + self._lock.acquire() + if self._pool is not None: + self._pool._cache.move_to_end(self._key) + if log_verbose: + logger.info(f"{owner} 开始操作:{self._key}。{msg}") + yield self._obj + finally: + if log_verbose: + logger.info(f"{owner} 结束操作:{self._key}。{msg}") + self._lock.release() + + def start_loading(self): + self._loaded.clear() + + def finish_loading(self): + self._loaded.set() + + def wait_for_loading(self): + self._loaded.wait() + + @property + def obj(self): + return self._obj + + @obj.setter + def obj(self, val: Any): + self._obj = val + + +class CachePool: + def __init__(self, cache_num: int = -1): + self._cache_num = cache_num + self._cache = OrderedDict() + self.atomic = threading.RLock() + + def keys(self) -> List[str]: + return list(self._cache.keys()) + + def _check_count(self): + if isinstance(self._cache_num, int) and self._cache_num > 0: + while len(self._cache) > self._cache_num: + self._cache.popitem(last=False) + + def get(self, key: str) -> ThreadSafeObject: + if cache := self._cache.get(key): + cache.wait_for_loading() + return cache + + def set(self, key: str, obj: ThreadSafeObject) -> ThreadSafeObject: + self._cache[key] = obj + self._check_count() + return obj + + def pop(self, key: str = None) -> ThreadSafeObject: + if key is None: + return self._cache.popitem(last=False) + else: + return self._cache.pop(key, None) + + def acquire(self, key: Union[str, Tuple], owner: str = "", msg: str = ""): + cache = self.get(key) + if cache is None: + raise RuntimeError(f"请求的资源 {key} 不存在") + elif isinstance(cache, ThreadSafeObject): + self._cache.move_to_end(key) + return cache.acquire(owner=owner, msg=msg) + else: + return cache + + def load_kb_embeddings(self, kb_name: str=None, embed_device: str = embedding_device()) -> Embeddings: + from server.db.repository.knowledge_base_repository import get_kb_detail + + kb_detail = get_kb_detail(kb_name=kb_name) + print(kb_detail) + embed_model = kb_detail.get("embed_model", EMBEDDING_MODEL) + return embeddings_pool.load_embeddings(model=embed_model, device=embed_device) + + +class EmbeddingsPool(CachePool): + def load_embeddings(self, model: str, device: str) -> Embeddings: + self.atomic.acquire() + model = model or EMBEDDING_MODEL + device = device or embedding_device() + key = (model, device) + if not self.get(key): + item = ThreadSafeObject(key, pool=self) + self.set(key, item) + with item.acquire(msg="初始化"): + self.atomic.release() + if model == "text-embedding-ada-002": # openai text-embedding-ada-002 + embeddings = OpenAIEmbeddings(openai_api_key=embedding_model_dict[model], chunk_size=CHUNK_SIZE) + elif 'bge-' in model: + embeddings = HuggingFaceBgeEmbeddings(model_name=embedding_model_dict[model], + model_kwargs={'device': device}, + query_instruction="为这个句子生成表示以用于检索相关文章:") + if model == "bge-large-zh-noinstruct": # bge large -noinstruct embedding + embeddings.query_instruction = "" + else: + embeddings = HuggingFaceEmbeddings(model_name=embedding_model_dict[model], model_kwargs={'device': device}) + item.obj = embeddings + item.finish_loading() + else: + self.atomic.release() + return self.get(key).obj + + +embeddings_pool = EmbeddingsPool(cache_num=1) diff --git a/server/knowledge_base/kb_cache/faiss_cache.py b/server/knowledge_base/kb_cache/faiss_cache.py new file mode 100644 index 00000000..325c7bb1 --- /dev/null +++ b/server/knowledge_base/kb_cache/faiss_cache.py @@ -0,0 +1,157 @@ +from server.knowledge_base.kb_cache.base import * +from server.knowledge_base.utils import get_vs_path +from langchain.vectorstores import FAISS +import os + + +class ThreadSafeFaiss(ThreadSafeObject): + def __repr__(self) -> str: + cls = type(self).__name__ + return f"<{cls}: key: {self._key}, obj: {self._obj}, docs_count: {self.docs_count()}>" + + def docs_count(self) -> int: + return len(self._obj.docstore._dict) + + def save(self, path: str, create_path: bool = True): + with self.acquire(): + if not os.path.isdir(path) and create_path: + os.makedirs(path) + ret = self._obj.save_local(path) + logger.info(f"已将向量库 {self._key} 保存到磁盘") + return ret + + def clear(self): + ret = [] + with self.acquire(): + ids = list(self._obj.docstore._dict.keys()) + if ids: + ret = self._obj.delete(ids) + assert len(self._obj.docstore._dict) == 0 + logger.info(f"已将向量库 {self._key} 清空") + return ret + + +class _FaissPool(CachePool): + def new_vector_store( + self, + embed_model: str = EMBEDDING_MODEL, + embed_device: str = embedding_device(), + ) -> FAISS: + embeddings = embeddings_pool.load_embeddings(embed_model, embed_device) + + # create an empty vector store + doc = Document(page_content="init", metadata={}) + vector_store = FAISS.from_documents([doc], embeddings, normalize_L2=True) + ids = list(vector_store.docstore._dict.keys()) + vector_store.delete(ids) + return vector_store + + def save_vector_store(self, kb_name: str, path: str=None): + if cache := self.get(kb_name): + return cache.save(path) + + def unload_vector_store(self, kb_name: str): + if cache := self.get(kb_name): + self.pop(kb_name) + logger.info(f"成功释放向量库:{kb_name}") + + +class KBFaissPool(_FaissPool): + def load_vector_store( + self, + kb_name: str, + create: bool = True, + embed_model: str = EMBEDDING_MODEL, + embed_device: str = embedding_device(), + ) -> ThreadSafeFaiss: + self.atomic.acquire() + cache = self.get(kb_name) + if cache is None: + item = ThreadSafeFaiss(kb_name, pool=self) + self.set(kb_name, item) + with item.acquire(msg="初始化"): + self.atomic.release() + logger.info(f"loading vector store in '{kb_name}' from disk.") + vs_path = get_vs_path(kb_name) + + if os.path.isfile(os.path.join(vs_path, "index.faiss")): + embeddings = self.load_kb_embeddings(kb_name=kb_name, embed_device=embed_device) + vector_store = FAISS.load_local(vs_path, embeddings, normalize_L2=True) + elif create: + # create an empty vector store + if not os.path.exists(vs_path): + os.makedirs(vs_path) + vector_store = self.new_vector_store(embed_model=embed_model, embed_device=embed_device) + vector_store.save_local(vs_path) + else: + raise RuntimeError(f"knowledge base {kb_name} not exist.") + item.obj = vector_store + item.finish_loading() + else: + self.atomic.release() + return self.get(kb_name) + + +class MemoFaissPool(_FaissPool): + def load_vector_store( + self, + kb_name: str, + embed_model: str = EMBEDDING_MODEL, + embed_device: str = embedding_device(), + ) -> ThreadSafeFaiss: + self.atomic.acquire() + cache = self.get(kb_name) + if cache is None: + item = ThreadSafeFaiss(kb_name, pool=self) + self.set(kb_name, item) + with item.acquire(msg="初始化"): + self.atomic.release() + logger.info(f"loading vector store in '{kb_name}' to memory.") + # create an empty vector store + vector_store = self.new_vector_store(embed_model=embed_model, embed_device=embed_device) + item.obj = vector_store + item.finish_loading() + else: + self.atomic.release() + return self.get(kb_name) + + +kb_faiss_pool = KBFaissPool(cache_num=CACHED_VS_NUM) +memo_faiss_pool = MemoFaissPool() + + +if __name__ == "__main__": + import time, random + from pprint import pprint + + kb_names = ["vs1", "vs2", "vs3"] + # for name in kb_names: + # memo_faiss_pool.load_vector_store(name) + + def worker(vs_name: str, name: str): + vs_name = "samples" + time.sleep(random.randint(1, 5)) + embeddings = embeddings_pool.load_embeddings() + r = random.randint(1, 3) + + with kb_faiss_pool.load_vector_store(vs_name).acquire(name) as vs: + if r == 1: # add docs + ids = vs.add_texts([f"text added by {name}"], embeddings=embeddings) + pprint(ids) + elif r == 2: # search docs + docs = vs.similarity_search_with_score(f"{name}", top_k=3, score_threshold=1.0) + pprint(docs) + if r == 3: # delete docs + logger.warning(f"清除 {vs_name} by {name}") + kb_faiss_pool.get(vs_name).clear() + + threads = [] + for n in range(1, 30): + t = threading.Thread(target=worker, + kwargs={"vs_name": random.choice(kb_names), "name": f"worker {n}"}, + daemon=True) + t.start() + threads.append(t) + + for t in threads: + t.join() diff --git a/server/knowledge_base/kb_doc_api.py b/server/knowledge_base/kb_doc_api.py index b80ce2d7..9074415f 100644 --- a/server/knowledge_base/kb_doc_api.py +++ b/server/knowledge_base/kb_doc_api.py @@ -117,13 +117,13 @@ def _save_files_in_thread(files: List[UploadFile], # yield json.dumps(result, ensure_ascii=False) -async def upload_docs(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), - knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), - override: bool = Form(False, description="覆盖已有文件"), - to_vector_store: bool = Form(True, description="上传文件后是否进行向量化"), - docs: Json = Form({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), - not_refresh_vs_cache: bool = Form(False, description="暂不保存向量库(用于FAISS)"), - ) -> BaseResponse: +def upload_docs(files: List[UploadFile] = File(..., description="上传文件,支持多文件"), + knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), + override: bool = Form(False, description="覆盖已有文件"), + to_vector_store: bool = Form(True, description="上传文件后是否进行向量化"), + docs: Json = Form({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), + not_refresh_vs_cache: bool = Form(False, description="暂不保存向量库(用于FAISS)"), + ) -> BaseResponse: ''' API接口:上传文件,并/或向量化 ''' @@ -148,7 +148,7 @@ async def upload_docs(files: List[UploadFile] = File(..., description="上传文 # 对保存的文件进行向量化 if to_vector_store: - result = await update_docs( + result = update_docs( knowledge_base_name=knowledge_base_name, file_names=file_names, override_custom_docs=True, @@ -162,11 +162,11 @@ async def upload_docs(files: List[UploadFile] = File(..., description="上传文 return BaseResponse(code=200, msg="文件上传与向量化完成", data={"failed_files": failed_files}) -async def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]), - file_names: List[str] = Body(..., examples=[["file_name.md", "test.txt"]]), - delete_content: bool = Body(False), - not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), - ) -> BaseResponse: +def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]), + file_names: List[str] = Body(..., examples=[["file_name.md", "test.txt"]]), + delete_content: bool = Body(False), + not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), + ) -> BaseResponse: if not validate_kb_name(knowledge_base_name): return BaseResponse(code=403, msg="Don't attack me") @@ -196,12 +196,12 @@ async def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]) return BaseResponse(code=200, msg=f"文件删除完成", data={"failed_files": failed_files}) -async def update_docs( - knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), - file_names: List[str] = Body(..., description="文件名称,支持多文件", examples=["file_name"]), - override_custom_docs: bool = Body(False, description="是否覆盖之前自定义的docs"), - docs: Json = Body({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), - not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), +def update_docs( + knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), + file_names: List[str] = Body(..., description="文件名称,支持多文件", examples=["file_name"]), + override_custom_docs: bool = Body(False, description="是否覆盖之前自定义的docs"), + docs: Json = Body({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), + not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), ) -> BaseResponse: ''' 更新知识库文档 @@ -302,11 +302,11 @@ def download_doc( return BaseResponse(code=500, msg=f"{kb_file.filename} 读取文件失败") -async def recreate_vector_store( - knowledge_base_name: str = Body(..., examples=["samples"]), - allow_empty_kb: bool = Body(True), - vs_type: str = Body(DEFAULT_VS_TYPE), - embed_model: str = Body(EMBEDDING_MODEL), +def recreate_vector_store( + knowledge_base_name: str = Body(..., examples=["samples"]), + allow_empty_kb: bool = Body(True), + vs_type: str = Body(DEFAULT_VS_TYPE), + embed_model: str = Body(EMBEDDING_MODEL), ): ''' recreate vector store from the content. diff --git a/server/knowledge_base/kb_service/base.py b/server/knowledge_base/kb_service/base.py index 5cdebfbf..d0860f7b 100644 --- a/server/knowledge_base/kb_service/base.py +++ b/server/knowledge_base/kb_service/base.py @@ -146,7 +146,6 @@ class KBService(ABC): docs = self.do_search(query, top_k, score_threshold, embeddings) return docs - # TODO: milvus/pg需要实现该方法 def get_doc_by_id(self, id: str) -> Optional[Document]: return None diff --git a/server/knowledge_base/kb_service/faiss_kb_service.py b/server/knowledge_base/kb_service/faiss_kb_service.py index c415b822..6e20acf6 100644 --- a/server/knowledge_base/kb_service/faiss_kb_service.py +++ b/server/knowledge_base/kb_service/faiss_kb_service.py @@ -3,62 +3,16 @@ import shutil from configs.model_config import ( KB_ROOT_PATH, - CACHED_VS_NUM, - EMBEDDING_MODEL, SCORE_THRESHOLD, logger, log_verbose, ) from server.knowledge_base.kb_service.base import KBService, SupportedVSType -from functools import lru_cache -from server.knowledge_base.utils import get_vs_path, load_embeddings, KnowledgeFile -from langchain.vectorstores import FAISS +from server.knowledge_base.kb_cache.faiss_cache import kb_faiss_pool, ThreadSafeFaiss +from server.knowledge_base.utils import KnowledgeFile from langchain.embeddings.base import Embeddings from typing import List, Dict, Optional from langchain.docstore.document import Document -from server.utils import torch_gc, embedding_device - - -_VECTOR_STORE_TICKS = {} - - -@lru_cache(CACHED_VS_NUM) -def load_faiss_vector_store( - knowledge_base_name: str, - embed_model: str = EMBEDDING_MODEL, - embed_device: str = embedding_device(), - embeddings: Embeddings = None, - tick: int = 0, # tick will be changed by upload_doc etc. and make cache refreshed. -) -> FAISS: - logger.info(f"loading vector store in '{knowledge_base_name}'.") - vs_path = get_vs_path(knowledge_base_name) - if embeddings is None: - embeddings = load_embeddings(embed_model, embed_device) - - if not os.path.exists(vs_path): - os.makedirs(vs_path) - - if "index.faiss" in os.listdir(vs_path): - search_index = FAISS.load_local(vs_path, embeddings, normalize_L2=True) - else: - # create an empty vector store - doc = Document(page_content="init", metadata={}) - search_index = FAISS.from_documents([doc], embeddings, normalize_L2=True) - ids = [k for k, v in search_index.docstore._dict.items()] - search_index.delete(ids) - search_index.save_local(vs_path) - - if tick == 0: # vector store is loaded first time - _VECTOR_STORE_TICKS[knowledge_base_name] = 0 - - return search_index - - -def refresh_vs_cache(kb_name: str): - """ - make vector store cache refreshed when next loading - """ - _VECTOR_STORE_TICKS[kb_name] = _VECTOR_STORE_TICKS.get(kb_name, 0) + 1 - logger.info(f"知识库 {kb_name} 缓存刷新:{_VECTOR_STORE_TICKS[kb_name]}") +from server.utils import torch_gc class FaissKBService(KBService): @@ -74,24 +28,15 @@ class FaissKBService(KBService): def get_kb_path(self): return os.path.join(KB_ROOT_PATH, self.kb_name) - def load_vector_store(self) -> FAISS: - return load_faiss_vector_store( - knowledge_base_name=self.kb_name, - embed_model=self.embed_model, - tick=_VECTOR_STORE_TICKS.get(self.kb_name, 0), - ) + def load_vector_store(self) -> ThreadSafeFaiss: + return kb_faiss_pool.load_vector_store(kb_name=self.kb_name, embed_model=self.embed_model) - def save_vector_store(self, vector_store: FAISS = None): - vector_store = vector_store or self.load_vector_store() - vector_store.save_local(self.vs_path) - return vector_store - - def refresh_vs_cache(self): - refresh_vs_cache(self.kb_name) + def save_vector_store(self): + self.load_vector_store().save(self.vs_path) def get_doc_by_id(self, id: str) -> Optional[Document]: - vector_store = self.load_vector_store() - return vector_store.docstore._dict.get(id) + with self.load_vector_store().acquire() as vs: + return vs.docstore._dict.get(id) def do_init(self): self.kb_path = self.get_kb_path() @@ -112,43 +57,38 @@ class FaissKBService(KBService): score_threshold: float = SCORE_THRESHOLD, embeddings: Embeddings = None, ) -> List[Document]: - search_index = self.load_vector_store() - docs = search_index.similarity_search_with_score(query, k=top_k, score_threshold=score_threshold) + with self.load_vector_store().acquire() as vs: + docs = vs.similarity_search_with_score(query, k=top_k, score_threshold=score_threshold) return docs def do_add_doc(self, docs: List[Document], **kwargs, ) -> List[Dict]: - vector_store = self.load_vector_store() - ids = vector_store.add_documents(docs) + with self.load_vector_store().acquire() as vs: + ids = vs.add_documents(docs) + if not kwargs.get("not_refresh_vs_cache"): + vs.save_local(self.vs_path) doc_infos = [{"id": id, "metadata": doc.metadata} for id, doc in zip(ids, docs)] torch_gc() - if not kwargs.get("not_refresh_vs_cache"): - vector_store.save_local(self.vs_path) - self.refresh_vs_cache() return doc_infos def do_delete_doc(self, kb_file: KnowledgeFile, **kwargs): - vector_store = self.load_vector_store() - - ids = [k for k, v in vector_store.docstore._dict.items() if v.metadata.get("source") == kb_file.filepath] - if len(ids) == 0: - return None - - vector_store.delete(ids) - if not kwargs.get("not_refresh_vs_cache"): - vector_store.save_local(self.vs_path) - self.refresh_vs_cache() - - return vector_store + with self.load_vector_store().acquire() as vs: + ids = [k for k, v in vs.docstore._dict.items() if v.metadata.get("source") == kb_file.filepath] + if len(ids) > 0: + vs.delete(ids) + if not kwargs.get("not_refresh_vs_cache"): + vs.save_local(self.vs_path) + return ids def do_clear_vs(self): + with kb_faiss_pool.atomic: + kb_faiss_pool.pop(self.kb_name) shutil.rmtree(self.vs_path) os.makedirs(self.vs_path) - self.refresh_vs_cache() def exist_doc(self, file_name: str): if super().exist_doc(file_name): diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index 100a2497..118ae377 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -1,7 +1,6 @@ from configs.model_config import EMBEDDING_MODEL, DEFAULT_VS_TYPE, logger, log_verbose from server.knowledge_base.utils import (get_file_path, list_kbs_from_folder, - list_files_from_folder, run_in_thread_pool, - files2docs_in_thread, + list_files_from_folder,files2docs_in_thread, KnowledgeFile,) from server.knowledge_base.kb_service.base import KBServiceFactory, SupportedVSType from server.db.repository.knowledge_file_repository import add_file_to_db @@ -72,7 +71,6 @@ def folder2db( if kb.vs_type() == SupportedVSType.FAISS: kb.save_vector_store() - kb.refresh_vs_cache() elif mode == "fill_info_only": files = list_files_from_folder(kb_name) kb_files = file_to_kbfile(kb_name, files) @@ -89,7 +87,6 @@ def folder2db( if kb.vs_type() == SupportedVSType.FAISS: kb.save_vector_store() - kb.refresh_vs_cache() elif mode == "increament": db_files = kb.list_files() folder_files = list_files_from_folder(kb_name) @@ -107,7 +104,6 @@ def folder2db( if kb.vs_type() == SupportedVSType.FAISS: kb.save_vector_store() - kb.refresh_vs_cache() else: print(f"unspported migrate mode: {mode}") @@ -139,7 +135,6 @@ def prune_db_files(kb_name: str): kb.delete_doc(kb_file, not_refresh_vs_cache=True) if kb.vs_type() == SupportedVSType.FAISS: kb.save_vector_store() - kb.refresh_vs_cache() return kb_files def prune_folder_files(kb_name: str): diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index a5b107ae..2297d154 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -4,13 +4,13 @@ from langchain.embeddings.openai import OpenAIEmbeddings from langchain.embeddings import HuggingFaceBgeEmbeddings from configs.model_config import ( embedding_model_dict, + EMBEDDING_MODEL, KB_ROOT_PATH, CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, logger, log_verbose, ) -from functools import lru_cache import importlib from text_splitter import zh_title_enhance import langchain.document_loaders @@ -19,25 +19,11 @@ from langchain.text_splitter import TextSplitter from pathlib import Path import json from concurrent.futures import ThreadPoolExecutor -from server.utils import run_in_thread_pool +from server.utils import run_in_thread_pool, embedding_device import io from typing import List, Union, Callable, Dict, Optional, Tuple, Generator -# make HuggingFaceEmbeddings hashable -def _embeddings_hash(self): - if isinstance(self, HuggingFaceEmbeddings): - return hash(self.model_name) - elif isinstance(self, HuggingFaceBgeEmbeddings): - return hash(self.model_name) - elif isinstance(self, OpenAIEmbeddings): - return hash(self.model) - -HuggingFaceEmbeddings.__hash__ = _embeddings_hash -OpenAIEmbeddings.__hash__ = _embeddings_hash -HuggingFaceBgeEmbeddings.__hash__ = _embeddings_hash - - def validate_kb_name(knowledge_base_id: str) -> bool: # 检查是否包含预期外的字符或路径攻击关键字 if "../" in knowledge_base_id: @@ -72,19 +58,12 @@ def list_files_from_folder(kb_name: str): if os.path.isfile(os.path.join(doc_path, file))] -@lru_cache(1) -def load_embeddings(model: str, device: str): - if model == "text-embedding-ada-002": # openai text-embedding-ada-002 - embeddings = OpenAIEmbeddings(openai_api_key=embedding_model_dict[model], chunk_size=CHUNK_SIZE) - elif 'bge-' in model: - embeddings = HuggingFaceBgeEmbeddings(model_name=embedding_model_dict[model], - model_kwargs={'device': device}, - query_instruction="为这个句子生成表示以用于检索相关文章:") - if model == "bge-large-zh-noinstruct": # bge large -noinstruct embedding - embeddings.query_instruction = "" - else: - embeddings = HuggingFaceEmbeddings(model_name=embedding_model_dict[model], model_kwargs={'device': device}) - return embeddings +def load_embeddings(model: str = EMBEDDING_MODEL, device: str = embedding_device()): + ''' + 从缓存中加载embeddings,可以避免多线程时竞争加载。 + ''' + from server.knowledge_base.kb_cache.base import embeddings_pool + return embeddings_pool.load_embeddings(model=model, device=device) LOADER_DICT = {"UnstructuredHTMLLoader": ['.html'], diff --git a/server/llm_api.py b/server/llm_api.py index e4f012bf..72e6b8d7 100644 --- a/server/llm_api.py +++ b/server/llm_api.py @@ -1,279 +1,70 @@ -from multiprocessing import Process, Queue -import multiprocessing as mp -import sys -import os - -sys.path.append(os.path.dirname(os.path.dirname(__file__))) -from configs.model_config import llm_model_dict, LLM_MODEL, LOG_PATH, logger, log_verbose -from server.utils import MakeFastAPIOffline, set_httpx_timeout, llm_device +from fastapi import Body +from configs import logger, log_verbose, LLM_MODEL, HTTPX_DEFAULT_TIMEOUT +from server.utils import BaseResponse, fschat_controller_address +import httpx -host_ip = "0.0.0.0" -controller_port = 20001 -model_worker_port = 20002 -openai_api_port = 8888 -base_url = "http://127.0.0.1:{}" +def list_llm_models( + controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) +) -> BaseResponse: + ''' + 从fastchat controller获取已加载模型列表 + ''' + try: + controller_address = controller_address or fschat_controller_address() + r = httpx.post(controller_address + "/list_models") + return BaseResponse(data=r.json()["models"]) + except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) + return BaseResponse( + code=500, + data=[], + msg=f"failed to get available models from controller: {controller_address}。错误信息是: {e}") -def create_controller_app( - dispatch_method="shortest_queue", +def stop_llm_model( + model_name: str = Body(..., description="要停止的LLM模型名称", examples=[LLM_MODEL]), + controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) +) -> BaseResponse: + ''' + 向fastchat controller请求停止某个LLM模型。 + 注意:由于Fastchat的实现方式,实际上是把LLM模型所在的model_worker停掉。 + ''' + try: + controller_address = controller_address or fschat_controller_address() + r = httpx.post( + controller_address + "/release_worker", + json={"model_name": model_name}, + ) + return r.json() + except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) + return BaseResponse( + code=500, + msg=f"failed to stop LLM model {model_name} from controller: {controller_address}。错误信息是: {e}") + + +def change_llm_model( + model_name: str = Body(..., description="当前运行模型", examples=[LLM_MODEL]), + new_model_name: str = Body(..., description="要切换的新模型", examples=[LLM_MODEL]), + controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) ): - import fastchat.constants - fastchat.constants.LOGDIR = LOG_PATH - from fastchat.serve.controller import app, Controller - - controller = Controller(dispatch_method) - sys.modules["fastchat.serve.controller"].controller = controller - - MakeFastAPIOffline(app) - app.title = "FastChat Controller" - return app - - -def create_model_worker_app( - worker_address=base_url.format(model_worker_port), - controller_address=base_url.format(controller_port), - model_path=llm_model_dict[LLM_MODEL].get("local_model_path"), - device=llm_device(), - gpus=None, - max_gpu_memory="20GiB", - load_8bit=False, - cpu_offloading=None, - gptq_ckpt=None, - gptq_wbits=16, - gptq_groupsize=-1, - gptq_act_order=False, - awq_ckpt=None, - awq_wbits=16, - awq_groupsize=-1, - model_names=[LLM_MODEL], - num_gpus=1, # not in fastchat - conv_template=None, - limit_worker_concurrency=5, - stream_interval=2, - no_register=False, -): - import fastchat.constants - fastchat.constants.LOGDIR = LOG_PATH - from fastchat.serve.model_worker import app, GptqConfig, AWQConfig, ModelWorker, worker_id - import argparse - import threading - import fastchat.serve.model_worker - - # workaround to make program exit with Ctrl+c - # it should be deleted after pr is merged by fastchat - def _new_init_heart_beat(self): - self.register_to_controller() - self.heart_beat_thread = threading.Thread( - target=fastchat.serve.model_worker.heart_beat_worker, args=(self,), daemon=True, + ''' + 向fastchat controller请求切换LLM模型。 + ''' + try: + controller_address = controller_address or fschat_controller_address() + r = httpx.post( + controller_address + "/release_worker", + json={"model_name": model_name, "new_model_name": new_model_name}, + timeout=HTTPX_DEFAULT_TIMEOUT, # wait for new worker_model ) - self.heart_beat_thread.start() - ModelWorker.init_heart_beat = _new_init_heart_beat - - parser = argparse.ArgumentParser() - args = parser.parse_args() - args.model_path = model_path - args.model_names = model_names - args.device = device - args.load_8bit = load_8bit - args.gptq_ckpt = gptq_ckpt - args.gptq_wbits = gptq_wbits - args.gptq_groupsize = gptq_groupsize - args.gptq_act_order = gptq_act_order - args.awq_ckpt = awq_ckpt - args.awq_wbits = awq_wbits - args.awq_groupsize = awq_groupsize - args.gpus = gpus - args.num_gpus = num_gpus - args.max_gpu_memory = max_gpu_memory - args.cpu_offloading = cpu_offloading - args.worker_address = worker_address - args.controller_address = controller_address - args.conv_template = conv_template - args.limit_worker_concurrency = limit_worker_concurrency - args.stream_interval = stream_interval - args.no_register = no_register - - if args.gpus: - if len(args.gpus.split(",")) < args.num_gpus: - raise ValueError( - f"Larger --num-gpus ({args.num_gpus}) than --gpus {args.gpus}!" - ) - os.environ["CUDA_VISIBLE_DEVICES"] = args.gpus - - if gpus and num_gpus is None: - num_gpus = len(gpus.split(',')) - args.num_gpus = num_gpus - - gptq_config = GptqConfig( - ckpt=gptq_ckpt or model_path, - wbits=args.gptq_wbits, - groupsize=args.gptq_groupsize, - act_order=args.gptq_act_order, - ) - awq_config = AWQConfig( - ckpt=args.awq_ckpt or args.model_path, - wbits=args.awq_wbits, - groupsize=args.awq_groupsize, - ) - - # torch.multiprocessing.set_start_method('spawn') - worker = ModelWorker( - controller_addr=args.controller_address, - worker_addr=args.worker_address, - worker_id=worker_id, - model_path=args.model_path, - model_names=args.model_names, - limit_worker_concurrency=args.limit_worker_concurrency, - no_register=args.no_register, - device=args.device, - num_gpus=args.num_gpus, - max_gpu_memory=args.max_gpu_memory, - load_8bit=args.load_8bit, - cpu_offloading=args.cpu_offloading, - gptq_config=gptq_config, - awq_config=awq_config, - stream_interval=args.stream_interval, - conv_template=args.conv_template, - ) - - sys.modules["fastchat.serve.model_worker"].worker = worker - sys.modules["fastchat.serve.model_worker"].args = args - sys.modules["fastchat.serve.model_worker"].gptq_config = gptq_config - - MakeFastAPIOffline(app) - app.title = f"FastChat LLM Server ({LLM_MODEL})" - return app - - -def create_openai_api_app( - controller_address=base_url.format(controller_port), - api_keys=[], -): - import fastchat.constants - fastchat.constants.LOGDIR = LOG_PATH - from fastchat.serve.openai_api_server import app, CORSMiddleware, app_settings - - app.add_middleware( - CORSMiddleware, - allow_credentials=True, - allow_origins=["*"], - allow_methods=["*"], - allow_headers=["*"], - ) - - app_settings.controller_address = controller_address - app_settings.api_keys = api_keys - - MakeFastAPIOffline(app) - app.title = "FastChat OpeanAI API Server" - return app - - -def run_controller(q): - import uvicorn - app = create_controller_app() - - @app.on_event("startup") - async def on_startup(): - set_httpx_timeout() - q.put(1) - - uvicorn.run(app, host=host_ip, port=controller_port) - - -def run_model_worker(q, *args, **kwargs): - import uvicorn - app = create_model_worker_app(*args, **kwargs) - - @app.on_event("startup") - async def on_startup(): - set_httpx_timeout() - while True: - no = q.get() - if no != 1: - q.put(no) - else: - break - q.put(2) - - uvicorn.run(app, host=host_ip, port=model_worker_port) - - -def run_openai_api(q): - import uvicorn - app = create_openai_api_app() - - @app.on_event("startup") - async def on_startup(): - set_httpx_timeout() - while True: - no = q.get() - if no != 2: - q.put(no) - else: - break - q.put(3) - - uvicorn.run(app, host=host_ip, port=openai_api_port) - - -if __name__ == "__main__": - mp.set_start_method("spawn") - queue = Queue() - logger.info(llm_model_dict[LLM_MODEL]) - model_path = llm_model_dict[LLM_MODEL]["local_model_path"] - - logger.info(f"如需查看 llm_api 日志,请前往 {LOG_PATH}") - - if not model_path: - logger.error("local_model_path 不能为空") - else: - controller_process = Process( - target=run_controller, - name=f"controller({os.getpid()})", - args=(queue,), - daemon=True, - ) - controller_process.start() - - model_worker_process = Process( - target=run_model_worker, - name=f"model_worker({os.getpid()})", - args=(queue,), - # kwargs={"load_8bit": True}, - daemon=True, - ) - model_worker_process.start() - - openai_api_process = Process( - target=run_openai_api, - name=f"openai_api({os.getpid()})", - args=(queue,), - daemon=True, - ) - openai_api_process.start() - - try: - model_worker_process.join() - controller_process.join() - openai_api_process.join() - except KeyboardInterrupt: - model_worker_process.terminate() - controller_process.terminate() - openai_api_process.terminate() - -# 服务启动后接口调用示例: -# import openai -# openai.api_key = "EMPTY" # Not support yet -# openai.api_base = "http://localhost:8888/v1" - -# model = "chatglm2-6b" - -# # create a chat completion -# completion = openai.ChatCompletion.create( -# model=model, -# messages=[{"role": "user", "content": "Hello! What is your name?"}] -# ) -# # print the completion -# print(completion.choices[0].message.content) + return r.json() + except Exception as e: + logger.error(f'{e.__class__.__name__}: {e}', + exc_info=e if log_verbose else None) + return BaseResponse( + code=500, + msg=f"failed to switch LLM model from controller: {controller_address}。错误信息是: {e}") diff --git a/server/utils.py b/server/utils.py index 163250de..01843091 100644 --- a/server/utils.py +++ b/server/utils.py @@ -12,7 +12,7 @@ from concurrent.futures import ThreadPoolExecutor, as_completed from typing import Literal, Optional, Callable, Generator, Dict, Any -thread_pool = ThreadPoolExecutor() +thread_pool = ThreadPoolExecutor(os.cpu_count()) class BaseResponse(BaseModel): diff --git a/tests/api/test_kb_api_request.py b/tests/api/test_kb_api_request.py index a0d15ced..3b067b3f 100644 --- a/tests/api/test_kb_api_request.py +++ b/tests/api/test_kb_api_request.py @@ -14,7 +14,7 @@ from pprint import pprint api_base_url = api_address() -api: ApiRequest = ApiRequest(api_base_url) +api: ApiRequest = ApiRequest(api_base_url, no_remote_api=True) kb = "kb_for_api_test" @@ -84,7 +84,7 @@ def test_upload_docs(): print(f"\n尝试重新上传知识文件, 覆盖,自定义docs") docs = {"FAQ.MD": [{"page_content": "custom docs", "metadata": {}}]} - data = {"knowledge_base_name": kb, "override": True, "docs": json.dumps(docs)} + data = {"knowledge_base_name": kb, "override": True, "docs": docs} data = api.upload_kb_docs(files, **data) pprint(data) assert data["code"] == 200 diff --git a/tests/api/test_llm_api.py b/tests/api/test_llm_api.py index f348fe74..2c5d039f 100644 --- a/tests/api/test_llm_api.py +++ b/tests/api/test_llm_api.py @@ -5,8 +5,9 @@ from pathlib import Path root_path = Path(__file__).parent.parent.parent sys.path.append(str(root_path)) -from configs.server_config import api_address, FSCHAT_MODEL_WORKERS +from configs.server_config import FSCHAT_MODEL_WORKERS from configs.model_config import LLM_MODEL, llm_model_dict +from server.utils import api_address from pprint import pprint import random diff --git a/tests/api/test_stream_chat_api.py b/tests/api/test_stream_chat_api.py index 4c2d5faf..75c995ef 100644 --- a/tests/api/test_stream_chat_api.py +++ b/tests/api/test_stream_chat_api.py @@ -47,7 +47,6 @@ data = { } - def test_chat_fastchat(api="/chat/fastchat"): url = f"{api_base_url}{api}" data2 = { diff --git a/webui.py b/webui.py index 0cda9ebc..2750c477 100644 --- a/webui.py +++ b/webui.py @@ -1,9 +1,3 @@ -# 运行方式: -# 1. 安装必要的包:pip install streamlit-option-menu streamlit-chatbox>=1.1.6 -# 2. 运行本机fastchat服务:python server\llm_api.py 或者 运行对应的sh文件 -# 3. 运行API服务器:python server/api.py。如果使用api = ApiRequest(no_remote_api=True),该步可以跳过。 -# 4. 运行WEB UI:streamlit run webui.py --server.port 7860 - import streamlit as st from webui_pages.utils import * from streamlit_option_menu import option_menu diff --git a/webui_pages/utils.py b/webui_pages/utils.py index cd9ebc08..3145b6f8 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -20,6 +20,7 @@ from server.chat.openai_chat import OpenAiChatMsgIn from fastapi.responses import StreamingResponse import contextlib import json +import os from io import BytesIO from server.utils import run_async, iter_over_async, set_httpx_timeout, api_address @@ -475,7 +476,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_api import create_kb - response = run_async(create_kb(**data)) + response = create_kb(**data) return response.dict() else: response = self.post( @@ -497,7 +498,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_api import delete_kb - response = run_async(delete_kb(knowledge_base_name)) + response = delete_kb(knowledge_base_name) return response.dict() else: response = self.post( @@ -584,7 +585,7 @@ class ApiRequest: filename = filename or file.name else: # a local path file = Path(file).absolute().open("rb") - filename = filename or file.name + filename = filename or os.path.split(file.name)[-1] return filename, file files = [convert_file(file) for file in files] @@ -602,13 +603,13 @@ class ApiRequest: from tempfile import SpooledTemporaryFile upload_files = [] - for file, filename in files: + for filename, file in files: temp_file = SpooledTemporaryFile(max_size=10 * 1024 * 1024) temp_file.write(file.read()) temp_file.seek(0) upload_files.append(UploadFile(file=temp_file, filename=filename)) - response = run_async(upload_docs(upload_files, **data)) + response = upload_docs(upload_files, **data) return response.dict() else: if isinstance(data["docs"], dict): @@ -643,7 +644,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_doc_api import delete_docs - response = run_async(delete_docs(**data)) + response = delete_docs(**data) return response.dict() else: response = self.post( @@ -676,7 +677,7 @@ class ApiRequest: } if no_remote_api: from server.knowledge_base.kb_doc_api import update_docs - response = run_async(update_docs(**data)) + response = update_docs(**data) return response.dict() else: if isinstance(data["docs"], dict): @@ -710,7 +711,7 @@ class ApiRequest: if no_remote_api: from server.knowledge_base.kb_doc_api import recreate_vector_store - response = run_async(recreate_vector_store(**data)) + response = recreate_vector_store(**data) return self._fastapi_stream2generator(response, as_json=True) else: response = self.post( @@ -721,14 +722,30 @@ class ApiRequest: ) return self._httpx_stream2generator(response, as_json=True) - def list_running_models(self, controller_address: str = None): + # LLM模型相关操作 + def list_running_models( + self, + controller_address: str = None, + no_remote_api: bool = None, + ): ''' 获取Fastchat中正运行的模型列表 ''' - r = self.post( - "/llm_model/list_models", - ) - return r.json().get("data", []) + if no_remote_api is None: + no_remote_api = self.no_remote_api + + data = { + "controller_address": controller_address, + } + if no_remote_api: + from server.llm_api import list_llm_models + return list_llm_models(**data).data + else: + r = self.post( + "/llm_model/list_models", + json=data, + ) + return r.json().get("data", []) def list_config_models(self): ''' @@ -740,30 +757,43 @@ class ApiRequest: self, model_name: str, controller_address: str = None, + no_remote_api: bool = None, ): ''' 停止某个LLM模型。 注意:由于Fastchat的实现方式,实际上是把LLM模型所在的model_worker停掉。 ''' + if no_remote_api is None: + no_remote_api = self.no_remote_api + data = { "model_name": model_name, "controller_address": controller_address, } - r = self.post( - "/llm_model/stop", - json=data, - ) - return r.json() + + if no_remote_api: + from server.llm_api import stop_llm_model + return stop_llm_model(**data).dict() + else: + r = self.post( + "/llm_model/stop", + json=data, + ) + return r.json() def change_llm_model( self, model_name: str, new_model_name: str, controller_address: str = None, + no_remote_api: bool = None, ): ''' 向fastchat controller请求切换LLM模型。 ''' + if no_remote_api is None: + no_remote_api = self.no_remote_api + if not model_name or not new_model_name: return @@ -792,12 +822,17 @@ class ApiRequest: "new_model_name": new_model_name, "controller_address": controller_address, } - r = self.post( - "/llm_model/change", - json=data, - timeout=HTTPX_DEFAULT_TIMEOUT, # wait for new worker_model - ) - return r.json() + + if no_remote_api: + from server.llm_api import change_llm_model + return change_llm_model(**data).dict() + else: + r = self.post( + "/llm_model/change", + json=data, + timeout=HTTPX_DEFAULT_TIMEOUT, # wait for new worker_model + ) + return r.json() def check_error_msg(data: Union[str, dict, list], key: str = "errorMsg") -> str: From 6a03611750d13fa0fec65b2eeae63c09f4ce2cdc Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Tue, 12 Sep 2023 08:31:17 +0800 Subject: [PATCH 30/60] fix api and webui: (#1435) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. fix #1431: 优化知识库问答与搜索引擎问答的API接口,避免docs重复返回 2. startup.py根据configs.log_verbose控制log级别 3. 修复/llm_model/list_models的bug: 只有一个参数时,fastapi未返回json导致视图函数出错 --- server/chat/knowledge_base_chat.py | 5 ++--- server/chat/search_engine_chat.py | 5 ++--- server/knowledge_base/kb_service/base.py | 1 - server/llm_api.py | 3 ++- startup.py | 4 ++-- webui_pages/dialogue/dialogue.py | 19 +++++++++---------- 6 files changed, 17 insertions(+), 20 deletions(-) diff --git a/server/chat/knowledge_base_chat.py b/server/chat/knowledge_base_chat.py index 9aa0d5da..8234396d 100644 --- a/server/chat/knowledge_base_chat.py +++ b/server/chat/knowledge_base_chat.py @@ -86,9 +86,8 @@ async def knowledge_base_chat(query: str = Body(..., description="用户输入", if stream: async for token in callback.aiter(): # Use server-sent-events to stream the response - yield json.dumps({"answer": token, - "docs": source_documents}, - ensure_ascii=False) + yield json.dumps({"answer": token}, ensure_ascii=False) + yield json.dumps({"docs": source_documents}, ensure_ascii=False) else: answer = "" async for token in callback.aiter(): diff --git a/server/chat/search_engine_chat.py b/server/chat/search_engine_chat.py index a77106f1..f5e6370a 100644 --- a/server/chat/search_engine_chat.py +++ b/server/chat/search_engine_chat.py @@ -121,9 +121,8 @@ async def search_engine_chat(query: str = Body(..., description="用户输入", if stream: async for token in callback.aiter(): # Use server-sent-events to stream the response - yield json.dumps({"answer": token, - "docs": source_documents}, - ensure_ascii=False) + yield json.dumps({"answer": token}, ensure_ascii=False) + yield json.dumps({"docs": source_documents}, ensure_ascii=False) else: answer = "" async for token in callback.aiter(): diff --git a/server/knowledge_base/kb_service/base.py b/server/knowledge_base/kb_service/base.py index d0860f7b..ce14d3c6 100644 --- a/server/knowledge_base/kb_service/base.py +++ b/server/knowledge_base/kb_service/base.py @@ -25,7 +25,6 @@ from server.knowledge_base.utils import ( list_kbs_from_folder, list_files_from_folder, ) from server.utils import embedding_device -from typing import List, Union, Dict from typing import List, Union, Dict, Optional diff --git a/server/llm_api.py b/server/llm_api.py index 72e6b8d7..5843e89a 100644 --- a/server/llm_api.py +++ b/server/llm_api.py @@ -5,7 +5,8 @@ import httpx def list_llm_models( - controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]) + controller_address: str = Body(None, description="Fastchat controller服务器地址", examples=[fschat_controller_address()]), + placeholder: str = Body(None, description="该参数未使用,占位用"), ) -> BaseResponse: ''' 从fastchat controller获取已加载模型列表 diff --git a/startup.py b/startup.py index cdf3397c..ad7cc4ab 100644 --- a/startup.py +++ b/startup.py @@ -18,7 +18,7 @@ except: sys.path.append(os.path.dirname(os.path.dirname(__file__))) from configs.model_config import EMBEDDING_MODEL, llm_model_dict, LLM_MODEL, LOG_PATH, \ - logger + logger, log_verbose from configs.server_config import (WEBUI_SERVER, API_SERVER, FSCHAT_CONTROLLER, FSCHAT_OPENAI_API, HTTPX_DEFAULT_TIMEOUT) from server.utils import (fschat_controller_address, fschat_model_worker_address, @@ -536,7 +536,7 @@ async def start_main_server(): def process_count(): return len(processes) + len(processes["online_api"]) + len(processes["model_worker"]) - 2 - if args.quiet: + if args.quiet or not log_verbose: log_level = "ERROR" else: log_level = "INFO" diff --git a/webui_pages/dialogue/dialogue.py b/webui_pages/dialogue/dialogue.py index 947be745..7d81d145 100644 --- a/webui_pages/dialogue/dialogue.py +++ b/webui_pages/dialogue/dialogue.py @@ -80,10 +80,8 @@ def dialogue_page(api: ApiRequest): if x in config_models: config_models.remove(x) llm_models = running_models + config_models - if "prev_llm_model" not in st.session_state: - index = llm_models.index(LLM_MODEL) - else: - index = 0 + cur_model = st.session_state.get("prev_llm_model", LLM_MODEL) + index = llm_models.index(cur_model) llm_model = st.selectbox("选择LLM模型:", llm_models, index, @@ -155,10 +153,11 @@ def dialogue_page(api: ApiRequest): for d in api.knowledge_base_chat(prompt, selected_kb, kb_top_k, score_threshold, history, model=llm_model): if error_msg := check_error_msg(d): # check whether error occured st.error(error_msg) - text += d["answer"] - chat_box.update_msg(text, 0) - chat_box.update_msg("\n\n".join(d["docs"]), 1, streaming=False) + elif chunk := d.get("answer"): + text += chunk + chat_box.update_msg(text, 0) chat_box.update_msg(text, 0, streaming=False) + chat_box.update_msg("\n\n".join(d.get("docs", [])), 1, streaming=False) elif dialogue_mode == "搜索引擎问答": chat_box.ai_say([ f"正在执行 `{search_engine}` 搜索...", @@ -168,11 +167,11 @@ def dialogue_page(api: ApiRequest): for d in api.search_engine_chat(prompt, search_engine, se_top_k, model=llm_model): if error_msg := check_error_msg(d): # check whether error occured st.error(error_msg) - else: - text += d["answer"] + elif chunk := d.get("answer"): + text += chunk chat_box.update_msg(text, 0) - chat_box.update_msg("\n\n".join(d["docs"]), 1, streaming=False) chat_box.update_msg(text, 0, streaming=False) + chat_box.update_msg("\n\n".join(d.get("docs", [])), 1, streaming=False) now = datetime.now() with st.sidebar: From 60f88ae92e5e0e42ece87e16e7a34c837cdf5224 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Tue, 12 Sep 2023 08:52:00 +0800 Subject: [PATCH 31/60] =?UTF-8?q?fix:=20=E7=94=B1=E4=BA=8Eserver.utils?= =?UTF-8?q?=E5=AF=BC=E5=85=A5model=5Fworkers=E6=97=B6=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E5=85=A5fastchat=20model=5Fworker=EF=BC=8C=E5=AF=BC=E8=87=B4st?= =?UTF-8?q?artup=E5=90=AF=E5=8A=A8=E5=BB=B6=E8=BF=9F=E6=98=8E=E6=98=BE=20(?= =?UTF-8?q?#1436)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/utils.py b/server/utils.py index 01843091..48e74353 100644 --- a/server/utils.py +++ b/server/utils.py @@ -7,7 +7,6 @@ import asyncio from configs.model_config import LLM_MODEL, llm_model_dict, LLM_DEVICE, EMBEDDING_DEVICE, logger, log_verbose from configs.server_config import FSCHAT_MODEL_WORKERS import os -from server import model_workers from concurrent.futures import ThreadPoolExecutor, as_completed from typing import Literal, Optional, Callable, Generator, Dict, Any @@ -205,6 +204,7 @@ def get_model_worker_config(model_name: str = LLM_MODEL) -> dict: 优先级:FSCHAT_MODEL_WORKERS[model_name] > llm_model_dict[model_name] > FSCHAT_MODEL_WORKERS["default"] ''' from configs.server_config import FSCHAT_MODEL_WORKERS + from server import model_workers from configs.model_config import llm_model_dict config = FSCHAT_MODEL_WORKERS.get("default", {}).copy() From 03c021d50f55c4121d9ebf70316772c6c21ef9f4 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Tue, 12 Sep 2023 15:24:47 +0800 Subject: [PATCH 32/60] =?UTF-8?q?=E6=B7=BB=E5=8A=A0MiniMax=E5=9C=A8?= =?UTF-8?q?=E7=BA=BFAPI=E6=94=AF=E6=8C=81=20(#1445)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 8 +++ configs/server_config.py.example | 3 + server/model_workers/__init__.py | 1 + server/model_workers/base.py | 5 ++ server/model_workers/minimax.py | 108 +++++++++++++++++++++++++++++++ server/model_workers/zhipu.py | 7 +- 6 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 server/model_workers/minimax.py diff --git a/configs/model_config.py.example b/configs/model_config.py.example index f67fbd4b..d5b624b4 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -88,6 +88,14 @@ llm_model_dict = { "provider": "ChatGLMWorker", "version": "chatglm_pro", # 可选包括 "chatglm_lite", "chatglm_std", "chatglm_pro" }, +"minimax-api": { + "api_base_url": "http://127.0.0.1:8888/v1", + "group_id": "", + "api_key": "", + "is_pro": False, + "provider": "MiniMaxWorker", + }, + } # LLM 名称 diff --git a/configs/server_config.py.example b/configs/server_config.py.example index ad731e37..2157071f 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -66,6 +66,9 @@ FSCHAT_MODEL_WORKERS = { "chatglm-api": { # 请为每个在线API设置不同的端口 "port": 20003, }, + "minimax-api": { # 请为每个在线API设置不同的端口 + "port": 20004, + }, } # fastchat multi model worker server diff --git a/server/model_workers/__init__.py b/server/model_workers/__init__.py index 932c2f3b..4ec62ddb 100644 --- a/server/model_workers/__init__.py +++ b/server/model_workers/__init__.py @@ -1 +1,2 @@ from .zhipu import ChatGLMWorker +from .minimax import MiniMaxWorker diff --git a/server/model_workers/base.py b/server/model_workers/base.py index b72f6839..090cf722 100644 --- a/server/model_workers/base.py +++ b/server/model_workers/base.py @@ -69,3 +69,8 @@ class ApiModelWorker(BaseModelWorker): target=fastchat.serve.model_worker.heart_beat_worker, args=(self,), daemon=True, ) self.heart_beat_thread.start() + + # help methods + def get_config(self): + from server.utils import get_model_worker_config + return get_model_worker_config(self.model_names[0]) diff --git a/server/model_workers/minimax.py b/server/model_workers/minimax.py new file mode 100644 index 00000000..a182ae34 --- /dev/null +++ b/server/model_workers/minimax.py @@ -0,0 +1,108 @@ +from server.model_workers.base import ApiModelWorker +from fastchat import conversation as conv +import sys +import json +import httpx +from pprint import pprint +from typing import List, Dict + + +class MiniMaxWorker(ApiModelWorker): + BASE_URL = 'https://api.minimax.chat/v1/text/chatcompletion{pro}?GroupId={group_id}' + + def __init__( + self, + *, + model_names: List[str] = ["minimax-api"], + controller_addr: str, + worker_addr: str, + **kwargs, + ): + kwargs.update(model_names=model_names, controller_addr=controller_addr, worker_addr=worker_addr) + kwargs.setdefault("context_len", 16384) + super().__init__(**kwargs) + + # TODO: 确认模板是否需要修改 + self.conv = conv.Conversation( + name=self.model_names[0], + system_message="", + messages=[], + roles=["USER", "BOT"], + sep="\n### ", + stop_str="###", + ) + + def prompt_to_messages(self, prompt: str) -> List[Dict]: + result = [] + user_start = self.conv.roles[0] + ":" + bot_start = self.conv.roles[1] + ":" + for msg in prompt.split(self.conv.sep)[1:-1]: + if msg.startswith(user_start): + result.append({"sender_type": "USER", "text": msg[len(user_start):].strip()}) + elif msg.startswith(bot_start): + result.append({"sender_type": "BOT", "text": msg[len(bot_start)].strip()}) + else: + raise RuntimeError(f"unknow role in msg: {msg}") + return result + + def generate_stream_gate(self, params): + # 按照官网推荐,直接调用abab 5.5模型 + # TODO: 支持历史消息,支持指定回复要求,支持指定用户名称、AI名称 + + super().generate_stream_gate(params) + config = self.get_config() + group_id = config.get("group_id") + api_key = config.get("api_key") + + pro = "_pro" if config.get("is_pro") else "" + headers = { + "Authorization": f"Bearer {api_key}", + "Content-Type": "application/json", + } + data = { + "model": "abab5.5-chat", + "stream": True, + "tokens_to_generate": 1024, # TODO: 1024为官网默认值 + "mask_sensitive_info": True, + "messages": self.prompt_to_messages(params["prompt"]), + "temperature": params.get("temperature"), + "top_p": params.get("top_p"), + "bot_setting": [], + } + print("request data sent to minimax:") + pprint(data) + response = httpx.stream("POST", + self.BASE_URL.format(pro=pro, group_id=group_id), + headers=headers, + json=data) + with response as r: + text = "" + for e in r.iter_text(): + if e.startswith("data: "): # 真是优秀的返回 + data = json.loads(e[6:]) + if not data.get("usage"): + if choices := data.get("choices"): + chunk = choices[0].get("delta", "").strip() + if chunk: + print(chunk) + text += chunk + yield json.dumps({"error_code": 0, "text": text}, ensure_ascii=False).encode() + b"\0" + + def get_embeddings(self, params): + # TODO: 支持embeddings + print("embedding") + print(params) + + +if __name__ == "__main__": + import uvicorn + from server.utils import MakeFastAPIOffline + from fastchat.serve.model_worker import app + + worker = MiniMaxWorker( + controller_addr="http://127.0.0.1:20001", + worker_addr="http://127.0.0.1:20004", + ) + sys.modules["fastchat.serve.model_worker"].worker = worker + MakeFastAPIOffline(app) + uvicorn.run(app, port=20003) diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index 82eab5da..63fd3b48 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -25,7 +25,7 @@ class ChatGLMWorker(ApiModelWorker): # 这里的是chatglm api的模板,其它API的conv_template需要定制 self.conv = conv.Conversation( - name="chatglm-api", + name=self.model_names[0], system_message="你是一个聪明、对人类有帮助的人工智能,你可以对人类提出的问题给出有用、详细、礼貌的回答。", messages=[], roles=["Human", "Assistant"], @@ -34,12 +34,11 @@ class ChatGLMWorker(ApiModelWorker): ) def generate_stream_gate(self, params): - # TODO: 支持stream参数,维护request_id,传过来的prompt也有问题 - from server.utils import get_model_worker_config + # TODO: 维护request_id import zhipuai super().generate_stream_gate(params) - zhipuai.api_key = get_model_worker_config("chatglm-api").get("api_key") + zhipuai.api_key = self.get_config().get("api_key") response = zhipuai.model_api.sse_invoke( model=self.version, From 4aa14b859ea185ecf66f2116e5fa1cd0fe75753e Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Tue, 12 Sep 2023 17:38:52 +0800 Subject: [PATCH 33/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20ChineseRecursiveText?= =?UTF-8?q?Splitter=20(#1447)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add RapidOCRPDFLoader * update mypdfloader.py and requirements.txt * add myimgloader.py * add test samples * add TODO to mypdfloader * add loaders to KnowledgeFile class * add loaders to KnowledgeFile class * add ChineseRecursiveTextSplitter * add ChineseRecursiveTextSplitter --- text_splitter/__init__.py | 1 + .../chinese_recursive_text_splitter.py | 104 ++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 text_splitter/chinese_recursive_text_splitter.py diff --git a/text_splitter/__init__.py b/text_splitter/__init__.py index 8f13f168..dc064120 100644 --- a/text_splitter/__init__.py +++ b/text_splitter/__init__.py @@ -1,3 +1,4 @@ from .chinese_text_splitter import ChineseTextSplitter from .ali_text_splitter import AliTextSplitter from .zh_title_enhance import zh_title_enhance +from .chinese_recursive_text_splitter import ChineseRecursiveTextSplitter \ No newline at end of file diff --git a/text_splitter/chinese_recursive_text_splitter.py b/text_splitter/chinese_recursive_text_splitter.py new file mode 100644 index 00000000..05b57b14 --- /dev/null +++ b/text_splitter/chinese_recursive_text_splitter.py @@ -0,0 +1,104 @@ +import re +from typing import List, Optional, Any +from langchain.text_splitter import RecursiveCharacterTextSplitter +import logging + +logger = logging.getLogger(__name__) + + +def _split_text_with_regex_from_end( + text: str, separator: str, keep_separator: bool +) -> List[str]: + # Now that we have the separator, split the text + if separator: + if keep_separator: + # The parentheses in the pattern keep the delimiters in the result. + _splits = re.split(f"({separator})", text) + splits = ["".join(i) for i in zip(_splits[0::2], _splits[1::2])] + if len(_splits) % 2 == 1: + splits += _splits[-1:] + # splits = [_splits[0]] + splits + else: + splits = re.split(separator, text) + else: + splits = list(text) + return [s for s in splits if s != ""] + + +class ChineseRecursiveTextSplitter(RecursiveCharacterTextSplitter): + def __init__( + self, + separators: Optional[List[str]] = None, + keep_separator: bool = True, + is_separator_regex: bool = True, + **kwargs: Any, + ) -> None: + """Create a new TextSplitter.""" + super().__init__(keep_separator=keep_separator, **kwargs) + self._separators = separators or [ + "\n\n", + "\n", + "。|!|?", + "\.\s|\!\s|\?\s", + ";|;\s", + ",|,\s" + ] + self._is_separator_regex = is_separator_regex + + def _split_text(self, text: str, separators: List[str]) -> List[str]: + """Split incoming text and return chunks.""" + final_chunks = [] + # Get appropriate separator to use + separator = separators[-1] + new_separators = [] + for i, _s in enumerate(separators): + _separator = _s if self._is_separator_regex else re.escape(_s) + if _s == "": + separator = _s + break + if re.search(_separator, text): + separator = _s + new_separators = separators[i + 1:] + break + + _separator = separator if self._is_separator_regex else re.escape(separator) + splits = _split_text_with_regex_from_end(text, _separator, self._keep_separator) + + # Now go merging things, recursively splitting longer texts. + _good_splits = [] + _separator = "" if self._keep_separator else separator + for s in splits: + if self._length_function(s) < self._chunk_size: + _good_splits.append(s) + else: + if _good_splits: + merged_text = self._merge_splits(_good_splits, _separator) + final_chunks.extend(merged_text) + _good_splits = [] + if not new_separators: + final_chunks.append(s) + else: + other_info = self._split_text(s, new_separators) + final_chunks.extend(other_info) + if _good_splits: + merged_text = self._merge_splits(_good_splits, _separator) + final_chunks.extend(merged_text) + return final_chunks + + +if __name__ == "__main__": + text_splitter = ChineseRecursiveTextSplitter( + keep_separator=True, + is_separator_regex=True, + chunk_size=50, + chunk_overlap=0 + ) + ls = [ + """中国对外贸易形势报告(75页)。前 10 个月,一般贸易进出口 19.5 万亿元,增长 25.1%, 比整体进出口增速高出 2.9 个百分点,占进出口总额的 61.7%,较去年同期提升 1.6 个百分点。其中,一般贸易出口 10.6 万亿元,增长 25.3%,占出口总额的 60.9%,提升 1.5 个百分点;进口8.9万亿元,增长24.9%,占进口总额的62.7%, 提升 1.8 个百分点。加工贸易进出口 6.8 万亿元,增长 11.8%, 占进出口总额的 21.5%,减少 2.0 个百分点。其中,出口增 长 10.4%,占出口总额的 24.3%,减少 2.6 个百分点;进口增 长 14.2%,占进口总额的 18.0%,减少 1.2 个百分点。此外, 以保税物流方式进出口 3.96 万亿元,增长 27.9%。其中,出 口 1.47 万亿元,增长 38.9%;进口 2.49 万亿元,增长 22.2%。前三季度,中国服务贸易继续保持快速增长态势。服务 进出口总额 37834.3 亿元,增长 11.6%;其中服务出口 17820.9 亿元,增长 27.3%;进口 20013.4 亿元,增长 0.5%,进口增 速实现了疫情以来的首次转正。服务出口增幅大于进口 26.8 个百分点,带动服务贸易逆差下降 62.9%至 2192.5 亿元。服 务贸易结构持续优化,知识密集型服务进出口 16917.7 亿元, 增长 13.3%,占服务进出口总额的比重达到 44.7%,提升 0.7 个百分点。 二、中国对外贸易发展环境分析和展望 全球疫情起伏反复,经济复苏分化加剧,大宗商品价格 上涨、能源紧缺、运力紧张及发达经济体政策调整外溢等风 险交织叠加。同时也要看到,我国经济长期向好的趋势没有 改变,外贸企业韧性和活力不断增强,新业态新模式加快发 展,创新转型步伐提速。产业链供应链面临挑战。美欧等加快出台制造业回迁计 划,加速产业链供应链本土布局,跨国公司调整产业链供应 链,全球双链面临新一轮重构,区域化、近岸化、本土化、 短链化趋势凸显。疫苗供应不足,制造业“缺芯”、物流受限、 运价高企,全球产业链供应链面临压力。 全球通胀持续高位运行。能源价格上涨加大主要经济体 的通胀压力,增加全球经济复苏的不确定性。世界银行今年 10 月发布《大宗商品市场展望》指出,能源价格在 2021 年 大涨逾 80%,并且仍将在 2022 年小幅上涨。IMF 指出,全 球通胀上行风险加剧,通胀前景存在巨大不确定性。""", + ] + # text = """""" + for inum, text in enumerate(ls): + print(inum) + chunks = text_splitter.split_text(text) + for chunk in chunks: + print(chunk) From efd6d4a251eb37ab92fa154fe0d0d464f67f382b Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Tue, 12 Sep 2023 22:34:03 +0800 Subject: [PATCH 34/60] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmilvus=5Fkb=5Fservice?= =?UTF-8?q?=E4=B8=AD=E4=B8=80=E4=BA=9Bbug=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=90=8E=E5=B0=86=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93=20(#1452)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/knowledge_base/kb_service/base.py | 5 ++--- .../kb_service/milvus_kb_service.py | 13 ++++++++++++- server/knowledge_base/kb_service/pg_kb_service.py | 2 ++ server/knowledge_base/migrate.py | 15 ++++----------- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/server/knowledge_base/kb_service/base.py b/server/knowledge_base/kb_service/base.py index ce14d3c6..c97f8cce 100644 --- a/server/knowledge_base/kb_service/base.py +++ b/server/knowledge_base/kb_service/base.py @@ -50,10 +50,9 @@ class KBService(ABC): def _load_embeddings(self, embed_device: str = embedding_device()) -> Embeddings: return load_embeddings(self.embed_model, embed_device) - def save_vector_store(self, vector_store=None): + def save_vector_store(self): ''' - 保存向量库,仅支持FAISS。对于其它向量库该函数不做任何操作。 - 减少FAISS向量库操作时的类型判断。 + 保存向量库:FAISS保存到磁盘,milvus保存到数据库。PGVector暂未支持 ''' pass diff --git a/server/knowledge_base/kb_service/milvus_kb_service.py b/server/knowledge_base/kb_service/milvus_kb_service.py index 444765f6..f45a8d9d 100644 --- a/server/knowledge_base/kb_service/milvus_kb_service.py +++ b/server/knowledge_base/kb_service/milvus_kb_service.py @@ -22,6 +22,10 @@ class MilvusKBService(KBService): from pymilvus import Collection return Collection(milvus_name) + def save_vector_store(self): + if self.milvus.col: + self.milvus.col.flush() + def get_doc_by_id(self, id: str) -> Optional[Document]: if self.milvus.col: data_list = self.milvus.col.query(expr=f'pk == {id}', output_fields=["*"]) @@ -56,6 +60,7 @@ class MilvusKBService(KBService): def do_drop_kb(self): if self.milvus.col: + self.milvus.col.release() self.milvus.col.drop() def do_search(self, query: str, top_k: int, score_threshold: float, embeddings: Embeddings): @@ -63,6 +68,11 @@ class MilvusKBService(KBService): return score_threshold_process(score_threshold, top_k, self.milvus.similarity_search_with_score(query, top_k)) def do_add_doc(self, docs: List[Document], **kwargs) -> List[Dict]: + # TODO: workaround for bug #10492 in langchain==0.0.286 + for doc in docs: + for field in self.milvus.fields: + doc.metadata.setdefault(field, "") + ids = self.milvus.add_documents(docs) doc_infos = [{"id": id, "metadata": doc.metadata} for id, doc in zip(ids, docs)] return doc_infos @@ -76,7 +86,8 @@ class MilvusKBService(KBService): def do_clear_vs(self): if self.milvus.col: - self.milvus.col.drop() + self.do_drop_kb() + self.do_init() if __name__ == '__main__': diff --git a/server/knowledge_base/kb_service/pg_kb_service.py b/server/knowledge_base/kb_service/pg_kb_service.py index e6381fac..fa832ab5 100644 --- a/server/knowledge_base/kb_service/pg_kb_service.py +++ b/server/knowledge_base/kb_service/pg_kb_service.py @@ -26,6 +26,7 @@ class PGKBService(KBService): collection_name=self.kb_name, distance_strategy=DistanceStrategy.EUCLIDEAN, connection_string=kbs_config.get("pg").get("connection_uri")) + def get_doc_by_id(self, id: str) -> Optional[Document]: with self.pg_vector.connect() as connect: stmt = text("SELECT document, cmetadata FROM langchain_pg_embedding WHERE collection_id=:id") @@ -77,6 +78,7 @@ class PGKBService(KBService): def do_clear_vs(self): self.pg_vector.delete_collection() + self.pg_vector.create_collection() if __name__ == '__main__': diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index 118ae377..893c37db 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -68,9 +68,7 @@ def folder2db( kb.add_doc(kb_file=kb_file, docs=docs, not_refresh_vs_cache=True) else: print(result) - - if kb.vs_type() == SupportedVSType.FAISS: - kb.save_vector_store() + kb.save_vector_store() elif mode == "fill_info_only": files = list_files_from_folder(kb_name) kb_files = file_to_kbfile(kb_name, files) @@ -84,9 +82,7 @@ def folder2db( for kb_file in kb_files: kb.update_doc(kb_file, not_refresh_vs_cache=True) - - if kb.vs_type() == SupportedVSType.FAISS: - kb.save_vector_store() + kb.save_vector_store() elif mode == "increament": db_files = kb.list_files() folder_files = list_files_from_folder(kb_name) @@ -101,9 +97,7 @@ def folder2db( kb.add_doc(kb_file=kb_file, docs=docs, not_refresh_vs_cache=True) else: print(result) - - if kb.vs_type() == SupportedVSType.FAISS: - kb.save_vector_store() + kb.save_vector_store() else: print(f"unspported migrate mode: {mode}") @@ -133,8 +127,7 @@ def prune_db_files(kb_name: str): kb_files = file_to_kbfile(kb_name, files) for kb_file in kb_files: kb.delete_doc(kb_file, not_refresh_vs_cache=True) - if kb.vs_type() == SupportedVSType.FAISS: - kb.save_vector_store() + kb.save_vector_store() return kb_files def prune_folder_files(kb_name: str): From a03b8d330d09942161d8f80a6f18ee772520f3a2 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Wed, 13 Sep 2023 08:43:11 +0800 Subject: [PATCH 35/60] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0langchain=3D?= =?UTF-8?q?=3D0.0.287,fschat=3D=3D0.0.28;=E5=A4=84=E7=90=86langchain.Milvu?= =?UTF-8?q?s=20bug(#10492)=20(#1454)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复milvus_kb_service中一些bug,添加文档后将数据同步到数据库 * 升级到langchain==0.0.287,fschat==0.0.28;处理langchain.Milvus bug(#10492) * 修复切换模型BUG: 从在线API切换模型时出错 --- configs/server_config.py.example | 1 + requirements.txt | 4 +- requirements_api.txt | 4 +- .../kb_service/milvus_kb_service.py | 6 ++- server/knowledge_base/utils.py | 38 ++++++------------- startup.py | 2 + tests/api/test_kb_api_request.py | 2 +- tests/api/test_llm_api.py | 5 ++- webui_pages/dialogue/dialogue.py | 4 +- 9 files changed, 30 insertions(+), 36 deletions(-) diff --git a/configs/server_config.py.example b/configs/server_config.py.example index 2157071f..0fdd4924 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -59,6 +59,7 @@ FSCHAT_MODEL_WORKERS = { # "limit_worker_concurrency": 5, # "stream_interval": 2, # "no_register": False, + # "embed_in_truncate": False, }, "baichuan-7b": { # 使用default中的IP和端口 "device": "cpu", diff --git a/requirements.txt b/requirements.txt index 78972322..8badee08 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -langchain==0.0.266 +langchain==0.0.287 +fschat[model_worker]==0.2.28 openai zhipuai sentence_transformers -fschat==0.2.24 transformers>=4.31.0 torch~=2.0.0 fastapi~=0.99.1 diff --git a/requirements_api.txt b/requirements_api.txt index bdecf3c7..fa4cf1e0 100644 --- a/requirements_api.txt +++ b/requirements_api.txt @@ -1,7 +1,7 @@ -langchain==0.0.266 +langchain==0.0.287 +fschat[model_worker]==0.2.28 openai sentence_transformers -fschat==0.2.24 transformers>=4.31.0 torch~=2.0.0 fastapi~=0.99.1 diff --git a/server/knowledge_base/kb_service/milvus_kb_service.py b/server/knowledge_base/kb_service/milvus_kb_service.py index f45a8d9d..5ca425b5 100644 --- a/server/knowledge_base/kb_service/milvus_kb_service.py +++ b/server/knowledge_base/kb_service/milvus_kb_service.py @@ -68,10 +68,14 @@ class MilvusKBService(KBService): return score_threshold_process(score_threshold, top_k, self.milvus.similarity_search_with_score(query, top_k)) def do_add_doc(self, docs: List[Document], **kwargs) -> List[Dict]: - # TODO: workaround for bug #10492 in langchain==0.0.286 + # TODO: workaround for bug #10492 in langchain for doc in docs: + for k, v in doc.metadata.items(): + doc.metadata[k] = str(v) for field in self.milvus.fields: doc.metadata.setdefault(field, "") + doc.metadata.pop(self.milvus._text_field, None) + doc.metadata.pop(self.milvus._vector_field, None) ids = self.milvus.add_documents(docs) doc_infos = [{"id": id, "metadata": doc.metadata} for id, doc in zip(ids, docs)] diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index 906da4dd..f822035a 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -82,16 +82,16 @@ SUPPORTED_EXTS = [ext for sublist in LOADER_DICT.values() for ext in sublist] class CustomJSONLoader(langchain.document_loaders.JSONLoader): ''' - langchain的JSONLoader需要jq,在win上使用不便,进行替代。 + langchain的JSONLoader需要jq,在win上使用不便,进行替代。针对langchain==0.0.286 ''' def __init__( - self, - file_path: Union[str, Path], - content_key: Optional[str] = None, - metadata_func: Optional[Callable[[Dict, Dict], Dict]] = None, - text_content: bool = True, - json_lines: bool = False, + self, + file_path: Union[str, Path], + content_key: Optional[str] = None, + metadata_func: Optional[Callable[[Dict, Dict], Dict]] = None, + text_content: bool = True, + json_lines: bool = False, ): """Initialize the JSONLoader. @@ -113,21 +113,6 @@ class CustomJSONLoader(langchain.document_loaders.JSONLoader): self._text_content = text_content self._json_lines = json_lines - # TODO: langchain's JSONLoader.load has a encoding bug, raise gbk encoding error on windows. - # This is a workaround for langchain==0.0.266. I have make a pr(#9785) to langchain, it should be deleted after langchain upgraded. - def load(self) -> List[Document]: - """Load and return documents from the JSON file.""" - docs: List[Document] = [] - if self._json_lines: - with self.file_path.open(encoding="utf-8") as f: - for line in f: - line = line.strip() - if line: - self._parse(line, docs) - else: - self._parse(self.file_path.read_text(encoding="utf-8"), docs) - return docs - def _parse(self, content: str, docs: List[Document]) -> None: """Convert given content to documents.""" data = json.loads(content) @@ -137,13 +122,14 @@ class CustomJSONLoader(langchain.document_loaders.JSONLoader): # and prevent the user from getting a cryptic error later on. if self._content_key is not None: self._validate_content_key(data) + if self._metadata_func is not None: + self._validate_metadata_func(data) for i, sample in enumerate(data, len(docs) + 1): - metadata = dict( - source=str(self.file_path), - seq_num=i, + text = self._get_text(sample=sample) + metadata = self._get_metadata( + sample=sample, source=str(self.file_path), seq_num=i ) - text = self._get_text(sample=sample, metadata=metadata) docs.append(Document(page_content=text, metadata=metadata)) diff --git a/startup.py b/startup.py index ad7cc4ab..d0458493 100644 --- a/startup.py +++ b/startup.py @@ -88,6 +88,7 @@ def create_model_worker_app(log_level: str = "INFO", **kwargs) -> FastAPI: args.limit_worker_concurrency = 5 args.stream_interval = 2 args.no_register = False + args.embed_in_truncate = False for k, v in kwargs.items(): setattr(args, k, v) @@ -148,6 +149,7 @@ def create_model_worker_app(log_level: str = "INFO", **kwargs) -> FastAPI: awq_config=awq_config, stream_interval=args.stream_interval, conv_template=args.conv_template, + embed_in_truncate=args.embed_in_truncate, ) sys.modules["fastchat.serve.model_worker"].args = args sys.modules["fastchat.serve.model_worker"].gptq_config = gptq_config diff --git a/tests/api/test_kb_api_request.py b/tests/api/test_kb_api_request.py index 3b067b3f..86455282 100644 --- a/tests/api/test_kb_api_request.py +++ b/tests/api/test_kb_api_request.py @@ -14,7 +14,7 @@ from pprint import pprint api_base_url = api_address() -api: ApiRequest = ApiRequest(api_base_url, no_remote_api=True) +api: ApiRequest = ApiRequest(api_base_url, no_remote_api=False) kb = "kb_for_api_test" diff --git a/tests/api/test_llm_api.py b/tests/api/test_llm_api.py index 2c5d039f..af5ced8f 100644 --- a/tests/api/test_llm_api.py +++ b/tests/api/test_llm_api.py @@ -7,7 +7,7 @@ root_path = Path(__file__).parent.parent.parent sys.path.append(str(root_path)) from configs.server_config import FSCHAT_MODEL_WORKERS from configs.model_config import LLM_MODEL, llm_model_dict -from server.utils import api_address +from server.utils import api_address, get_model_worker_config from pprint import pprint import random @@ -65,7 +65,8 @@ def test_change_model(api="/llm_model/change"): assert len(availabel_new_models) > 0 print(availabel_new_models) - model_name = random.choice(running_models) + local_models = [x for x in running_models if not get_model_worker_config(x).get("online_api")] + model_name = random.choice(local_models) new_model_name = random.choice(availabel_new_models) print(f"\n尝试将模型从 {model_name} 切换到 {new_model_name}") r = requests.post(url, json={"model_name": model_name, "new_model_name": new_model_name}) diff --git a/webui_pages/dialogue/dialogue.py b/webui_pages/dialogue/dialogue.py index 7d81d145..ec31093e 100644 --- a/webui_pages/dialogue/dialogue.py +++ b/webui_pages/dialogue/dialogue.py @@ -80,7 +80,7 @@ def dialogue_page(api: ApiRequest): if x in config_models: config_models.remove(x) llm_models = running_models + config_models - cur_model = st.session_state.get("prev_llm_model", LLM_MODEL) + cur_model = st.session_state.get("cur_llm_model", LLM_MODEL) index = llm_models.index(cur_model) llm_model = st.selectbox("选择LLM模型:", llm_models, @@ -93,7 +93,7 @@ def dialogue_page(api: ApiRequest): and not get_model_worker_config(llm_model).get("online_api")): with st.spinner(f"正在加载模型: {llm_model},请勿进行操作或刷新页面"): r = api.change_llm_model(st.session_state.get("prev_llm_model"), llm_model) - st.session_state["prev_llm_model"] = llm_model + st.session_state["cur_llm_model"] = llm_model history_len = st.number_input("历史对话轮数:", 0, 10, HISTORY_LEN) From 8b040620de6a046c145c53a85e6960376c0ef342 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:00:54 +0800 Subject: [PATCH 36/60] =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=94=AF=E6=8C=81temperature=E5=8F=82=E6=95=B0=20(#1455)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/chat/chat.py | 9 ++++++--- server/chat/knowledge_base_chat.py | 5 ++++- server/chat/search_engine_chat.py | 5 ++++- tests/api/test_stream_chat_api.py | 24 ++++++++++-------------- webui_pages/dialogue/dialogue.py | 21 ++++++++++++++++----- webui_pages/utils.py | 9 ++++++++- 6 files changed, 48 insertions(+), 25 deletions(-) diff --git a/server/chat/chat.py b/server/chat/chat.py index b4fd6bba..c025c3c2 100644 --- a/server/chat/chat.py +++ b/server/chat/chat.py @@ -1,6 +1,6 @@ from fastapi import Body from fastapi.responses import StreamingResponse -from configs.model_config import llm_model_dict, LLM_MODEL +from configs.model_config import llm_model_dict, LLM_MODEL, TEMPERATURE from server.chat.utils import wrap_done from langchain.chat_models import ChatOpenAI from langchain import LLMChain @@ -19,8 +19,10 @@ async def chat(query: str = Body(..., description="用户输入", examples=["恼 {"role": "user", "content": "我们来玩成语接龙,我先来,生龙活虎"}, {"role": "assistant", "content": "虎头虎脑"}]] ), - stream: bool = Body(False, description="流式输出"), - model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), + stream: bool = Body(False, description="流式输出"), + model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), + temperature: float = Body(TEMPERATURE, description="LLM 采样温度", gt=0.0, le=1.0), + # top_p: float = Body(TOP_P, description="LLM 核采样。勿与temperature同时设置", gt=0.0, lt=1.0), ): history = [History.from_data(h) for h in history] @@ -37,6 +39,7 @@ async def chat(query: str = Body(..., description="用户输入", examples=["恼 openai_api_key=llm_model_dict[model_name]["api_key"], openai_api_base=llm_model_dict[model_name]["api_base_url"], model_name=model_name, + temperature=temperature, openai_proxy=llm_model_dict[model_name].get("openai_proxy") ) diff --git a/server/chat/knowledge_base_chat.py b/server/chat/knowledge_base_chat.py index 8234396d..5d1aac80 100644 --- a/server/chat/knowledge_base_chat.py +++ b/server/chat/knowledge_base_chat.py @@ -1,7 +1,8 @@ from fastapi import Body, Request from fastapi.responses import StreamingResponse from configs.model_config import (llm_model_dict, LLM_MODEL, PROMPT_TEMPLATE, - VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD) + VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD, + TEMPERATURE) from server.chat.utils import wrap_done from server.utils import BaseResponse from langchain.chat_models import ChatOpenAI @@ -32,6 +33,7 @@ async def knowledge_base_chat(query: str = Body(..., description="用户输入", ), stream: bool = Body(False, description="流式输出"), model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), + temperature: float = Body(TEMPERATURE, description="LLM 采样温度", gt=0.0, le=1.0), local_doc_url: bool = Body(False, description="知识文件返回本地路径(true)或URL(false)"), request: Request = None, ): @@ -55,6 +57,7 @@ async def knowledge_base_chat(query: str = Body(..., description="用户输入", openai_api_key=llm_model_dict[model_name]["api_key"], openai_api_base=llm_model_dict[model_name]["api_base_url"], model_name=model_name, + temperature=temperature, openai_proxy=llm_model_dict[model_name].get("openai_proxy") ) docs = search_docs(query, knowledge_base_name, top_k, score_threshold) diff --git a/server/chat/search_engine_chat.py b/server/chat/search_engine_chat.py index f5e6370a..f8e4ebe9 100644 --- a/server/chat/search_engine_chat.py +++ b/server/chat/search_engine_chat.py @@ -3,7 +3,8 @@ from configs.model_config import BING_SEARCH_URL, BING_SUBSCRIPTION_KEY from fastapi import Body from fastapi.responses import StreamingResponse from fastapi.concurrency import run_in_threadpool -from configs.model_config import (llm_model_dict, LLM_MODEL, SEARCH_ENGINE_TOP_K, PROMPT_TEMPLATE) +from configs.model_config import (llm_model_dict, LLM_MODEL, SEARCH_ENGINE_TOP_K, + PROMPT_TEMPLATE, TEMPERATURE) from server.chat.utils import wrap_done from server.utils import BaseResponse from langchain.chat_models import ChatOpenAI @@ -72,6 +73,7 @@ async def search_engine_chat(query: str = Body(..., description="用户输入", ), stream: bool = Body(False, description="流式输出"), model_name: str = Body(LLM_MODEL, description="LLM 模型名称。"), + temperature: float = Body(TEMPERATURE, description="LLM 采样温度", gt=0.0, le=1.0), ): if search_engine_name not in SEARCH_ENGINES.keys(): return BaseResponse(code=404, msg=f"未支持搜索引擎 {search_engine_name}") @@ -95,6 +97,7 @@ async def search_engine_chat(query: str = Body(..., description="用户输入", openai_api_key=llm_model_dict[model_name]["api_key"], openai_api_base=llm_model_dict[model_name]["api_base_url"], model_name=model_name, + temperature=temperature, openai_proxy=llm_model_dict[model_name].get("openai_proxy") ) diff --git a/tests/api/test_stream_chat_api.py b/tests/api/test_stream_chat_api.py index 75c995ef..14314853 100644 --- a/tests/api/test_stream_chat_api.py +++ b/tests/api/test_stream_chat_api.py @@ -43,7 +43,8 @@ data = { "content": "你好,我是人工智能大模型" } ], - "stream": True + "stream": True, + "temperature": 0.7, } @@ -88,14 +89,12 @@ def test_knowledge_chat(api="/chat/knowledge_base_chat"): response = requests.post(url, headers=headers, json=data, stream=True) print("\n") print("=" * 30 + api + " output" + "="*30) - first = True for line in response.iter_content(None, decode_unicode=True): data = json.loads(line) - if first: - for doc in data["docs"]: - print(doc) - first = False - print(data["answer"], end="", flush=True) + if "anser" in data: + print(data["answer"], end="", flush=True) + assert "docs" in data and len(data["docs"]) > 0 + pprint(data["docs"]) assert response.status_code == 200 @@ -116,14 +115,11 @@ def test_search_engine_chat(api="/chat/search_engine_chat"): print("\n") print("=" * 30 + api + " by {se} output" + "="*30) - first = True for line in response.iter_content(None, decode_unicode=True): data = json.loads(line) - assert "docs" in data and len(data["docs"]) > 0 - if first: - for doc in data.get("docs", []): - print(doc) - first = False - print(data["answer"], end="", flush=True) + if "answer" in data: + print(data["answer"], end="", flush=True) + assert "docs" in data and len(data["docs"]) > 0 + pprint(data["docs"]) assert response.status_code == 200 diff --git a/webui_pages/dialogue/dialogue.py b/webui_pages/dialogue/dialogue.py index ec31093e..a0b8bb55 100644 --- a/webui_pages/dialogue/dialogue.py +++ b/webui_pages/dialogue/dialogue.py @@ -5,7 +5,7 @@ from streamlit_chatbox import * from datetime import datetime from server.chat.search_engine_chat import SEARCH_ENGINES import os -from configs.model_config import llm_model_dict, LLM_MODEL +from configs.model_config import LLM_MODEL, TEMPERATURE from server.utils import get_model_worker_config from typing import List, Dict @@ -55,7 +55,7 @@ def dialogue_page(api: ApiRequest): st.toast(text) # sac.alert(text, description="descp", type="success", closable=True, banner=True) - dialogue_mode = st.selectbox("请选择对话模式", + dialogue_mode = st.selectbox("请选择对话模式:", ["LLM 对话", "知识库问答", "搜索引擎问答", @@ -95,6 +95,7 @@ def dialogue_page(api: ApiRequest): r = api.change_llm_model(st.session_state.get("prev_llm_model"), llm_model) st.session_state["cur_llm_model"] = llm_model + temperature = st.number_input("Temperature:", 0.0, 1.0, TEMPERATURE, 0.05) history_len = st.number_input("历史对话轮数:", 0, 10, HISTORY_LEN) def on_kb_change(): @@ -135,7 +136,7 @@ def dialogue_page(api: ApiRequest): if dialogue_mode == "LLM 对话": chat_box.ai_say("正在思考...") text = "" - r = api.chat_chat(prompt, history=history, model=llm_model) + r = api.chat_chat(prompt, history=history, model=llm_model, temperature=temperature) for t in r: if error_msg := check_error_msg(t): # check whether error occured st.error(error_msg) @@ -150,7 +151,13 @@ def dialogue_page(api: ApiRequest): Markdown("...", in_expander=True, title="知识库匹配结果"), ]) text = "" - for d in api.knowledge_base_chat(prompt, selected_kb, kb_top_k, score_threshold, history, model=llm_model): + for d in api.knowledge_base_chat(prompt, + knowledge_base_name=selected_kb, + top_k=kb_top_k, + score_threshold=score_threshold, + history=history, + model=llm_model, + temperature=temperature): if error_msg := check_error_msg(d): # check whether error occured st.error(error_msg) elif chunk := d.get("answer"): @@ -164,7 +171,11 @@ def dialogue_page(api: ApiRequest): Markdown("...", in_expander=True, title="网络搜索结果"), ]) text = "" - for d in api.search_engine_chat(prompt, search_engine, se_top_k, model=llm_model): + for d in api.search_engine_chat(prompt, + search_engine_name=search_engine, + top_k=se_top_k, + model=llm_model, + temperature=temperature): if error_msg := check_error_msg(d): # check whether error occured st.error(error_msg) elif chunk := d.get("answer"): diff --git a/webui_pages/utils.py b/webui_pages/utils.py index 3145b6f8..3aed7353 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -8,6 +8,7 @@ from configs.model_config import ( LLM_MODEL, llm_model_dict, HISTORY_LEN, + TEMPERATURE, SCORE_THRESHOLD, VECTOR_SEARCH_TOP_K, SEARCH_ENGINE_TOP_K, @@ -269,7 +270,7 @@ class ApiRequest: messages: List[Dict], stream: bool = True, model: str = LLM_MODEL, - temperature: float = 0.7, + temperature: float = TEMPERATURE, max_tokens: int = 1024, # todo:根据message内容自动计算max_tokens no_remote_api: bool = None, **kwargs: Any, @@ -310,6 +311,7 @@ class ApiRequest: history: List[Dict] = [], stream: bool = True, model: str = LLM_MODEL, + temperature: float = TEMPERATURE, no_remote_api: bool = None, ): ''' @@ -323,6 +325,7 @@ class ApiRequest: "history": history, "stream": stream, "model_name": model, + "temperature": temperature, } print(f"received input message:") @@ -345,6 +348,7 @@ class ApiRequest: history: List[Dict] = [], stream: bool = True, model: str = LLM_MODEL, + temperature: float = TEMPERATURE, no_remote_api: bool = None, ): ''' @@ -361,6 +365,7 @@ class ApiRequest: "history": history, "stream": stream, "model_name": model, + "temperature": temperature, "local_doc_url": no_remote_api, } @@ -386,6 +391,7 @@ class ApiRequest: top_k: int = SEARCH_ENGINE_TOP_K, stream: bool = True, model: str = LLM_MODEL, + temperature: float = TEMPERATURE, no_remote_api: bool = None, ): ''' @@ -400,6 +406,7 @@ class ApiRequest: "top_k": top_k, "stream": stream, "model_name": model, + "temperature": temperature, } print(f"received input message:") From 9defa4332ea48eb98e0033ef78b286d79c5b3bc9 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Wed, 13 Sep 2023 10:12:31 +0800 Subject: [PATCH 37/60] fix minimax api history error --- server/model_workers/minimax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model_workers/minimax.py b/server/model_workers/minimax.py index a182ae34..895c85a8 100644 --- a/server/model_workers/minimax.py +++ b/server/model_workers/minimax.py @@ -40,7 +40,7 @@ class MiniMaxWorker(ApiModelWorker): if msg.startswith(user_start): result.append({"sender_type": "USER", "text": msg[len(user_start):].strip()}) elif msg.startswith(bot_start): - result.append({"sender_type": "BOT", "text": msg[len(bot_start)].strip()}) + result.append({"sender_type": "BOT", "text": msg[len(bot_start):].strip()}) else: raise RuntimeError(f"unknow role in msg: {msg}") return result From 16d8809c9a32b7111016ee08ea48eafd95057552 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Wed, 13 Sep 2023 11:19:47 +0800 Subject: [PATCH 38/60] =?UTF-8?q?api=E5=92=8Cwebui=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E6=93=8D=E4=BD=9C=E6=94=AF=E6=8C=81chunk=5Fsize/overl?= =?UTF-8?q?ap=5Fsize/zh=5Ftitle=5Fenhance=E5=8F=82=E6=95=B0=20(#1459)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 4 +++ server/knowledge_base/kb_doc_api.py | 25 +++++++++++++-- server/knowledge_base/migrate.py | 21 ++++++++----- server/knowledge_base/utils.py | 14 ++++++--- webui_pages/knowledge_base/knowledge_base.py | 32 +++++++++++++++----- webui_pages/utils.py | 21 +++++++++++++ 6 files changed, 95 insertions(+), 22 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index d5b624b4..a552441c 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -104,6 +104,10 @@ LLM_MODEL = "chatglm2-6b" # 历史对话轮数 HISTORY_LEN = 3 +# LLM通用对话参数 +TEMPERATURE = 0.7 +# TOP_P = 0.95 # ChatOpenAI暂不支持该参数 + # LLM 运行设备。设为"auto"会自动检测,也可手动设定为"cuda","mps","cpu"其中之一。 LLM_DEVICE = "auto" diff --git a/server/knowledge_base/kb_doc_api.py b/server/knowledge_base/kb_doc_api.py index 9074415f..02ad222c 100644 --- a/server/knowledge_base/kb_doc_api.py +++ b/server/knowledge_base/kb_doc_api.py @@ -3,6 +3,7 @@ import urllib from fastapi import File, Form, Body, Query, UploadFile from configs.model_config import (DEFAULT_VS_TYPE, EMBEDDING_MODEL, VECTOR_SEARCH_TOP_K, SCORE_THRESHOLD, + CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, logger, log_verbose,) from server.utils import BaseResponse, ListResponse, run_in_thread_pool from server.knowledge_base.utils import (validate_kb_name, list_files_from_folder,get_file_path, @@ -121,6 +122,9 @@ def upload_docs(files: List[UploadFile] = File(..., description="上传文件, knowledge_base_name: str = Form(..., description="知识库名称", examples=["samples"]), override: bool = Form(False, description="覆盖已有文件"), to_vector_store: bool = Form(True, description="上传文件后是否进行向量化"), + chunk_size: int = Body(CHUNK_SIZE, description="知识库中单段文本最大长度"), + chunk_overlap: int = Body(OVERLAP_SIZE, description="知识库中相邻文本重合长度"), + zh_title_enhance: bool = Body(ZH_TITLE_ENHANCE, description="是否开启中文标题加强"), docs: Json = Form({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), not_refresh_vs_cache: bool = Form(False, description="暂不保存向量库(用于FAISS)"), ) -> BaseResponse: @@ -152,6 +156,9 @@ def upload_docs(files: List[UploadFile] = File(..., description="上传文件, knowledge_base_name=knowledge_base_name, file_names=file_names, override_custom_docs=True, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance, docs=docs, not_refresh_vs_cache=True, ) @@ -199,6 +206,9 @@ def delete_docs(knowledge_base_name: str = Body(..., examples=["samples"]), def update_docs( knowledge_base_name: str = Body(..., description="知识库名称", examples=["samples"]), file_names: List[str] = Body(..., description="文件名称,支持多文件", examples=["file_name"]), + chunk_size: int = Body(CHUNK_SIZE, description="知识库中单段文本最大长度"), + chunk_overlap: int = Body(OVERLAP_SIZE, description="知识库中相邻文本重合长度"), + zh_title_enhance: bool = Body(ZH_TITLE_ENHANCE, description="是否开启中文标题加强"), override_custom_docs: bool = Body(False, description="是否覆盖之前自定义的docs"), docs: Json = Body({}, description="自定义的docs", examples=[{"test.txt": [Document(page_content="custom doc")]}]), not_refresh_vs_cache: bool = Body(False, description="暂不保存向量库(用于FAISS)"), @@ -233,7 +243,10 @@ def update_docs( # 从文件生成docs,并进行向量化。 # 这里利用了KnowledgeFile的缓存功能,在多线程中加载Document,然后传给KnowledgeFile - for status, result in files2docs_in_thread(kb_files): + for status, result in files2docs_in_thread(kb_files, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance): if status: kb_name, file_name, new_docs = result kb_file = KnowledgeFile(filename=file_name, @@ -307,7 +320,10 @@ def recreate_vector_store( allow_empty_kb: bool = Body(True), vs_type: str = Body(DEFAULT_VS_TYPE), embed_model: str = Body(EMBEDDING_MODEL), - ): + chunk_size: int = Body(CHUNK_SIZE, description="知识库中单段文本最大长度"), + chunk_overlap: int = Body(OVERLAP_SIZE, description="知识库中相邻文本重合长度"), + zh_title_enhance: bool = Body(ZH_TITLE_ENHANCE, description="是否开启中文标题加强"), +): ''' recreate vector store from the content. this is usefull when user can copy files to content folder directly instead of upload through network. @@ -325,7 +341,10 @@ def recreate_vector_store( files = list_files_from_folder(knowledge_base_name) kb_files = [(file, knowledge_base_name) for file in files] i = 0 - for status, result in files2docs_in_thread(kb_files): + for status, result in files2docs_in_thread(kb_files, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance): if status: kb_name, file_name, docs = result kb_file = KnowledgeFile(filename=file_name, knowledge_base_name=kb_name) diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index 893c37db..896d9b4f 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -1,4 +1,6 @@ -from configs.model_config import EMBEDDING_MODEL, DEFAULT_VS_TYPE, logger, log_verbose +from configs.model_config import (EMBEDDING_MODEL, DEFAULT_VS_TYPE, + CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, + logger, log_verbose) from server.knowledge_base.utils import (get_file_path, list_kbs_from_folder, list_files_from_folder,files2docs_in_thread, KnowledgeFile,) @@ -6,13 +8,9 @@ from server.knowledge_base.kb_service.base import KBServiceFactory, SupportedVST from server.db.repository.knowledge_file_repository import add_file_to_db from server.db.base import Base, engine import os -from concurrent.futures import ThreadPoolExecutor from typing import Literal, Any, List -pool = ThreadPoolExecutor(os.cpu_count()) - - def create_tables(): Base.metadata.create_all(bind=engine) @@ -40,6 +38,9 @@ def folder2db( mode: Literal["recreate_vs", "fill_info_only", "update_in_db", "increament"], vs_type: Literal["faiss", "milvus", "pg", "chromadb"] = DEFAULT_VS_TYPE, embed_model: str = EMBEDDING_MODEL, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + zh_title_enhance: bool = ZH_TITLE_ENHANCE, ): ''' use existed files in local folder to populate database and/or vector store. @@ -60,7 +61,10 @@ def folder2db( print(f"清理后,知识库 {kb_name} 中共有 {files_count} 个文档。") kb_files = file_to_kbfile(kb_name, list_files_from_folder(kb_name)) - for success, result in files2docs_in_thread(kb_files, pool=pool): + for success, result in files2docs_in_thread(kb_files, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance): if success: _, filename, docs = result print(f"正在将 {kb_name}/{filename} 添加到向量库,共包含{len(docs)}条文档") @@ -89,7 +93,10 @@ def folder2db( files = list(set(folder_files) - set(db_files)) kb_files = file_to_kbfile(kb_name, files) - for success, result in files2docs_in_thread(kb_files, pool=pool): + for success, result in files2docs_in_thread(kb_files, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance): if success: _, filename, docs = result print(f"正在将 {kb_name}/{filename} 添加到向量库") diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index f822035a..e8b9103d 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -237,7 +237,7 @@ class KnowledgeFile: def docs2texts( self, docs: List[Document] = None, - using_zh_title_enhance=ZH_TITLE_ENHANCE, + zh_title_enhance: bool = ZH_TITLE_ENHANCE, refresh: bool = False, chunk_size: int = CHUNK_SIZE, chunk_overlap: int = OVERLAP_SIZE, @@ -252,14 +252,14 @@ class KnowledgeFile: docs = text_splitter.split_documents(docs) print(f"文档切分示例:{docs[0]}") - if using_zh_title_enhance: + if zh_title_enhance: docs = zh_title_enhance(docs) self.splited_docs = docs return self.splited_docs def file2text( self, - using_zh_title_enhance=ZH_TITLE_ENHANCE, + zh_title_enhance: bool = ZH_TITLE_ENHANCE, refresh: bool = False, chunk_size: int = CHUNK_SIZE, chunk_overlap: int = OVERLAP_SIZE, @@ -268,7 +268,7 @@ class KnowledgeFile: if self.splited_docs is None or refresh: docs = self.file2docs() self.splited_docs = self.docs2texts(docs=docs, - using_zh_title_enhance=using_zh_title_enhance, + zh_title_enhance=zh_title_enhance, refresh=refresh, chunk_size=chunk_size, chunk_overlap=chunk_overlap, @@ -287,6 +287,9 @@ class KnowledgeFile: def files2docs_in_thread( files: List[Union[KnowledgeFile, Tuple[str, str], Dict]], + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, + zh_title_enhance: bool = ZH_TITLE_ENHANCE, pool: ThreadPoolExecutor = None, ) -> Generator: ''' @@ -314,6 +317,9 @@ def files2docs_in_thread( kwargs = file file = KnowledgeFile(filename=filename, knowledge_base_name=kb_name) kwargs["file"] = file + kwargs["chunk_size"] = chunk_size + kwargs["chunk_overlap"] = chunk_overlap + kwargs["zh_title_enhance"] = zh_title_enhance kwargs_list.append(kwargs) for result in run_in_thread_pool(func=file2docs, params=kwargs_list, pool=pool): diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index 2fafc51c..c4069abe 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -6,7 +6,9 @@ import pandas as pd from server.knowledge_base.utils import get_file_path, LOADER_DICT from server.knowledge_base.kb_service.base import get_kb_details, get_kb_file_details from typing import Literal, Dict, Tuple -from configs.model_config import embedding_model_dict, kbs_config, EMBEDDING_MODEL, DEFAULT_VS_TYPE +from configs.model_config import (embedding_model_dict, kbs_config, + EMBEDDING_MODEL, DEFAULT_VS_TYPE, + CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE) import os import time @@ -125,25 +127,32 @@ def knowledge_base_page(api: ApiRequest): elif selected_kb: kb = selected_kb + with st.sidebar: + chunk_size = st.number_input("单段文本最大长度:", 1, 1000, CHUNK_SIZE) + chunk_overlap = st.number_input("相邻文本重合长度:", 0, 500, OVERLAP_SIZE) + zh_title_enhance = st.checkbox("开启中文标题加强:", ZH_TITLE_ENHANCE) + # 上传文件 - # sentence_size = st.slider("文本入库分句长度限制", 1, 1000, SENTENCE_SIZE, disabled=True) - files = st.file_uploader("上传知识文件", + files = st.file_uploader("上传知识文件:", [i for ls in LOADER_DICT.values() for i in ls], accept_multiple_files=True, ) if st.button( "添加文件到知识库", - # help="请先上传文件,再点击添加", # use_container_width=True, disabled=len(files) == 0, ): - ret = api.upload_kb_docs(files, knowledge_base_name=kb, override=True) + ret = api.upload_kb_docs(files, + knowledge_base_name=kb, + override=True, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance) if msg := check_success_msg(ret): st.toast(msg, icon="✔") elif msg := check_error_msg(ret): st.toast(msg, icon="✖") - st.session_state.files = [] st.divider() @@ -216,7 +225,11 @@ def knowledge_base_page(api: ApiRequest): use_container_width=True, ): file_names = [row["file_name"] for row in selected_rows] - api.update_kb_docs(kb, file_names=file_names) + api.update_kb_docs(kb, + file_names=file_names, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance) st.experimental_rerun() # 将文件从向量库中删除,但不删除文件本身。 @@ -251,7 +264,10 @@ def knowledge_base_page(api: ApiRequest): with st.spinner("向量库重构中,请耐心等待,勿刷新或关闭页面。"): empty = st.empty() empty.progress(0.0, "") - for d in api.recreate_vector_store(kb): + for d in api.recreate_vector_store(kb, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + zh_title_enhance=zh_title_enhance): if msg := check_error_msg(d): st.toast(msg) else: diff --git a/webui_pages/utils.py b/webui_pages/utils.py index 3aed7353..26e53206 100644 --- a/webui_pages/utils.py +++ b/webui_pages/utils.py @@ -10,6 +10,9 @@ from configs.model_config import ( HISTORY_LEN, TEMPERATURE, SCORE_THRESHOLD, + CHUNK_SIZE, + OVERLAP_SIZE, + ZH_TITLE_ENHANCE, VECTOR_SEARCH_TOP_K, SEARCH_ENGINE_TOP_K, logger, log_verbose, @@ -575,6 +578,9 @@ class ApiRequest: knowledge_base_name: str, override: bool = False, to_vector_store: bool = True, + chunk_size=CHUNK_SIZE, + chunk_overlap=OVERLAP_SIZE, + zh_title_enhance=ZH_TITLE_ENHANCE, docs: Dict = {}, not_refresh_vs_cache: bool = False, no_remote_api: bool = None, @@ -600,6 +606,9 @@ class ApiRequest: "knowledge_base_name": knowledge_base_name, "override": override, "to_vector_store": to_vector_store, + "chunk_size": chunk_size, + "chunk_overlap": chunk_overlap, + "zh_title_enhance": zh_title_enhance, "docs": docs, "not_refresh_vs_cache": not_refresh_vs_cache, } @@ -665,6 +674,9 @@ class ApiRequest: knowledge_base_name: str, file_names: List[str], override_custom_docs: bool = False, + chunk_size=CHUNK_SIZE, + chunk_overlap=OVERLAP_SIZE, + zh_title_enhance=ZH_TITLE_ENHANCE, docs: Dict = {}, not_refresh_vs_cache: bool = False, no_remote_api: bool = None, @@ -679,6 +691,9 @@ class ApiRequest: "knowledge_base_name": knowledge_base_name, "file_names": file_names, "override_custom_docs": override_custom_docs, + "chunk_size": chunk_size, + "chunk_overlap": chunk_overlap, + "zh_title_enhance": zh_title_enhance, "docs": docs, "not_refresh_vs_cache": not_refresh_vs_cache, } @@ -701,6 +716,9 @@ class ApiRequest: allow_empty_kb: bool = True, vs_type: str = DEFAULT_VS_TYPE, embed_model: str = EMBEDDING_MODEL, + chunk_size=CHUNK_SIZE, + chunk_overlap=OVERLAP_SIZE, + zh_title_enhance=ZH_TITLE_ENHANCE, no_remote_api: bool = None, ): ''' @@ -714,6 +732,9 @@ class ApiRequest: "allow_empty_kb": allow_empty_kb, "vs_type": vs_type, "embed_model": embed_model, + "chunk_size": chunk_size, + "chunk_overlap": chunk_overlap, + "zh_title_enhance": zh_title_enhance, } if no_remote_api: From 512638a3b18e2f258f00b7b974a8519ef2b11d55 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:51:05 +0800 Subject: [PATCH 39/60] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AE=AF=E9=A3=9E?= =?UTF-8?q?=E6=98=9F=E7=81=AB=E5=A4=A7=E6=A8=A1=E5=9E=8B=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?API=20(#1460)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 支持讯飞星火大模型在线API --- configs/model_config.py.example | 9 +- configs/server_config.py.example | 3 + server/model_workers/SparkApi.py | 137 +++++++++++++++++++++++++++++++ server/model_workers/__init__.py | 1 + server/model_workers/base.py | 20 +++++ server/model_workers/minimax.py | 16 +--- server/model_workers/xinghuo.py | 103 +++++++++++++++++++++++ 7 files changed, 276 insertions(+), 13 deletions(-) create mode 100644 server/model_workers/SparkApi.py create mode 100644 server/model_workers/xinghuo.py diff --git a/configs/model_config.py.example b/configs/model_config.py.example index a552441c..977c25ff 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -95,7 +95,14 @@ llm_model_dict = { "is_pro": False, "provider": "MiniMaxWorker", }, - +"xinghuo-api": { + "api_base_url": "http://127.0.0.1:8888/v1", + "APPID": "", + "APISecret": "", + "api_key": "", + "is_v2": False, + "provider": "XingHuoWorker", + } } # LLM 名称 diff --git a/configs/server_config.py.example b/configs/server_config.py.example index 0fdd4924..bc21d9ab 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -70,6 +70,9 @@ FSCHAT_MODEL_WORKERS = { "minimax-api": { # 请为每个在线API设置不同的端口 "port": 20004, }, + "xinghuo-api": { # 请为每个在线API设置不同的端口 + "port": 20005, + }, } # fastchat multi model worker server diff --git a/server/model_workers/SparkApi.py b/server/model_workers/SparkApi.py new file mode 100644 index 00000000..3b4f0968 --- /dev/null +++ b/server/model_workers/SparkApi.py @@ -0,0 +1,137 @@ +import _thread as thread +import base64 +import datetime +import hashlib +import hmac +import json +from urllib.parse import urlparse +import ssl +from datetime import datetime +from time import mktime +from urllib.parse import urlencode +from wsgiref.handlers import format_date_time + +import websocket # 使用websocket_client +answer = "" + +class Ws_Param(object): + # 初始化 + def __init__(self, APPID, APIKey, APISecret, Spark_url): + self.APPID = APPID + self.APIKey = APIKey + self.APISecret = APISecret + self.host = urlparse(Spark_url).netloc + self.path = urlparse(Spark_url).path + self.Spark_url = Spark_url + + # 生成url + def create_url(self): + # 生成RFC1123格式的时间戳 + now = datetime.now() + date = format_date_time(mktime(now.timetuple())) + + # 拼接字符串 + signature_origin = "host: " + self.host + "\n" + signature_origin += "date: " + date + "\n" + signature_origin += "GET " + self.path + " HTTP/1.1" + + # 进行hmac-sha256进行加密 + signature_sha = hmac.new(self.APISecret.encode('utf-8'), signature_origin.encode('utf-8'), + digestmod=hashlib.sha256).digest() + + signature_sha_base64 = base64.b64encode(signature_sha).decode(encoding='utf-8') + + authorization_origin = f'api_key="{self.APIKey}", algorithm="hmac-sha256", headers="host date request-line", signature="{signature_sha_base64}"' + + authorization = base64.b64encode(authorization_origin.encode('utf-8')).decode(encoding='utf-8') + + # 将请求的鉴权参数组合为字典 + v = { + "authorization": authorization, + "date": date, + "host": self.host + } + # 拼接鉴权参数,生成url + url = self.Spark_url + '?' + urlencode(v) + # 此处打印出建立连接时候的url,参考本demo的时候可取消上方打印的注释,比对相同参数时生成的url与自己代码生成的url是否一致 + return url + + +# 收到websocket错误的处理 +def on_error(ws, error): + print("### error:", error) + + +# 收到websocket关闭的处理 +def on_close(ws,one,two): + print(" ") + + +# 收到websocket连接建立的处理 +def on_open(ws): + thread.start_new_thread(run, (ws,)) + + +def run(ws, *args): + data = json.dumps(gen_params(appid=ws.appid, domain= ws.domain,question=ws.question, temperature=ws.temperature)) + ws.send(data) + + +# 收到websocket消息的处理 +def on_message(ws, message): + # print(message) + data = json.loads(message) + code = data['header']['code'] + if code != 0: + print(f'请求错误: {code}, {data}') + ws.close() + else: + choices = data["payload"]["choices"] + status = choices["status"] + content = choices["text"][0]["content"] + print(content,end ="") + global answer + answer += content + # print(1) + if status == 2: + ws.close() + + +def gen_params(appid, domain,question, temperature): + """ + 通过appid和用户的提问来生成请参数 + """ + data = { + "header": { + "app_id": appid, + "uid": "1234" + }, + "parameter": { + "chat": { + "domain": domain, + "random_threshold": 0.5, + "max_tokens": 2048, + "auditing": "default", + "temperature": temperature, + } + }, + "payload": { + "message": { + "text": question + } + } + } + return data + + +def main(appid, api_key, api_secret, Spark_url,domain, question, temperature): + # print("星火:") + wsParam = Ws_Param(appid, api_key, api_secret, Spark_url) + websocket.enableTrace(False) + wsUrl = wsParam.create_url() + ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close, on_open=on_open) + ws.appid = appid + ws.question = question + ws.domain = domain + ws.temperature = temperature + ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE}) diff --git a/server/model_workers/__init__.py b/server/model_workers/__init__.py index 4ec62ddb..f904ec84 100644 --- a/server/model_workers/__init__.py +++ b/server/model_workers/__init__.py @@ -1,2 +1,3 @@ from .zhipu import ChatGLMWorker from .minimax import MiniMaxWorker +from .xinghuo import XingHuoWorker diff --git a/server/model_workers/base.py b/server/model_workers/base.py index 090cf722..df5fbfcc 100644 --- a/server/model_workers/base.py +++ b/server/model_workers/base.py @@ -74,3 +74,23 @@ class ApiModelWorker(BaseModelWorker): def get_config(self): from server.utils import get_model_worker_config return get_model_worker_config(self.model_names[0]) + + def prompt_to_messages(self, prompt: str) -> List[Dict]: + ''' + 将prompt字符串拆分成messages. + ''' + result = [] + user_role = self.conv.roles[0] + ai_role = self.conv.roles[1] + user_start = user_role + ":" + ai_start = ai_role + ":" + for msg in prompt.split(self.conv.sep)[1:-1]: + if msg.startswith(user_start): + if content := msg[len(user_start):].strip(): + result.append({"role": user_role, "content": content}) + elif msg.startswith(ai_start): + if content := msg[len(ai_start):].strip(): + result.append({"role": ai_role, "content": content}) + else: + raise RuntimeError(f"unknow role in msg: {msg}") + return result diff --git a/server/model_workers/minimax.py b/server/model_workers/minimax.py index 895c85a8..c772c0dc 100644 --- a/server/model_workers/minimax.py +++ b/server/model_workers/minimax.py @@ -33,21 +33,13 @@ class MiniMaxWorker(ApiModelWorker): ) def prompt_to_messages(self, prompt: str) -> List[Dict]: - result = [] - user_start = self.conv.roles[0] + ":" - bot_start = self.conv.roles[1] + ":" - for msg in prompt.split(self.conv.sep)[1:-1]: - if msg.startswith(user_start): - result.append({"sender_type": "USER", "text": msg[len(user_start):].strip()}) - elif msg.startswith(bot_start): - result.append({"sender_type": "BOT", "text": msg[len(bot_start):].strip()}) - else: - raise RuntimeError(f"unknow role in msg: {msg}") - return result + result = super().prompt_to_messages(prompt) + messages = [{"sender_type": x["role"], "text": x["content"]} for x in result] + return messages def generate_stream_gate(self, params): # 按照官网推荐,直接调用abab 5.5模型 - # TODO: 支持历史消息,支持指定回复要求,支持指定用户名称、AI名称 + # TODO: 支持指定回复要求,支持指定用户名称、AI名称 super().generate_stream_gate(params) config = self.get_config() diff --git a/server/model_workers/xinghuo.py b/server/model_workers/xinghuo.py new file mode 100644 index 00000000..20ffe74b --- /dev/null +++ b/server/model_workers/xinghuo.py @@ -0,0 +1,103 @@ +from server.model_workers.base import ApiModelWorker +from fastchat import conversation as conv +import sys +import json +import httpx +from pprint import pprint +import SparkApi +import websockets +from server.utils import iter_over_async, asyncio +from typing import List, Dict + + +async def request(appid, api_key, api_secret, Spark_url,domain, question, temperature): + # print("星火:") + wsParam = SparkApi.Ws_Param(appid, api_key, api_secret, Spark_url) + wsUrl = wsParam.create_url() + data = SparkApi.gen_params(appid, domain, question, temperature) + async with websockets.connect(wsUrl) as ws: + await ws.send(json.dumps(data, ensure_ascii=False)) + finish = False + while not finish: + chunk = await ws.recv() + response = json.loads(chunk) + if response.get("header", {}).get("status") == 2: + finish = True + if text := response.get("payload", {}).get("choices", {}).get("text"): + yield text[0]["content"] + + +class XingHuoWorker(ApiModelWorker): + def __init__( + self, + *, + model_names: List[str] = ["xinghuo-api"], + controller_addr: str, + worker_addr: str, + **kwargs, + ): + kwargs.update(model_names=model_names, controller_addr=controller_addr, worker_addr=worker_addr) + kwargs.setdefault("context_len", 8192) + super().__init__(**kwargs) + + # TODO: 确认模板是否需要修改 + self.conv = conv.Conversation( + name=self.model_names[0], + system_message="", + messages=[], + roles=["user", "assistant"], + sep="\n### ", + stop_str="###", + ) + + def generate_stream_gate(self, params): + # TODO: 当前每次对话都要重新连接websocket,确认是否可以保持连接 + + super().generate_stream_gate(params) + config = self.get_config() + appid = config.get("APPID") + api_secret = config.get("APISecret") + api_key = config.get("api_key") + + if config.get("is_v2"): + domain = "generalv2" # v2.0版本 + Spark_url = "ws://spark-api.xf-yun.com/v2.1/chat" # v2.0环境的地址 + else: + domain = "general" # v1.5版本 + Spark_url = "ws://spark-api.xf-yun.com/v1.1/chat" # v1.5环境的地址 + + question = self.prompt_to_messages(params["prompt"]) + text = "" + + try: + loop = asyncio.get_event_loop() + except: + loop = asyncio.new_event_loop() + + for chunk in iter_over_async( + request(appid, api_key, api_secret, Spark_url, domain, question, params.get("temperature")), + loop=loop, + ): + if chunk: + print(chunk) + text += chunk + yield json.dumps({"error_code": 0, "text": text}, ensure_ascii=False).encode() + b"\0" + + def get_embeddings(self, params): + # TODO: 支持embeddings + print("embedding") + print(params) + + +if __name__ == "__main__": + import uvicorn + from server.utils import MakeFastAPIOffline + from fastchat.serve.model_worker import app + + worker = XingHuoWorker( + controller_addr="http://127.0.0.1:20001", + worker_addr="http://127.0.0.1:20005", + ) + sys.modules["fastchat.serve.model_worker"].worker = worker + MakeFastAPIOffline(app) + uvicorn.run(app, port=20005) From 99b862dfc847b691a2e391e343e3df229b133b2b Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Wed, 13 Sep 2023 14:03:09 +0800 Subject: [PATCH 40/60] fix SparkApi import error --- server/model_workers/xinghuo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model_workers/xinghuo.py b/server/model_workers/xinghuo.py index 20ffe74b..9c907651 100644 --- a/server/model_workers/xinghuo.py +++ b/server/model_workers/xinghuo.py @@ -4,7 +4,7 @@ import sys import json import httpx from pprint import pprint -import SparkApi +from server.model_workers import SparkApi import websockets from server.utils import iter_over_async, asyncio from typing import List, Dict From c4cb4e19e53a9eb6ec571f03d3de5aba6f529b7c Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:35:04 +0800 Subject: [PATCH 41/60] =?UTF-8?q?=E6=B8=85=E7=90=86=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E4=BE=9D=E8=B5=96=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=98=9F=E7=81=ABAPI=E9=9C=80=E8=A6=81=E7=9A=84websockets=20(#?= =?UTF-8?q?1463)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 2 +- requirements_api.txt | 1 + requirements_webui.txt | 3 +- server/model_workers/SparkApi.py | 58 -------------------------------- server/model_workers/xinghuo.py | 4 +-- 5 files changed, 5 insertions(+), 63 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8badee08..abd0f1b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,6 @@ langchain==0.0.287 fschat[model_worker]==0.2.28 openai -zhipuai sentence_transformers transformers>=4.31.0 torch~=2.0.0 @@ -34,3 +33,4 @@ streamlit-aggrid>=0.3.4.post3 httpx~=0.24.1 watchdog tqdm +websockets diff --git a/requirements_api.txt b/requirements_api.txt index fa4cf1e0..9a057084 100644 --- a/requirements_api.txt +++ b/requirements_api.txt @@ -18,6 +18,7 @@ accelerate spacy PyMuPDF==1.22.5 rapidocr_onnxruntime>=1.3.1 +websockets # uncomment libs if you want to use corresponding vector store # pymilvus==2.1.3 # requires milvus==2.1.3 diff --git a/requirements_webui.txt b/requirements_webui.txt index da66c307..8d49ae02 100644 --- a/requirements_webui.txt +++ b/requirements_webui.txt @@ -7,4 +7,5 @@ streamlit-chatbox>=1.1.6 streamlit-aggrid>=0.3.4.post3 httpx~=0.24.1 nltk -watchdog \ No newline at end of file +watchdog +websockets diff --git a/server/model_workers/SparkApi.py b/server/model_workers/SparkApi.py index 3b4f0968..e1dce6a0 100644 --- a/server/model_workers/SparkApi.py +++ b/server/model_workers/SparkApi.py @@ -1,18 +1,13 @@ -import _thread as thread import base64 import datetime import hashlib import hmac -import json from urllib.parse import urlparse -import ssl from datetime import datetime from time import mktime from urllib.parse import urlencode from wsgiref.handlers import format_date_time -import websocket # 使用websocket_client -answer = "" class Ws_Param(object): # 初始化 @@ -57,46 +52,6 @@ class Ws_Param(object): return url -# 收到websocket错误的处理 -def on_error(ws, error): - print("### error:", error) - - -# 收到websocket关闭的处理 -def on_close(ws,one,two): - print(" ") - - -# 收到websocket连接建立的处理 -def on_open(ws): - thread.start_new_thread(run, (ws,)) - - -def run(ws, *args): - data = json.dumps(gen_params(appid=ws.appid, domain= ws.domain,question=ws.question, temperature=ws.temperature)) - ws.send(data) - - -# 收到websocket消息的处理 -def on_message(ws, message): - # print(message) - data = json.loads(message) - code = data['header']['code'] - if code != 0: - print(f'请求错误: {code}, {data}') - ws.close() - else: - choices = data["payload"]["choices"] - status = choices["status"] - content = choices["text"][0]["content"] - print(content,end ="") - global answer - answer += content - # print(1) - if status == 2: - ws.close() - - def gen_params(appid, domain,question, temperature): """ 通过appid和用户的提问来生成请参数 @@ -122,16 +77,3 @@ def gen_params(appid, domain,question, temperature): } } return data - - -def main(appid, api_key, api_secret, Spark_url,domain, question, temperature): - # print("星火:") - wsParam = Ws_Param(appid, api_key, api_secret, Spark_url) - websocket.enableTrace(False) - wsUrl = wsParam.create_url() - ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close, on_open=on_open) - ws.appid = appid - ws.question = question - ws.domain = domain - ws.temperature = temperature - ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE}) diff --git a/server/model_workers/xinghuo.py b/server/model_workers/xinghuo.py index 9c907651..499e8bc1 100644 --- a/server/model_workers/xinghuo.py +++ b/server/model_workers/xinghuo.py @@ -2,12 +2,10 @@ from server.model_workers.base import ApiModelWorker from fastchat import conversation as conv import sys import json -import httpx -from pprint import pprint from server.model_workers import SparkApi import websockets from server.utils import iter_over_async, asyncio -from typing import List, Dict +from typing import List async def request(appid, api_key, api_secret, Spark_url,domain, question, temperature): From bfdbe69fa1b6a562e8cc7202864c5fd97840a406 Mon Sep 17 00:00:00 2001 From: zR <2448370773@qq.com> Date: Wed, 13 Sep 2023 15:42:12 +0800 Subject: [PATCH 42/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=88=86=E8=AF=8D=E5=99=A8=E9=80=82=E9=85=8D?= =?UTF-8?q?=20(#1462)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 添加了自定义分词器适配和测试文件 --------- Co-authored-by: zR --- README.md | 36 ++++++++ configs/model_config.py.example | 51 +++++++++-- configs/server_config.py.example | 1 - docs/splitter.md | 23 +++++ server/chat/knowledge_base_chat.py | 1 + server/knowledge_base/migrate.py | 7 +- server/knowledge_base/utils.py | 88 ++++++++++++------ startup.py | 5 +- .../text_different_splitter.py | 89 +++++++++++++++++++ text_splitter/chinese_text_splitter.py | 3 +- 10 files changed, 263 insertions(+), 41 deletions(-) create mode 100644 docs/splitter.md create mode 100644 tests/custom_splitter/text_different_splitter.py diff --git a/README.md b/README.md index 703c084a..de1240a0 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,28 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch --- +### 知识库Text Splitter类型支持 + +本项目支持调用 [Langchain](https://api.python.langchain.com/en/latest/api_reference.html#module-langchain.text_splitter) 的Text Splitter分词器以及基于此改进的自定义分词器,已支持的Text Splitter类型如下: + +- CharacterTextSplitter +- LatexTextSplitter +- MarkdownHeaderTextSplitter +- MarkdownTextSplitter +- NLTKTextSplitter +- PythonCodeTextSplitter +- RecursiveCharacterTextSplitter +- SentenceTransformersTokenTextSplitter +- SpacyTextSplitter + +已经支持的定制分词器如下: + +- AliTextSplitter +- ChineseRecursiveTextSplitter +- ChineseTextSplitter + +关于如何使用自定义分词器和贡献自己的分词器,可以参考[这里](docs/splitter.md) + ## Docker 部署 🐳 Docker 镜像地址: `registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.3)` @@ -215,6 +237,20 @@ embedding_model_dict = { } ``` +- 请确认本地分词器路径是否已经填写,如: + +```python +text_splitter_dict = { + "ChineseRecursiveTextSplitter": { + "source": "huggingface", ## 选择tiktoken则使用openai的方法 + "tokenizer_name_or_path": "", ## 空格不填则默认使用大模型的分词器。 + "chunk_size": 250, # 知识库中单段文本长度 + "overlap_size": 50, # 知识库中相邻文本重合长度 + } +} + ``` + + 如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 ### 4. 知识库初始化与迁移 diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 977c25ff..f501dcae 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -88,14 +88,14 @@ llm_model_dict = { "provider": "ChatGLMWorker", "version": "chatglm_pro", # 可选包括 "chatglm_lite", "chatglm_std", "chatglm_pro" }, -"minimax-api": { + "minimax-api": { "api_base_url": "http://127.0.0.1:8888/v1", "group_id": "", "api_key": "", "is_pro": False, "provider": "MiniMaxWorker", }, -"xinghuo-api": { + "xinghuo-api": { "api_base_url": "http://127.0.0.1:8888/v1", "APPID": "", "APISecret": "", @@ -115,9 +115,49 @@ HISTORY_LEN = 3 TEMPERATURE = 0.7 # TOP_P = 0.95 # ChatOpenAI暂不支持该参数 + # LLM 运行设备。设为"auto"会自动检测,也可手动设定为"cuda","mps","cpu"其中之一。 LLM_DEVICE = "auto" +# TextSplitter + +text_splitter_dict = { + "ChineseRecursiveTextSplitter": { + "source": "huggingface", ## 选择tiktoken则使用openai的方法 + "tokenizer_name_or_path": "gpt2", + }, + "SpacyTextSplitter": { + "source": "huggingface", + "tokenizer_name_or_path": "", + }, + "RecursiveCharacterTextSplitter": { + "source": "tiktoken", + "tokenizer_name_or_path": "cl100k_base", + }, + + "MarkdownHeaderTextSplitter": { + "headers_to_split_on": + [ + ("#", "head1"), + ("##", "head2"), + ("###", "head3"), + ("####", "head4"), + ] + }, +} + +# TEXT_SPLITTER 名称 +TEXT_SPLITTER_NAME = "SpacyTextSplitter" + + + +# 知识库中单段文本长度(不适用MarkdownHeaderTextSplitter) +CHUNK_SIZE = 250 + +# 知识库中相邻文本重合长度(不适用MarkdownHeaderTextSplitter) +OVERLAP_SIZE = 50 + + # 日志存储路径 LOG_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "logs") if not os.path.exists(LOG_PATH): @@ -132,6 +172,7 @@ if not os.path.exists(KB_ROOT_PATH): DB_ROOT_PATH = os.path.join(KB_ROOT_PATH, "info.db") SQLALCHEMY_DATABASE_URI = f"sqlite:///{DB_ROOT_PATH}" + # 可选向量库类型及对应配置 kbs_config = { "faiss": { @@ -154,12 +195,6 @@ DEFAULT_VS_TYPE = "faiss" # 缓存向量库数量 CACHED_VS_NUM = 1 -# 知识库中单段文本长度 -CHUNK_SIZE = 250 - -# 知识库中相邻文本重合长度 -OVERLAP_SIZE = 50 - # 知识库匹配向量数量 VECTOR_SEARCH_TOP_K = 5 diff --git a/configs/server_config.py.example b/configs/server_config.py.example index bc21d9ab..3107c1d3 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -59,7 +59,6 @@ FSCHAT_MODEL_WORKERS = { # "limit_worker_concurrency": 5, # "stream_interval": 2, # "no_register": False, - # "embed_in_truncate": False, }, "baichuan-7b": { # 使用default中的IP和端口 "device": "cpu", diff --git a/docs/splitter.md b/docs/splitter.md new file mode 100644 index 00000000..144d8278 --- /dev/null +++ b/docs/splitter.md @@ -0,0 +1,23 @@ +## 自定义分词器 + +### 在哪里写,哪些文件要改 +1. 在```text_splitter```文件夹下新建一个文件,文件名为您的分词器名字,比如`my_splitter.py`,然后在`__init__.py`中导入您的分词器,如下所示: +```python +from .my_splitter import MySplitter +``` +2. 修改```config/model_config.py```文件,将您的分词器名字添加到```text_splitter_dict```中,如下所示: +```python +MySplitter": { + "source": "huggingface", ## 选择tiktoken则使用openai的方法 + "tokenizer_name_or_path": "your tokenizer", + "chunk_size": 250, + "overlap_size": 50, + }, +TEXT_SPLITTER_NAME = "MySplitter" +``` +完成上述步骤后,就能使用自己的分词器了。 + +### 如何贡献您的分词器 +1. 将您的分词器所在的代码文件放在```text_splitter```文件夹下,文件名为您的分词器名字,比如`my_splitter.py`,然后在`__init__.py`中导入您的分词器。 +2. 发起PR,并说明您的分词器面向的场景或者改进之处。我们非常期待您能举例一个具体的应用场景。 +3. 在Readme.md中添加您的分词器的使用方法和支持说明。 diff --git a/server/chat/knowledge_base_chat.py b/server/chat/knowledge_base_chat.py index 5d1aac80..b26f2cbc 100644 --- a/server/chat/knowledge_base_chat.py +++ b/server/chat/knowledge_base_chat.py @@ -50,6 +50,7 @@ async def knowledge_base_chat(query: str = Body(..., description="用户输入", model_name: str = LLM_MODEL, ) -> AsyncIterable[str]: callback = AsyncIteratorCallbackHandler() + model = ChatOpenAI( streaming=True, verbose=True, diff --git a/server/knowledge_base/migrate.py b/server/knowledge_base/migrate.py index 896d9b4f..b2073a10 100644 --- a/server/knowledge_base/migrate.py +++ b/server/knowledge_base/migrate.py @@ -1,5 +1,4 @@ -from configs.model_config import (EMBEDDING_MODEL, DEFAULT_VS_TYPE, - CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, +from configs.model_config import (EMBEDDING_MODEL, DEFAULT_VS_TYPE, ZH_TITLE_ENHANCE, logger, log_verbose) from server.knowledge_base.utils import (get_file_path, list_kbs_from_folder, list_files_from_folder,files2docs_in_thread, @@ -38,8 +37,8 @@ def folder2db( mode: Literal["recreate_vs", "fill_info_only", "update_in_db", "increament"], vs_type: Literal["faiss", "milvus", "pg", "chromadb"] = DEFAULT_VS_TYPE, embed_model: str = EMBEDDING_MODEL, - chunk_size: int = CHUNK_SIZE, - chunk_overlap: int = OVERLAP_SIZE, + chunk_size: int = -1, + chunk_overlap: int = -1, zh_title_enhance: bool = ZH_TITLE_ENHANCE, ): ''' diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index e8b9103d..bda727c8 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -1,15 +1,14 @@ import os -from langchain.embeddings.huggingface import HuggingFaceEmbeddings -from langchain.embeddings.openai import OpenAIEmbeddings -from langchain.embeddings import HuggingFaceBgeEmbeddings + +from transformers import AutoTokenizer + from configs.model_config import ( - embedding_model_dict, EMBEDDING_MODEL, KB_ROOT_PATH, CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, - logger, log_verbose, + logger, log_verbose, text_splitter_dict, llm_model_dict, LLM_MODEL,TEXT_SPLITTER_NAME ) import importlib from text_splitter import zh_title_enhance @@ -178,7 +177,7 @@ def get_loader(loader_name: str, file_path_or_content: Union[str, bytes, io.Stri def make_text_splitter( - splitter_name: str = "SpacyTextSplitter", + splitter_name: str = TEXT_SPLITTER_NAME, chunk_size: int = CHUNK_SIZE, chunk_overlap: int = OVERLAP_SIZE, ): @@ -186,23 +185,57 @@ def make_text_splitter( 根据参数获取特定的分词器 ''' splitter_name = splitter_name or "SpacyTextSplitter" - text_splitter_module = importlib.import_module('langchain.text_splitter') try: - TextSplitter = getattr(text_splitter_module, splitter_name) - text_splitter = TextSplitter( - pipeline="zh_core_web_sm", - chunk_size=chunk_size, - chunk_overlap=chunk_overlap, - ) + if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 + headers_to_split_on = text_splitter_dict[splitter_name]['headers_to_split_on'] + text_splitter = langchain.text_splitter.MarkdownHeaderTextSplitter( + headers_to_split_on=headers_to_split_on) + else: + + try: ## 优先使用用户自定义的text_splitter + text_splitter_module = importlib.import_module('text_splitter') + TextSplitter = getattr(text_splitter_module, splitter_name) + except: ## 否则使用langchain的text_splitter + text_splitter_module = importlib.import_module('langchain.text_splitter') + TextSplitter = getattr(text_splitter_module, splitter_name) + + if text_splitter_dict[splitter_name]["source"] == "tiktoken": + try: + text_splitter = TextSplitter.from_tiktoken_encoder( + encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + except: + text_splitter = TextSplitter.from_tiktoken_encoder( + encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + elif text_splitter_dict[splitter_name]["source"] == "huggingface": + if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "": + text_splitter_dict[splitter_name]["tokenizer_name_or_path"] = \ + llm_model_dict[LLM_MODEL]["local_model_path"] + + if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "gpt2": + from transformers import GPT2TokenizerFast + from langchain.text_splitter import CharacterTextSplitter + tokenizer = GPT2TokenizerFast.from_pretrained("gpt2") ## 这里选择你用的tokenizer + else: + tokenizer = AutoTokenizer.from_pretrained( + text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + trust_remote_code=True) + text_splitter = TextSplitter.from_huggingface_tokenizer( + tokenizer=tokenizer, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) except Exception as e: - msg = f"查找分词器 {splitter_name} 时出错:{e}" - logger.error(f'{e.__class__.__name__}: {msg}', - exc_info=e if log_verbose else None) + print(e) + text_splitter_module = importlib.import_module('langchain.text_splitter') TextSplitter = getattr(text_splitter_module, "RecursiveCharacterTextSplitter") - text_splitter = TextSplitter( - chunk_size=chunk_size, - chunk_overlap=chunk_overlap, - ) + text_splitter = TextSplitter(chunk_size=250, chunk_overlap=50) return text_splitter class KnowledgeFile: @@ -223,9 +256,7 @@ class KnowledgeFile: self.docs = None self.splited_docs = None self.document_loader_name = get_LoaderClass(self.ext) - - # TODO: 增加依据文件格式匹配text_splitter - self.text_splitter_name = None + self.text_splitter_name = TEXT_SPLITTER_NAME def file2docs(self, refresh: bool=False): if self.docs is None or refresh: @@ -249,7 +280,14 @@ class KnowledgeFile: if self.ext not in [".csv"]: if text_splitter is None: text_splitter = make_text_splitter(splitter_name=self.text_splitter_name, chunk_size=chunk_size, chunk_overlap=chunk_overlap) - docs = text_splitter.split_documents(docs) + if self.text_splitter_name == "MarkdownHeaderTextSplitter": + docs = text_splitter.split_text(docs[0].page_content) + for doc in docs: + # 如果文档有元数据 + if doc.metadata: + doc.metadata["source"] = os.path.basename(self.filepath) + else: + docs = text_splitter.split_documents(docs) print(f"文档切分示例:{docs[0]}") if zh_title_enhance: @@ -335,4 +373,4 @@ if __name__ == "__main__": pprint(docs[-1]) docs = kb_file.file2text() - pprint(docs[-1]) + pprint(docs[-1]) \ No newline at end of file diff --git a/startup.py b/startup.py index d0458493..c3f15364 100644 --- a/startup.py +++ b/startup.py @@ -18,7 +18,7 @@ except: sys.path.append(os.path.dirname(os.path.dirname(__file__))) from configs.model_config import EMBEDDING_MODEL, llm_model_dict, LLM_MODEL, LOG_PATH, \ - logger, log_verbose + logger, log_verbose, TEXT_SPLITTER_NAME from configs.server_config import (WEBUI_SERVER, API_SERVER, FSCHAT_CONTROLLER, FSCHAT_OPENAI_API, HTTPX_DEFAULT_TIMEOUT) from server.utils import (fschat_controller_address, fschat_model_worker_address, @@ -464,7 +464,10 @@ def dump_server_info(after_start=False, args=None): models = [LLM_MODEL] if args and args.model_name: models = args.model_name + + print(f"当前使用的分词器:{TEXT_SPLITTER_NAME}") print(f"当前启动的LLM模型:{models} @ {llm_device()}") + for model in models: pprint(llm_model_dict[model]) print(f"当前Embbedings模型: {EMBEDDING_MODEL} @ {embedding_device()}") diff --git a/tests/custom_splitter/text_different_splitter.py b/tests/custom_splitter/text_different_splitter.py new file mode 100644 index 00000000..8cda7761 --- /dev/null +++ b/tests/custom_splitter/text_different_splitter.py @@ -0,0 +1,89 @@ +import os + +from transformers import AutoTokenizer +import sys + +sys.path.append("../..") +from configs.model_config import ( + CHUNK_SIZE, + OVERLAP_SIZE, + text_splitter_dict, llm_model_dict, LLM_MODEL, TEXT_SPLITTER_NAME +) +import langchain.document_loaders +import importlib + + +def text_different_splitter(splitter_name, chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, ): + if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 + headers_to_split_on = text_splitter_dict[splitter_name]['headers_to_split_on'] + text_splitter = langchain.text_splitter.MarkdownHeaderTextSplitter( + headers_to_split_on=headers_to_split_on) + + else: + + try: ## 优先使用用户自定义的text_splitter + text_splitter_module = importlib.import_module('text_splitter') + TextSplitter = getattr(text_splitter_module, splitter_name) + except: ## 否则使用langchain的text_splitter + text_splitter_module = importlib.import_module('langchain.text_splitter') + TextSplitter = getattr(text_splitter_module, splitter_name) + + if text_splitter_dict[splitter_name]["source"] == "tiktoken": + try: + text_splitter = TextSplitter.from_tiktoken_encoder( + encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + except: + text_splitter = TextSplitter.from_tiktoken_encoder( + encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + elif text_splitter_dict[splitter_name]["source"] == "huggingface": + if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "": + text_splitter_dict[splitter_name]["tokenizer_name_or_path"] = \ + llm_model_dict[LLM_MODEL]["local_model_path"] + + if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "gpt2": + from transformers import GPT2TokenizerFast + from langchain.text_splitter import CharacterTextSplitter + tokenizer = GPT2TokenizerFast.from_pretrained("gpt2") ## 这里选择你用的tokenizer + else: + tokenizer = AutoTokenizer.from_pretrained( + text_splitter_dict[splitter_name]["tokenizer_name_or_path"], + trust_remote_code=True) + text_splitter = TextSplitter.from_huggingface_tokenizer( + tokenizer=tokenizer, + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + + return text_splitter + + +if __name__ == "__main__": + from langchain import document_loaders + + # 使用DocumentLoader读取文件 + filepath = "../../knowledge_base/samples/content/test.txt" + loader = document_loaders.UnstructuredFileLoader(filepath, autodetect_encoding=True) + docs = loader.load() + text_splitter = text_different_splitter(TEXT_SPLITTER_NAME, CHUNK_SIZE, OVERLAP_SIZE) + # 使用text_splitter进行分词 + + if TEXT_SPLITTER_NAME == "MarkdownHeaderTextSplitter": + split_docs = text_splitter.split_text(docs[0].page_content) + for doc in docs: + # 如果文档有元数据 + if doc.metadata: + doc.metadata["source"] = os.path.basename(filepath) + else: + split_docs = text_splitter.split_documents(docs) + + # 打印分词结果 + for doc in split_docs: + print(doc) diff --git a/text_splitter/chinese_text_splitter.py b/text_splitter/chinese_text_splitter.py index d6294ae8..4107b25f 100644 --- a/text_splitter/chinese_text_splitter.py +++ b/text_splitter/chinese_text_splitter.py @@ -1,11 +1,10 @@ from langchain.text_splitter import CharacterTextSplitter import re from typing import List -from configs.model_config import CHUNK_SIZE class ChineseTextSplitter(CharacterTextSplitter): - def __init__(self, pdf: bool = False, sentence_size: int = CHUNK_SIZE, **kwargs): + def __init__(self, pdf: bool = False, sentence_size: int = 250, **kwargs): super().__init__(**kwargs) self.pdf = pdf self.sentence_size = sentence_size From f75812afcbd7e9f623c75acdd3f1c10e02df49fc Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Wed, 13 Sep 2023 15:47:34 +0800 Subject: [PATCH 43/60] update text splitter unit test name --- .../{text_different_splitter.py => test_different_splitter.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/custom_splitter/{text_different_splitter.py => test_different_splitter.py} (98%) diff --git a/tests/custom_splitter/text_different_splitter.py b/tests/custom_splitter/test_different_splitter.py similarity index 98% rename from tests/custom_splitter/text_different_splitter.py rename to tests/custom_splitter/test_different_splitter.py index 8cda7761..1cd88740 100644 --- a/tests/custom_splitter/text_different_splitter.py +++ b/tests/custom_splitter/test_different_splitter.py @@ -13,7 +13,7 @@ import langchain.document_loaders import importlib -def text_different_splitter(splitter_name, chunk_size: int = CHUNK_SIZE, +def test_different_splitter(splitter_name, chunk_size: int = CHUNK_SIZE, chunk_overlap: int = OVERLAP_SIZE, ): if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 headers_to_split_on = text_splitter_dict[splitter_name]['headers_to_split_on'] From dc413120e24a21775e6f1c518751b8eb577f11ea Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Wed, 13 Sep 2023 15:53:07 +0800 Subject: [PATCH 44/60] update text splitter unit test name --- tests/custom_splitter/test_different_splitter.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/custom_splitter/test_different_splitter.py b/tests/custom_splitter/test_different_splitter.py index 1cd88740..5c80cc12 100644 --- a/tests/custom_splitter/test_different_splitter.py +++ b/tests/custom_splitter/test_different_splitter.py @@ -13,8 +13,11 @@ import langchain.document_loaders import importlib -def test_different_splitter(splitter_name, chunk_size: int = CHUNK_SIZE, - chunk_overlap: int = OVERLAP_SIZE, ): +def test_different_splitter( + splitter_name, + chunk_size: int = CHUNK_SIZE, + chunk_overlap: int = OVERLAP_SIZE, +): if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 headers_to_split_on = text_splitter_dict[splitter_name]['headers_to_split_on'] text_splitter = langchain.text_splitter.MarkdownHeaderTextSplitter( @@ -72,7 +75,7 @@ if __name__ == "__main__": filepath = "../../knowledge_base/samples/content/test.txt" loader = document_loaders.UnstructuredFileLoader(filepath, autodetect_encoding=True) docs = loader.load() - text_splitter = text_different_splitter(TEXT_SPLITTER_NAME, CHUNK_SIZE, OVERLAP_SIZE) + text_splitter = test_different_splitter(TEXT_SPLITTER_NAME, CHUNK_SIZE, OVERLAP_SIZE) # 使用text_splitter进行分词 if TEXT_SPLITTER_NAME == "MarkdownHeaderTextSplitter": From 769d75d784cc4e4b9efa946b98e94923b5cc9231 Mon Sep 17 00:00:00 2001 From: zR <2448370773@qq.com> Date: Wed, 13 Sep 2023 17:12:05 +0800 Subject: [PATCH 45/60] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=96=87=E4=BB=B6=20(#1467)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: zR --- README.md | 6 +- configs/model_config.py.example | 6 +- docs/splitter.md | 8 +- server/knowledge_base/utils.py | 20 ++++- .../test_different_splitter.py | 85 ++++--------------- 5 files changed, 40 insertions(+), 85 deletions(-) diff --git a/README.md b/README.md index de1240a0..75c05369 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch --- -### 知识库Text Splitter类型支持 +### Text Splitter 个性化支持 本项目支持调用 [Langchain](https://api.python.langchain.com/en/latest/api_reference.html#module-langchain.text_splitter) 的Text Splitter分词器以及基于此改进的自定义分词器,已支持的Text Splitter类型如下: @@ -242,10 +242,8 @@ embedding_model_dict = { ```python text_splitter_dict = { "ChineseRecursiveTextSplitter": { - "source": "huggingface", ## 选择tiktoken则使用openai的方法 + "source": "huggingface", ## 选择tiktoken则使用openai的方法,不填写则默认为字符长度切割方法。 "tokenizer_name_or_path": "", ## 空格不填则默认使用大模型的分词器。 - "chunk_size": 250, # 知识库中单段文本长度 - "overlap_size": 50, # 知识库中相邻文本重合长度 } } ``` diff --git a/configs/model_config.py.example b/configs/model_config.py.example index f501dcae..50806bf1 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -123,11 +123,11 @@ LLM_DEVICE = "auto" text_splitter_dict = { "ChineseRecursiveTextSplitter": { - "source": "huggingface", ## 选择tiktoken则使用openai的方法 + "source": "huggingface", "tokenizer_name_or_path": "gpt2", }, "SpacyTextSplitter": { - "source": "huggingface", + "source": "", "tokenizer_name_or_path": "", }, "RecursiveCharacterTextSplitter": { @@ -149,8 +149,6 @@ text_splitter_dict = { # TEXT_SPLITTER 名称 TEXT_SPLITTER_NAME = "SpacyTextSplitter" - - # 知识库中单段文本长度(不适用MarkdownHeaderTextSplitter) CHUNK_SIZE = 250 diff --git a/docs/splitter.md b/docs/splitter.md index 144d8278..f44a7e8d 100644 --- a/docs/splitter.md +++ b/docs/splitter.md @@ -7,12 +7,10 @@ from .my_splitter import MySplitter ``` 2. 修改```config/model_config.py```文件,将您的分词器名字添加到```text_splitter_dict```中,如下所示: ```python -MySplitter": { +MySplitter: { "source": "huggingface", ## 选择tiktoken则使用openai的方法 - "tokenizer_name_or_path": "your tokenizer", - "chunk_size": 250, - "overlap_size": 50, - }, + "tokenizer_name_or_path": "your tokenizer", #如果选择huggingface则使用huggingface的方法,部分tokenizer需要从Huggingface下载 + } TEXT_SPLITTER_NAME = "MySplitter" ``` 完成上述步骤后,就能使用自己的分词器了。 diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index bda727c8..f8b102a7 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -199,7 +199,7 @@ def make_text_splitter( text_splitter_module = importlib.import_module('langchain.text_splitter') TextSplitter = getattr(text_splitter_module, splitter_name) - if text_splitter_dict[splitter_name]["source"] == "tiktoken": + if text_splitter_dict[splitter_name]["source"] == "tiktoken": ## 从tiktoken加载 try: text_splitter = TextSplitter.from_tiktoken_encoder( encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], @@ -213,7 +213,7 @@ def make_text_splitter( chunk_size=chunk_size, chunk_overlap=chunk_overlap ) - elif text_splitter_dict[splitter_name]["source"] == "huggingface": + elif text_splitter_dict[splitter_name]["source"] == "huggingface": ## 从huggingface加载 if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "": text_splitter_dict[splitter_name]["tokenizer_name_or_path"] = \ llm_model_dict[LLM_MODEL]["local_model_path"] @@ -221,8 +221,8 @@ def make_text_splitter( if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "gpt2": from transformers import GPT2TokenizerFast from langchain.text_splitter import CharacterTextSplitter - tokenizer = GPT2TokenizerFast.from_pretrained("gpt2") ## 这里选择你用的tokenizer - else: + tokenizer = GPT2TokenizerFast.from_pretrained("gpt2") + else: ## 字符长度加载 tokenizer = AutoTokenizer.from_pretrained( text_splitter_dict[splitter_name]["tokenizer_name_or_path"], trust_remote_code=True) @@ -231,6 +231,18 @@ def make_text_splitter( chunk_size=chunk_size, chunk_overlap=chunk_overlap ) + else: + try: + text_splitter = TextSplitter( + pipeline="zh_core_web_sm", + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) + except: + text_splitter = TextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap + ) except Exception as e: print(e) text_splitter_module = importlib.import_module('langchain.text_splitter') diff --git a/tests/custom_splitter/test_different_splitter.py b/tests/custom_splitter/test_different_splitter.py index 5c80cc12..9993a9cc 100644 --- a/tests/custom_splitter/test_different_splitter.py +++ b/tests/custom_splitter/test_different_splitter.py @@ -6,87 +6,36 @@ import sys sys.path.append("../..") from configs.model_config import ( CHUNK_SIZE, - OVERLAP_SIZE, - text_splitter_dict, llm_model_dict, LLM_MODEL, TEXT_SPLITTER_NAME + OVERLAP_SIZE ) -import langchain.document_loaders -import importlib +from server.knowledge_base.utils import make_text_splitter -def test_different_splitter( - splitter_name, - chunk_size: int = CHUNK_SIZE, - chunk_overlap: int = OVERLAP_SIZE, -): - if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 - headers_to_split_on = text_splitter_dict[splitter_name]['headers_to_split_on'] - text_splitter = langchain.text_splitter.MarkdownHeaderTextSplitter( - headers_to_split_on=headers_to_split_on) - - else: - - try: ## 优先使用用户自定义的text_splitter - text_splitter_module = importlib.import_module('text_splitter') - TextSplitter = getattr(text_splitter_module, splitter_name) - except: ## 否则使用langchain的text_splitter - text_splitter_module = importlib.import_module('langchain.text_splitter') - TextSplitter = getattr(text_splitter_module, splitter_name) - - if text_splitter_dict[splitter_name]["source"] == "tiktoken": - try: - text_splitter = TextSplitter.from_tiktoken_encoder( - encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], - pipeline="zh_core_web_sm", - chunk_size=chunk_size, - chunk_overlap=chunk_overlap - ) - except: - text_splitter = TextSplitter.from_tiktoken_encoder( - encoding_name=text_splitter_dict[splitter_name]["tokenizer_name_or_path"], - chunk_size=chunk_size, - chunk_overlap=chunk_overlap - ) - elif text_splitter_dict[splitter_name]["source"] == "huggingface": - if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "": - text_splitter_dict[splitter_name]["tokenizer_name_or_path"] = \ - llm_model_dict[LLM_MODEL]["local_model_path"] - - if text_splitter_dict[splitter_name]["tokenizer_name_or_path"] == "gpt2": - from transformers import GPT2TokenizerFast - from langchain.text_splitter import CharacterTextSplitter - tokenizer = GPT2TokenizerFast.from_pretrained("gpt2") ## 这里选择你用的tokenizer - else: - tokenizer = AutoTokenizer.from_pretrained( - text_splitter_dict[splitter_name]["tokenizer_name_or_path"], - trust_remote_code=True) - text_splitter = TextSplitter.from_huggingface_tokenizer( - tokenizer=tokenizer, - chunk_size=chunk_size, - chunk_overlap=chunk_overlap - ) - - return text_splitter - - -if __name__ == "__main__": +def text(splitter_name): from langchain import document_loaders # 使用DocumentLoader读取文件 filepath = "../../knowledge_base/samples/content/test.txt" loader = document_loaders.UnstructuredFileLoader(filepath, autodetect_encoding=True) docs = loader.load() - text_splitter = test_different_splitter(TEXT_SPLITTER_NAME, CHUNK_SIZE, OVERLAP_SIZE) - # 使用text_splitter进行分词 - - if TEXT_SPLITTER_NAME == "MarkdownHeaderTextSplitter": + text_splitter = make_text_splitter(splitter_name, CHUNK_SIZE, OVERLAP_SIZE) + if splitter_name == "MarkdownHeaderTextSplitter": split_docs = text_splitter.split_text(docs[0].page_content) for doc in docs: - # 如果文档有元数据 if doc.metadata: doc.metadata["source"] = os.path.basename(filepath) else: split_docs = text_splitter.split_documents(docs) + return docs - # 打印分词结果 - for doc in split_docs: - print(doc) + + + +import pytest +@pytest.mark.parametrize("splitter_name", ["ChineseRecursiveTextSplitter", "SpacyTextSplitter", "RecursiveCharacterTextSplitter","MarkdownHeaderTextSplitter"]) +def test_different_splitter(splitter_name): + try: + docs = text(splitter_name) + assert docs is not None + except Exception as e: + pytest.fail(f"test_different_splitter failed with {splitter_name}, error: {str(e)}") From 883445e5b2d299cbac8d2cd94f655f330e36a956 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 15:30:06 +0800 Subject: [PATCH 46/60] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E7=99=BE=E5=BA=A6?= =?UTF-8?q?=E6=96=87=E5=BF=83=E4=B8=80=E8=A8=80=20API=20=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20(#1477)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add RapidOCRPDFLoader * update mypdfloader.py and requirements.txt * add myimgloader.py * add test samples * add TODO to mypdfloader * add loaders to KnowledgeFile class * add loaders to KnowledgeFile class * add ChineseRecursiveTextSplitter * add ChineseRecursiveTextSplitter * add baidu ernie api --- configs/model_config.py.example | 8 ++ server/model_workers/__init__.py | 1 + server/model_workers/ernie.py | 121 +++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 server/model_workers/ernie.py diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 50806bf1..5e93ddea 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -102,6 +102,14 @@ llm_model_dict = { "api_key": "", "is_v2": False, "provider": "XingHuoWorker", + }, + # Ernie Bot Turbo API,申请方式请参考 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/4lilb2lpf + "ernie-api": { + "version": "ernie-bot-turbo", # 当前支持 "ernie-bot" 或 "ernie-bot-turbo" + "api_base_url": "http://127.0.0.1:8888/v1", + "api_key": "", + "secret_key": "", + "provider": "ErnieWorker", } } diff --git a/server/model_workers/__init__.py b/server/model_workers/__init__.py index f904ec84..cb23a4a1 100644 --- a/server/model_workers/__init__.py +++ b/server/model_workers/__init__.py @@ -1,3 +1,4 @@ from .zhipu import ChatGLMWorker from .minimax import MiniMaxWorker from .xinghuo import XingHuoWorker +from .ernie import ErnieWorker diff --git a/server/model_workers/ernie.py b/server/model_workers/ernie.py new file mode 100644 index 00000000..3c9920b4 --- /dev/null +++ b/server/model_workers/ernie.py @@ -0,0 +1,121 @@ +from server.model_workers.base import ApiModelWorker +from fastchat import conversation as conv +import sys +import json +import requests +from typing import List, Literal + +MODEL_VERSIONS = { + "ernie-bot": "completions", + "ernie-bot-turbo": "eb-instant" +} + + +class ErnieWorker(ApiModelWorker): + """ + 百度 Ernie + """ + BASE_URL = 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat'\ + '/{model_version}?access_token={access_token}' + SUPPORT_MODELS = list(MODEL_VERSIONS.keys()) + + def __init__( + self, + *, + version: Literal["ernie-bot", "ernie-bot-turbo"] = "ernie-bot", + model_names: List[str] = ["ernie-api"], + controller_addr: str, + worker_addr: str, + **kwargs, + ): + kwargs.update(model_names=model_names, controller_addr=controller_addr, worker_addr=worker_addr) + kwargs.setdefault("context_len", 16384) + super().__init__(**kwargs) + + # TODO: 确认模板是否需要修改 + self.conv = conv.Conversation( + name=self.model_names[0], + system_message="", + messages=[], + roles=["user", "assistant"], + sep="\n### ", + stop_str="###", + ) + + config = self.get_config() + self.version = version + self.api_key = config.get("api_key") + self.secret_key = config.get("secret_key") + self.access_token = self.get_access_token() + + def get_access_token(self): + """ + 使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key + """ + + url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials"\ + f"&client_id={self.api_key}"\ + f"&client_secret={self.secret_key}" + + payload = json.dumps("") + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } + + response = requests.request("POST", url, headers=headers, data=payload) + return response.json().get("access_token") + + def generate_stream_gate(self, params): + url = self.BASE_URL.format( + model_version=MODEL_VERSIONS[self.version], + access_token=self.access_token + ) + payload = json.dumps({ + "messages": self.prompt_to_messages(params["prompt"]), + "stream": True + }) + headers = { + 'Content-Type': 'application/json' + } + + response = requests.request("POST", url, headers=headers, data=payload, stream=True) + + text="" + for line in response.iter_lines(): + if line.decode("utf-8").startswith("data: "): # 真是优秀的返回 + resp = json.loads(line.decode("utf-8")[6:]) + if "result" in resp.keys(): + text += resp["result"] + yield json.dumps({ + "error_code": 0, + "text": text + }, + ensure_ascii=False + ).encode() + b"\0" + else: + yield json.dumps({ + "error_code": resp["error_code"], + "text": resp["error_msg"] + }, + ensure_ascii=False + ).encode() + b"\0" + + def get_embeddings(self, params): + # TODO: 支持embeddings + print("embedding") + print(params) + + +if __name__ == "__main__": + import uvicorn + from server.utils import MakeFastAPIOffline + from fastchat.serve.model_worker import app + + worker = EnrieWorker( + controller_addr="http://127.0.0.1:20001", + worker_addr="http://127.0.0.1:20003", + ) + sys.modules["fastchat.serve.model_worker"].worker = worker + MakeFastAPIOffline(app) + uvicorn.run(app, port=20003) \ No newline at end of file From 6b734ced568cb37a2ec83f6a1419d63995737b70 Mon Sep 17 00:00:00 2001 From: hzg0601 Date: Thu, 14 Sep 2023 17:00:20 +0800 Subject: [PATCH 47/60] =?UTF-8?q?update=20readme,readme=5Fen:=E6=9B=B4?= =?UTF-8?q?=E6=96=B0fastchat=E4=BF=A1=E6=81=AF;=E5=88=A0=E9=99=A4=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E5=8F=B7=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 +++------ README_en.md | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 75c05369..50b16c04 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,8 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch - [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat) and others - [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B) - [all models of OpenOrca](https://huggingface.co/Open-Orca) +- [Spicyboros](https://huggingface.co/jondurbin/spicyboros-7b-2.2?not-for-all-audiences=true) + [airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2) +- [VMware's OpenLLaMa OpenInstruct](https://huggingface.co/VMware/open-llama-7b-open-instruct) - 任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) - 在以上模型基础上训练的任何 [Peft](https://github.com/huggingface/peft) 适配器。为了激活,模型路径中必须有 `peft` 。注意:如果加载多个peft模型,你可以通过在任何模型工作器中设置环境变量 `PEFT_SHARE_BASE_WEIGHTS=true` 来使它们共享基础模型的权重。 @@ -246,8 +248,7 @@ text_splitter_dict = { "tokenizer_name_or_path": "", ## 空格不填则默认使用大模型的分词器。 } } - ``` - +``` 如果你选择使用OpenAI的Embedding模型,请将模型的 ``key``写入 `embedding_model_dict`中。使用该模型,你需要能够访问OpenAI官的API,或设置代理。 @@ -525,7 +526,3 @@ $ streamlit run webui.py --server.port 666 二维码 🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 - -![1694251762513](image/README/1694251762513.png) - -🎉 langchain-ChatGLM 项目新开通了订阅号,欢迎订阅。 diff --git a/README_en.md b/README_en.md index 4f61aac8..9e2c3123 100644 --- a/README_en.md +++ b/README_en.md @@ -108,6 +108,8 @@ The project use [FastChat](https://github.com/lm-sys/FastChat) to provide the AP - [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat) and other models of FlagAlpha - [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B) - [all models of OpenOrca](https://huggingface.co/Open-Orca) +- [Spicyboros](https://huggingface.co/jondurbin/spicyboros-7b-2.2?not-for-all-audiences=true) + [airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2) +- [VMware's OpenLLaMa OpenInstruct](https://huggingface.co/VMware/open-llama-7b-open-instruct) * Any [EleutherAI](https://huggingface.co/EleutherAI) pythia model such as [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)(任何 [EleutherAI](https://huggingface.co/EleutherAI) 的 pythia 模型,如 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)) * Any [Peft](https://github.com/huggingface/peft) adapter trained on top of a model above. To activate, must have `peft` in the model path. Note: If loading multiple peft models, you can have them share the base model weights by setting the environment variable `PEFT_SHARE_BASE_WEIGHTS=true` in any model worker. @@ -356,7 +358,3 @@ Please refer to [FAQ](docs/FAQ.md) 二维码 **WeChat Group** - -![1694252029167](image/README_en/1694252029167.png) - -**WeChat Subscription** From 17985c7f8ec2c9ef1d7cb6d2778c048c60723f27 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 22:24:58 +0800 Subject: [PATCH 48/60] update splitter.md --- docs/splitter.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/splitter.md b/docs/splitter.md index f44a7e8d..54a3d985 100644 --- a/docs/splitter.md +++ b/docs/splitter.md @@ -1,10 +1,11 @@ -## 自定义分词器 +## 如何自定义分词器 ### 在哪里写,哪些文件要改 1. 在```text_splitter```文件夹下新建一个文件,文件名为您的分词器名字,比如`my_splitter.py`,然后在`__init__.py`中导入您的分词器,如下所示: ```python from .my_splitter import MySplitter ``` + 2. 修改```config/model_config.py```文件,将您的分词器名字添加到```text_splitter_dict```中,如下所示: ```python MySplitter: { @@ -13,9 +14,11 @@ MySplitter: { } TEXT_SPLITTER_NAME = "MySplitter" ``` + 完成上述步骤后,就能使用自己的分词器了。 ### 如何贡献您的分词器 + 1. 将您的分词器所在的代码文件放在```text_splitter```文件夹下,文件名为您的分词器名字,比如`my_splitter.py`,然后在`__init__.py`中导入您的分词器。 2. 发起PR,并说明您的分词器面向的场景或者改进之处。我们非常期待您能举例一个具体的应用场景。 3. 在Readme.md中添加您的分词器的使用方法和支持说明。 From bda1b01a2d67e86d2cee9169fe7e7d2deca1f543 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 22:27:57 +0800 Subject: [PATCH 49/60] update model_config.py.example --- configs/model_config.py.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 5e93ddea..6cbfc9b8 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -75,8 +75,8 @@ llm_model_dict = { # 比如: "openai_proxy": 'http://127.0.0.1:4780' "gpt-3.5-turbo": { "api_base_url": "https://api.openai.com/v1", - "api_key": os.environ.get("OPENAI_API_KEY"), - "openai_proxy": os.environ.get("OPENAI_PROXY") + "api_key": "", + "openai_proxy": "" }, # 线上模型。当前支持智谱AI。 # 如果没有设置有效的local_model_path,则认为是在线模型API。 @@ -84,7 +84,7 @@ llm_model_dict = { # 具体注册及api key获取请前往 http://open.bigmodel.cn "chatglm-api": { "api_base_url": "http://127.0.0.1:8888/v1", - "api_key": os.environ.get("ZHIPUAI_API_KEY"), + "api_key": "", "provider": "ChatGLMWorker", "version": "chatglm_pro", # 可选包括 "chatglm_lite", "chatglm_std", "chatglm_pro" }, From 4c61a642cf3730d38d0bac0369d0d914f9e44621 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 22:29:26 +0800 Subject: [PATCH 50/60] update model_config.py.example --- configs/model_config.py.example | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 6cbfc9b8..6a324237 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -131,13 +131,13 @@ LLM_DEVICE = "auto" text_splitter_dict = { "ChineseRecursiveTextSplitter": { - "source": "huggingface", - "tokenizer_name_or_path": "gpt2", - }, - "SpacyTextSplitter": { "source": "", "tokenizer_name_or_path": "", }, + "SpacyTextSplitter": { + "source": "huggingface", + "tokenizer_name_or_path": "gpt2", + }, "RecursiveCharacterTextSplitter": { "source": "tiktoken", "tokenizer_name_or_path": "cl100k_base", From 1813814a6588ba838d6f2c9d2e8e07f8638a6a61 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 22:29:49 +0800 Subject: [PATCH 51/60] update model_config.py.example --- configs/model_config.py.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 6a324237..2057e100 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -155,13 +155,13 @@ text_splitter_dict = { } # TEXT_SPLITTER 名称 -TEXT_SPLITTER_NAME = "SpacyTextSplitter" +TEXT_SPLITTER_NAME = "ChineseRecursiveTextSplitter" # 知识库中单段文本长度(不适用MarkdownHeaderTextSplitter) CHUNK_SIZE = 250 # 知识库中相邻文本重合长度(不适用MarkdownHeaderTextSplitter) -OVERLAP_SIZE = 50 +OVERLAP_SIZE = 0 # 日志存储路径 From fbaca1009e44887c92aa266f2dc00c1a97c9ba37 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Thu, 14 Sep 2023 22:59:05 +0800 Subject: [PATCH 52/60] update requirements.txt, requirements_api.txt, test_different_splitter.py and chinese_recursive_text_splitter.py --- requirements.txt | 6 ++++++ requirements_api.txt | 14 ++++++++----- .../test_different_splitter.py | 20 +++++++++++++++---- .../chinese_recursive_text_splitter.py | 2 +- 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/requirements.txt b/requirements.txt index abd0f1b5..57147881 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,6 +18,12 @@ spacy PyMuPDF==1.22.5 rapidocr_onnxruntime>=1.3.2 +requests +pathlib +pytest +scikit-learn +numexpr + # uncomment libs if you want to use corresponding vector store # pymilvus==2.1.3 # requires milvus==2.1.3 # psycopg2 diff --git a/requirements_api.txt b/requirements_api.txt index 9a057084..c56c07bf 100644 --- a/requirements_api.txt +++ b/requirements_api.txt @@ -9,18 +9,22 @@ nltk~=3.8.1 uvicorn~=0.23.1 starlette~=0.27.0 pydantic~=1.10.11 -unstructured[all-docs] +unstructured[all-docs]>=0.10.4 python-magic-bin; sys_platform == 'win32' SQLAlchemy==2.0.19 faiss-cpu -nltk accelerate spacy PyMuPDF==1.22.5 -rapidocr_onnxruntime>=1.3.1 -websockets +rapidocr_onnxruntime>=1.3.2 + +requests +pathlib +pytest +scikit-learn +numexpr # uncomment libs if you want to use corresponding vector store # pymilvus==2.1.3 # requires milvus==2.1.3 # psycopg2 -# pgvector +# pgvector \ No newline at end of file diff --git a/tests/custom_splitter/test_different_splitter.py b/tests/custom_splitter/test_different_splitter.py index 9993a9cc..fea597e7 100644 --- a/tests/custom_splitter/test_different_splitter.py +++ b/tests/custom_splitter/test_different_splitter.py @@ -20,22 +20,34 @@ def text(splitter_name): docs = loader.load() text_splitter = make_text_splitter(splitter_name, CHUNK_SIZE, OVERLAP_SIZE) if splitter_name == "MarkdownHeaderTextSplitter": - split_docs = text_splitter.split_text(docs[0].page_content) + docs = text_splitter.split_text(docs[0].page_content) for doc in docs: if doc.metadata: doc.metadata["source"] = os.path.basename(filepath) else: - split_docs = text_splitter.split_documents(docs) + docs = text_splitter.split_documents(docs) + for doc in docs: + print(doc) return docs import pytest -@pytest.mark.parametrize("splitter_name", ["ChineseRecursiveTextSplitter", "SpacyTextSplitter", "RecursiveCharacterTextSplitter","MarkdownHeaderTextSplitter"]) +from langchain.docstore.document import Document + +@pytest.mark.parametrize("splitter_name", + [ + "ChineseRecursiveTextSplitter", + "SpacyTextSplitter", + "RecursiveCharacterTextSplitter", + "MarkdownHeaderTextSplitter" + ]) def test_different_splitter(splitter_name): try: docs = text(splitter_name) - assert docs is not None + assert isinstance(docs, list) + if len(docs)>0: + assert isinstance(docs[0], Document) except Exception as e: pytest.fail(f"test_different_splitter failed with {splitter_name}, error: {str(e)}") diff --git a/text_splitter/chinese_recursive_text_splitter.py b/text_splitter/chinese_recursive_text_splitter.py index 05b57b14..70b4b29c 100644 --- a/text_splitter/chinese_recursive_text_splitter.py +++ b/text_splitter/chinese_recursive_text_splitter.py @@ -83,7 +83,7 @@ class ChineseRecursiveTextSplitter(RecursiveCharacterTextSplitter): if _good_splits: merged_text = self._merge_splits(_good_splits, _separator) final_chunks.extend(merged_text) - return final_chunks + return [re.sub(r"\n{2,}", "\n", chunk.strip()) for chunk in final_chunks if chunk.strip()!=""] if __name__ == "__main__": From 4cf2e5ea5ebcbc02b288fe6d63a1381375f3c8e7 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Thu, 14 Sep 2023 23:37:34 +0800 Subject: [PATCH 53/60] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E5=BF=83?= =?UTF-8?q?=E4=B8=80=E8=A8=80=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 6 +- configs/server_config.py.example | 4 + server/model_workers/__init__.py | 2 +- server/model_workers/ernie.py | 121 -------------------------- server/model_workers/qianfan.py | 142 +++++++++++++++++++++++++++++++ tests/online_api/test_qianfan.py | 20 +++++ 6 files changed, 170 insertions(+), 125 deletions(-) delete mode 100644 server/model_workers/ernie.py create mode 100644 server/model_workers/qianfan.py create mode 100644 tests/online_api/test_qianfan.py diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 2057e100..b2256d3e 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -103,9 +103,9 @@ llm_model_dict = { "is_v2": False, "provider": "XingHuoWorker", }, - # Ernie Bot Turbo API,申请方式请参考 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/4lilb2lpf - "ernie-api": { - "version": "ernie-bot-turbo", # 当前支持 "ernie-bot" 或 "ernie-bot-turbo" + # 百度千帆 API,申请方式请参考 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/4lilb2lpf + "qianfan-api": { + "version": "ernie-bot", # 当前支持 "ernie-bot" 或 "ernie-bot-turbo" "api_base_url": "http://127.0.0.1:8888/v1", "api_key": "", "secret_key": "", diff --git a/configs/server_config.py.example b/configs/server_config.py.example index 3107c1d3..60ed32e5 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -59,6 +59,7 @@ FSCHAT_MODEL_WORKERS = { # "limit_worker_concurrency": 5, # "stream_interval": 2, # "no_register": False, + # "embed_in_truncate": False, }, "baichuan-7b": { # 使用default中的IP和端口 "device": "cpu", @@ -72,6 +73,9 @@ FSCHAT_MODEL_WORKERS = { "xinghuo-api": { # 请为每个在线API设置不同的端口 "port": 20005, }, + "qianfan-api": { + "port": 20006, + }, } # fastchat multi model worker server diff --git a/server/model_workers/__init__.py b/server/model_workers/__init__.py index cb23a4a1..a3a162f3 100644 --- a/server/model_workers/__init__.py +++ b/server/model_workers/__init__.py @@ -1,4 +1,4 @@ from .zhipu import ChatGLMWorker from .minimax import MiniMaxWorker from .xinghuo import XingHuoWorker -from .ernie import ErnieWorker +from .qianfan import QianFanWorker diff --git a/server/model_workers/ernie.py b/server/model_workers/ernie.py deleted file mode 100644 index 3c9920b4..00000000 --- a/server/model_workers/ernie.py +++ /dev/null @@ -1,121 +0,0 @@ -from server.model_workers.base import ApiModelWorker -from fastchat import conversation as conv -import sys -import json -import requests -from typing import List, Literal - -MODEL_VERSIONS = { - "ernie-bot": "completions", - "ernie-bot-turbo": "eb-instant" -} - - -class ErnieWorker(ApiModelWorker): - """ - 百度 Ernie - """ - BASE_URL = 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat'\ - '/{model_version}?access_token={access_token}' - SUPPORT_MODELS = list(MODEL_VERSIONS.keys()) - - def __init__( - self, - *, - version: Literal["ernie-bot", "ernie-bot-turbo"] = "ernie-bot", - model_names: List[str] = ["ernie-api"], - controller_addr: str, - worker_addr: str, - **kwargs, - ): - kwargs.update(model_names=model_names, controller_addr=controller_addr, worker_addr=worker_addr) - kwargs.setdefault("context_len", 16384) - super().__init__(**kwargs) - - # TODO: 确认模板是否需要修改 - self.conv = conv.Conversation( - name=self.model_names[0], - system_message="", - messages=[], - roles=["user", "assistant"], - sep="\n### ", - stop_str="###", - ) - - config = self.get_config() - self.version = version - self.api_key = config.get("api_key") - self.secret_key = config.get("secret_key") - self.access_token = self.get_access_token() - - def get_access_token(self): - """ - 使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key - """ - - url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials"\ - f"&client_id={self.api_key}"\ - f"&client_secret={self.secret_key}" - - payload = json.dumps("") - headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - } - - response = requests.request("POST", url, headers=headers, data=payload) - return response.json().get("access_token") - - def generate_stream_gate(self, params): - url = self.BASE_URL.format( - model_version=MODEL_VERSIONS[self.version], - access_token=self.access_token - ) - payload = json.dumps({ - "messages": self.prompt_to_messages(params["prompt"]), - "stream": True - }) - headers = { - 'Content-Type': 'application/json' - } - - response = requests.request("POST", url, headers=headers, data=payload, stream=True) - - text="" - for line in response.iter_lines(): - if line.decode("utf-8").startswith("data: "): # 真是优秀的返回 - resp = json.loads(line.decode("utf-8")[6:]) - if "result" in resp.keys(): - text += resp["result"] - yield json.dumps({ - "error_code": 0, - "text": text - }, - ensure_ascii=False - ).encode() + b"\0" - else: - yield json.dumps({ - "error_code": resp["error_code"], - "text": resp["error_msg"] - }, - ensure_ascii=False - ).encode() + b"\0" - - def get_embeddings(self, params): - # TODO: 支持embeddings - print("embedding") - print(params) - - -if __name__ == "__main__": - import uvicorn - from server.utils import MakeFastAPIOffline - from fastchat.serve.model_worker import app - - worker = EnrieWorker( - controller_addr="http://127.0.0.1:20001", - worker_addr="http://127.0.0.1:20003", - ) - sys.modules["fastchat.serve.model_worker"].worker = worker - MakeFastAPIOffline(app) - uvicorn.run(app, port=20003) \ No newline at end of file diff --git a/server/model_workers/qianfan.py b/server/model_workers/qianfan.py new file mode 100644 index 00000000..cbdd9965 --- /dev/null +++ b/server/model_workers/qianfan.py @@ -0,0 +1,142 @@ +from server.model_workers.base import ApiModelWorker +from configs.model_config import TEMPERATURE +from fastchat import conversation as conv +import sys +import json +import httpx +from cachetools import cached, TTLCache +from server.utils import get_model_worker_config +from typing import List, Literal, Dict + + +# TODO: support all qianfan models +MODEL_VERSIONS = { + "ernie-bot": "completions", + "ernie-bot-turbo": "eb-instant", +} + + +@cached(TTLCache(1, 1800)) # 经过测试,缓存的token可以使用,目前每30分钟刷新一次 +def get_baidu_access_token(api_key: str, secret_key: str) -> str: + """ + 使用 AK,SK 生成鉴权签名(Access Token) + :return: access_token,或是None(如果错误) + """ + url = "https://aip.baidubce.com/oauth/2.0/token" + params = {"grant_type": "client_credentials", "client_id": api_key, "client_secret": secret_key} + try: + return httpx.get(url, params=params).json().get("access_token") + except Exception as e: + print(f"failed to get token from baidu: {e}") + + +def request_qianfan_api( + messages: List[Dict[str, str]], + temperature: float = TEMPERATURE, + model_name: str = "qianfan-api", + version: str = None, +) -> Dict: + BASE_URL = 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat'\ + '/{model_version}?access_token={access_token}' + config = get_model_worker_config(model_name) + version = version or config.get("version") + access_token = get_baidu_access_token(config.get("api_key"), config.get("secret_key")) + if not access_token: + raise RuntimeError(f"failed to get access token. have you set the correct api_key and secret key?") + + url = BASE_URL.format( + model_version=MODEL_VERSIONS[version], + access_token=access_token, + ) + payload = { + "messages": messages, + "temperature": temperature, + "stream": True + } + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + } + + with httpx.stream("POST", url, headers=headers, json=payload) as response: + for line in response.iter_lines(): + if not line.strip(): + continue + if line.startswith("data: "): + line = line[6:] + resp = json.loads(line) + yield resp + + +class QianFanWorker(ApiModelWorker): + """ + 百度千帆 + """ + def __init__( + self, + *, + version: Literal["ernie-bot", "ernie-bot-turbo"] = "ernie-bot", + model_names: List[str] = ["ernie-api"], + controller_addr: str, + worker_addr: str, + **kwargs, + ): + kwargs.update(model_names=model_names, controller_addr=controller_addr, worker_addr=worker_addr) + kwargs.setdefault("context_len", 16384) + super().__init__(**kwargs) + + # TODO: 确认模板是否需要修改 + self.conv = conv.Conversation( + name=self.model_names[0], + system_message="", + messages=[], + roles=["user", "assistant"], + sep="\n### ", + stop_str="###", + ) + + config = self.get_config() + self.version = version + self.api_key = config.get("api_key") + self.secret_key = config.get("secret_key") + + def generate_stream_gate(self, params): + messages = self.prompt_to_messages(params["prompt"]) + text="" + for resp in request_qianfan_api(messages, + temperature=params.get("temperature"), + model_name=self.model_names[0]): + if "result" in resp.keys(): + text += resp["result"] + yield json.dumps({ + "error_code": 0, + "text": text + }, + ensure_ascii=False + ).encode() + b"\0" + else: + yield json.dumps({ + "error_code": resp["error_code"], + "text": resp["error_msg"] + }, + ensure_ascii=False + ).encode() + b"\0" + + def get_embeddings(self, params): + # TODO: 支持embeddings + print("embedding") + print(params) + + +if __name__ == "__main__": + import uvicorn + from server.utils import MakeFastAPIOffline + from fastchat.serve.model_worker import app + + worker = QianFanWorker( + controller_addr="http://127.0.0.1:20001", + worker_addr="http://127.0.0.1:20006", + ) + sys.modules["fastchat.serve.model_worker"].worker = worker + MakeFastAPIOffline(app) + uvicorn.run(app, port=20006) \ No newline at end of file diff --git a/tests/online_api/test_qianfan.py b/tests/online_api/test_qianfan.py new file mode 100644 index 00000000..0e8a9487 --- /dev/null +++ b/tests/online_api/test_qianfan.py @@ -0,0 +1,20 @@ +import sys +from pathlib import Path +root_path = Path(__file__).parent.parent.parent +sys.path.append(str(root_path)) + +from server.model_workers.qianfan import request_qianfan_api, MODEL_VERSIONS +from pprint import pprint +import pytest + + +@pytest.mark.parametrize("version", MODEL_VERSIONS.keys()) +def test_qianfan(version): + messages = [{"role": "user", "content": "你好"}] + print("\n" + version + "\n") + i = 1 + for x in request_qianfan_api(messages, version=version): + pprint(x) + assert isinstance(x, dict) + assert "error_code" not in x + i += 1 From f0f1dc2537f4c5c56f62c1593304580b3c4b48dc Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Fri, 15 Sep 2023 00:30:18 +0800 Subject: [PATCH 54/60] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E5=8D=83=E5=B8=86=E5=B9=B3=E5=8F=B0=E6=94=AF=E6=8C=81=E7=9A=84?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=EF=BC=9B=E9=99=A4=E4=BA=86=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=90=8D=E7=A7=B0=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E6=8C=87=E5=AE=9A=E6=A8=A1=E5=9E=8BAPIURL?= =?UTF-8?q?=EF=BC=8C=E4=BE=BF=E4=BA=8E=E5=A1=AB=E5=86=99=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=9A=84=E6=A8=A1=E5=9E=8B=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/model_config.py.example | 3 ++- server/model_workers/qianfan.py | 34 +++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index b2256d3e..25763d67 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -105,7 +105,8 @@ llm_model_dict = { }, # 百度千帆 API,申请方式请参考 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/4lilb2lpf "qianfan-api": { - "version": "ernie-bot", # 当前支持 "ernie-bot" 或 "ernie-bot-turbo" + "version": "ernie-bot", # 当前支持 "ernie-bot" 或 "ernie-bot-turbo", 更多的见文档模型支持列表中千帆部分。 + "version_url": "", # 可以不填写version,直接填写在千帆申请模型发布的API地址 "api_base_url": "http://127.0.0.1:8888/v1", "api_key": "", "secret_key": "", diff --git a/server/model_workers/qianfan.py b/server/model_workers/qianfan.py index cbdd9965..8a593a7e 100644 --- a/server/model_workers/qianfan.py +++ b/server/model_workers/qianfan.py @@ -9,10 +9,39 @@ from server.utils import get_model_worker_config from typing import List, Literal, Dict -# TODO: support all qianfan models MODEL_VERSIONS = { "ernie-bot": "completions", "ernie-bot-turbo": "eb-instant", + "bloomz-7b": "bloomz_7b1", + "qianfan-bloomz-7b-c": "qianfan_bloomz_7b_compressed", + "llama2-7b-chat": "llama_2_7b", + "llama2-13b-chat": "llama_2_13b", + "llama2-70b-chat": "llama_2_70b", + "qianfan-llama2-ch-7b": "qianfan_chinese_llama_2_7b", + "chatglm2-6b-32k": "chatglm2_6b_32k", + "aquilachat-7b": "aquilachat_7b", + # "linly-llama2-ch-7b": "", # 暂未发布 + # "linly-llama2-ch-13b": "", # 暂未发布 + # "chatglm2-6b": "", # 暂未发布 + # "chatglm2-6b-int4": "", # 暂未发布 + # "falcon-7b": "", # 暂未发布 + # "falcon-180b-chat": "", # 暂未发布 + # "falcon-40b": "", # 暂未发布 + # "rwkv4-world": "", # 暂未发布 + # "rwkv5-world": "", # 暂未发布 + # "rwkv4-pile-14b": "", # 暂未发布 + # "rwkv4-raven-14b": "", # 暂未发布 + # "open-llama-7b": "", # 暂未发布 + # "dolly-12b": "", # 暂未发布 + # "mpt-7b-instruct": "", # 暂未发布 + # "mpt-30b-instruct": "", # 暂未发布 + # "OA-Pythia-12B-SFT-4": "", # 暂未发布 + # "xverse-13b": "", # 暂未发布 + + # # 以下为企业测试,需要单独申请 + # "flan-ul2": "", + # "Cerebras-GPT-6.7B": "" + # "Pythia-6.9B": "" } @@ -40,12 +69,13 @@ def request_qianfan_api( '/{model_version}?access_token={access_token}' config = get_model_worker_config(model_name) version = version or config.get("version") + version_url = config.get("version_url") access_token = get_baidu_access_token(config.get("api_key"), config.get("secret_key")) if not access_token: raise RuntimeError(f"failed to get access token. have you set the correct api_key and secret key?") url = BASE_URL.format( - model_version=MODEL_VERSIONS[version], + model_version=version_url or MODEL_VERSIONS[version], access_token=access_token, ) payload = { From 30aeec1c45495d38f962d2c5fd90dc2dbdd38a40 Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Fri, 15 Sep 2023 01:48:02 +0800 Subject: [PATCH 55/60] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=99=BA=E8=B0=B1API?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=90=8D=E7=A7=B0=EF=BC=8C=E7=BB=99WEBUI?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BB=E9=A2=98=20(#1484)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 給WEBUI设置主题 * chatglm-api更名为zhipu-api --- configs/model_config.py.example | 2 +- configs/server_config.py.example | 2 +- server/model_workers/zhipu.py | 2 +- startup.py | 7 ++++++- webui_pages/knowledge_base/knowledge_base.py | 2 +- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 25763d67..5c92348b 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -82,7 +82,7 @@ llm_model_dict = { # 如果没有设置有效的local_model_path,则认为是在线模型API。 # 请在server_config中为每个在线API设置不同的端口 # 具体注册及api key获取请前往 http://open.bigmodel.cn - "chatglm-api": { + "zhipu-api": { "api_base_url": "http://127.0.0.1:8888/v1", "api_key": "", "provider": "ChatGLMWorker", diff --git a/configs/server_config.py.example b/configs/server_config.py.example index 60ed32e5..51f53dc3 100644 --- a/configs/server_config.py.example +++ b/configs/server_config.py.example @@ -64,7 +64,7 @@ FSCHAT_MODEL_WORKERS = { "baichuan-7b": { # 使用default中的IP和端口 "device": "cpu", }, - "chatglm-api": { # 请为每个在线API设置不同的端口 + "zhipu-api": { # 请为每个在线API设置不同的端口 "port": 20003, }, "minimax-api": { # 请为每个在线API设置不同的端口 diff --git a/server/model_workers/zhipu.py b/server/model_workers/zhipu.py index 63fd3b48..f835ac06 100644 --- a/server/model_workers/zhipu.py +++ b/server/model_workers/zhipu.py @@ -12,7 +12,7 @@ class ChatGLMWorker(ApiModelWorker): def __init__( self, *, - model_names: List[str] = ["chatglm-api"], + model_names: List[str] = ["zhipu-api"], version: Literal["chatglm_pro", "chatglm_std", "chatglm_lite"] = "chatglm_std", controller_addr: str, worker_addr: str, diff --git a/startup.py b/startup.py index c3f15364..e53762d8 100644 --- a/startup.py +++ b/startup.py @@ -360,7 +360,12 @@ def run_webui(started_event: mp.Event = None): p = subprocess.Popen(["streamlit", "run", "webui.py", "--server.address", host, - "--server.port", str(port)]) + "--server.port", str(port), + "--theme.base", "light", + "--theme.primaryColor", "#165dff", + "--theme.secondaryBackgroundColor", "#f5f5f5", + "--theme.textColor", "#000000", + ]) started_event.set() p.wait() diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index c4069abe..110b2e4b 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -130,7 +130,7 @@ def knowledge_base_page(api: ApiRequest): with st.sidebar: chunk_size = st.number_input("单段文本最大长度:", 1, 1000, CHUNK_SIZE) chunk_overlap = st.number_input("相邻文本重合长度:", 0, 500, OVERLAP_SIZE) - zh_title_enhance = st.checkbox("开启中文标题加强:", ZH_TITLE_ENHANCE) + zh_title_enhance = st.checkbox("开启中文标题加强", ZH_TITLE_ENHANCE) # 上传文件 files = st.file_uploader("上传知识文件:", From 20eef45a58d1758b2b46069364f24c7f1c22c3f6 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Fri, 15 Sep 2023 09:53:58 +0800 Subject: [PATCH 56/60] update README.md --- README.md | 157 ++++---------------------------- configs/model_config.py.example | 2 +- docs/splitter.md | 2 +- server/knowledge_base/utils.py | 15 ++- startup.py | 4 +- 5 files changed, 33 insertions(+), 147 deletions(-) diff --git a/README.md b/README.md index 50b16c04..d6c374e4 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,7 @@ * [2. 下载模型至本地](README.md#2.-下载模型至本地) * [3. 设置配置项](README.md#3.-设置配置项) * [4. 知识库初始化与迁移](README.md#4.-知识库初始化与迁移) - * [5. 一键启动API服务或WebUI服务](README.md#6.-一键启动) - * [6. 分步启动 API 服务或 Web UI](README.md#5.-启动-API-服务或-Web-UI) + * [5. 一键启动 API 服务或 Web UI](README.md#5.-一键启动-API-服务或-Web-UI) * [常见问题](README.md#常见问题) * [路线图](README.md#路线图) * [项目交流群](README.md#项目交流群) @@ -78,7 +77,9 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch ### LLM 模型支持 -本项目最新版本中基于 [FastChat](https://github.com/lm-sys/FastChat) 进行本地 LLM 模型接入,支持模型如下: +本项目最新版本中支持接入**本地模型**与**在线 LLM API**。 + +本地 LLM 模型接入基于 [FastChat](https://github.com/lm-sys/FastChat) 实现,支持模型如下: - [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf) - Vicuna, Alpaca, LLaMA, Koala @@ -119,7 +120,10 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch 以上模型支持列表可能随 [FastChat](https://github.com/lm-sys/FastChat) 更新而持续更新,可参考 [FastChat 已支持模型列表](https://github.com/lm-sys/FastChat/blob/main/docs/model_support.md)。 -除本地模型外,本项目也支持直接接入 OpenAI API,具体设置可参考 `configs/model_configs.py.example` 中的 `llm_model_dict` 的 `openai-chatgpt-3.5` 配置信息。 +在线 LLM 模型目前已支持: + + +项目中默认使用的 LLM 类型为 `THUDM/chatglm2-6b`,如需使用其他 LLM 类型,请在 [configs/model_config.py] 中对 `llm_model_dict` 和 `` 进行修改。 ### Embedding 模型支持 @@ -144,11 +148,13 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch - [nghuyong/ernie-3.0-base-zh](https://huggingface.co/nghuyong/ernie-3.0-base-zh) - [OpenAI/text-embedding-ada-002](https://platform.openai.com/docs/guides/embeddings) +项目中默认使用的 Embedding 类型为 `moka-ai/m3e-base`,如需使用其他 Embedding 类型,请在 [configs/model_config.py] 中对 `embedding_model_dict` 和 `EMBEDDING_MODEL` 进行修改。 + --- ### Text Splitter 个性化支持 -本项目支持调用 [Langchain](https://api.python.langchain.com/en/latest/api_reference.html#module-langchain.text_splitter) 的Text Splitter分词器以及基于此改进的自定义分词器,已支持的Text Splitter类型如下: +本项目支持调用 [Langchain](https://api.python.langchain.com/en/latest/api_reference.html#module-langchain.text_splitter) 的 Text Splitter 分词器以及基于此改进的自定义分词器,已支持的 Text Splitter 类型如下: - CharacterTextSplitter - LatexTextSplitter @@ -162,11 +168,13 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch 已经支持的定制分词器如下: -- AliTextSplitter -- ChineseRecursiveTextSplitter -- ChineseTextSplitter +- [AliTextSplitter](text_splitter/ali_text_splitter.py) +- [ChineseRecursiveTextSplitter](text_splitter/chinese_recursive_text_splitter.py) +- [ChineseTextSplitter](text_splitter/chinese_text_splitter.py) -关于如何使用自定义分词器和贡献自己的分词器,可以参考[这里](docs/splitter.md) +项目中默认使用的 Text Splitter 类型为 `ChineseRecursiveTextSplitter`,如需使用其他 Text Splitter 类型,请在 [configs/model_config.py] 中对 `text_splitter_dict` 和 `TEXT_SPLITTER` 进行修改。 + +关于如何使用自定义分词器和贡献自己的分词器,可以参考[Text Splitter 贡献说明](docs/splitter.md)。 ## Docker 部署 @@ -267,7 +275,7 @@ text_splitter_dict = { $ python init_database.py --recreate-vs ``` -### 5. 一键启动API 服务或 Web UI +### 5. 一键启动 API 服务或 Web UI #### 5.1 启动命令 @@ -345,136 +353,9 @@ CUDA_VISIBLE_DEVICES=0,1 python startup.py -a 2. webui启动界面示例: - Web UI 对话界面: + ![img](img/webui_0813_0.png) -- Web UI 知识库管理页面: - ![](img/webui_0813_1.png) -### 6 分步启动 API 服务或 Web UI - -注意:如使用了一键启动方式,可忽略本节。 - -#### 6.1 启动 LLM 服务 - -如需使用开源模型进行本地部署,需首先启动 LLM 服务,启动方式分为三种: - -- [基于多进程脚本 llm_api.py 启动 LLM 服务](README.md#5.1.1-基于多进程脚本-llm_api.py-启动-LLM-服务) -- [基于命令行脚本 llm_api_stale.py 启动 LLM 服务](README.md#5.1.2-基于命令行脚本-llm_api_stale.py-启动-LLM-服务) -- [PEFT 加载](README.md#5.1.3-PEFT-加载) - -三种方式只需选择一个即可,具体操作方式详见 5.1.1 - 5.1.3。 - -如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务,即 5.1 小节的任何命令均无需启动。 - -##### 6.1.1 基于多进程脚本 llm_api.py 启动 LLM 服务 - -在项目根目录下,执行 [server/llm_api.py](server/llm_api.py) 脚本启动 **LLM 模型**服务: - -```shell -$ python server/llm_api.py -``` - -项目支持多卡加载,需在 llm_api.py 中的 create_model_worker_app 函数中,修改如下三个参数: - -```python -gpus=None, -num_gpus=1, -max_gpu_memory="20GiB" -``` - -其中,`gpus` 控制使用的显卡的ID,如果 "0,1"; - -`num_gpus` 控制使用的卡数; - -`max_gpu_memory` 控制每个卡使用的显存容量。 - -##### 6.1.2 基于命令行脚本 llm_api_stale.py 启动 LLM 服务 - -⚠️ **注意:** - -**1.llm_api_stale.py脚本原生仅适用于linux,mac设备需要安装对应的linux命令,win平台请使用wsl;** - -**2.加载非默认模型需要用命令行参数--model-path-address指定模型,不会读取model_config.py配置;** - -在项目根目录下,执行 [server/llm_api_stale.py](server/llm_api_stale.py) 脚本启动 **LLM 模型**服务: - -```shell -$ python server/llm_api_stale.py -``` - -该方式支持启动多个worker,示例启动方式: - -```shell -$ python server/llm_api_stale.py --model-path-address model1@host1@port1 model2@host2@port2 -``` - -如果出现server端口占用情况,需手动指定server端口,并同步修改model_config.py下对应模型的base_api_url为指定端口: - -```shell -$ python server/llm_api_stale.py --server-port 8887 -``` - -如果要启动多卡加载,示例命令如下: - -```shell -$ python server/llm_api_stale.py --gpus 0,1 --num-gpus 2 --max-gpu-memory 10GiB -``` - -注:以如上方式启动LLM服务会以nohup命令在后台运行 FastChat 服务,如需停止服务,可以运行如下命令: - -```shell -$ python server/llm_api_shutdown.py --serve all -``` - -亦可单独停止一个 FastChat 服务模块,可选 [`all`, `controller`, `model_worker`, `openai_api_server`] - -##### 6.1.3 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia3等) - -本项目基于 FastChat 加载 LLM 服务,故需以 FastChat 加载 PEFT 路径,即保证路径名称里必须有 peft 这个词,配置文件的名字为 adapter_config.json,peft 路径下包含 model.bin 格式的 PEFT 权重。 -详细步骤参考[加载lora微调后模型失效](https://github.com/chatchat-space/Langchain-Chatchat/issues/1130#issuecomment-1685291822) - -![image](https://github.com/chatchat-space/Langchain-Chatchat/assets/22924096/4e056c1c-5c4b-4865-a1af-859cd58a625d) - -#### 6.2 启动 API 服务 - -本地部署情况下,按照 [5.1 节](README.md#5.1-启动-LLM-服务)**启动 LLM 服务后**,再执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; - -在线调用API服务的情况下,直接执执行 [server/api.py](server/api.py) 脚本启动 **API** 服务; - -调用命令示例: - -```shell -$ python server/api.py -``` - -启动 API 服务后,可访问 `localhost:7861` 或 `{API 所在服务器 IP}:7861` FastAPI 自动生成的 docs 进行接口查看与测试。 - -- FastAPI docs 界面 - - ![](img/fastapi_docs_020_0.png) - -#### 6.3 启动 Web UI 服务 - -按照 [5.2 节](README.md#5.2-启动-API-服务)**启动 API 服务后**,执行 [webui.py](webui.py) 启动 **Web UI** 服务(默认使用端口 `8501`) - -```shell -$ streamlit run webui.py -``` - -使用 Langchain-Chatchat 主题色启动 **Web UI** 服务(默认使用端口 `8501`) - -```shell -$ streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000" -``` - -或使用以下命令指定启动 **Web UI** 服务并指定端口号 - -```shell -$ streamlit run webui.py --server.port 666 -``` - -- Web UI 对话界面: - - ![](img/webui_0813_0.png) - Web UI 知识库管理页面: ![](img/webui_0813_1.png) diff --git a/configs/model_config.py.example b/configs/model_config.py.example index 5c92348b..be3c6765 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -156,7 +156,7 @@ text_splitter_dict = { } # TEXT_SPLITTER 名称 -TEXT_SPLITTER_NAME = "ChineseRecursiveTextSplitter" +TEXT_SPLITTER = "ChineseRecursiveTextSplitter" # 知识库中单段文本长度(不适用MarkdownHeaderTextSplitter) CHUNK_SIZE = 250 diff --git a/docs/splitter.md b/docs/splitter.md index 54a3d985..5f0e1078 100644 --- a/docs/splitter.md +++ b/docs/splitter.md @@ -12,7 +12,7 @@ MySplitter: { "source": "huggingface", ## 选择tiktoken则使用openai的方法 "tokenizer_name_or_path": "your tokenizer", #如果选择huggingface则使用huggingface的方法,部分tokenizer需要从Huggingface下载 } -TEXT_SPLITTER_NAME = "MySplitter" +TEXT_SPLITTER = "MySplitter" ``` 完成上述步骤后,就能使用自己的分词器了。 diff --git a/server/knowledge_base/utils.py b/server/knowledge_base/utils.py index f8b102a7..ab4c2f95 100644 --- a/server/knowledge_base/utils.py +++ b/server/knowledge_base/utils.py @@ -8,7 +8,12 @@ from configs.model_config import ( CHUNK_SIZE, OVERLAP_SIZE, ZH_TITLE_ENHANCE, - logger, log_verbose, text_splitter_dict, llm_model_dict, LLM_MODEL,TEXT_SPLITTER_NAME + logger, + log_verbose, + text_splitter_dict, + llm_model_dict, + LLM_MODEL, + TEXT_SPLITTER ) import importlib from text_splitter import zh_title_enhance @@ -177,13 +182,13 @@ def get_loader(loader_name: str, file_path_or_content: Union[str, bytes, io.Stri def make_text_splitter( - splitter_name: str = TEXT_SPLITTER_NAME, + splitter_name: str = TEXT_SPLITTER, chunk_size: int = CHUNK_SIZE, chunk_overlap: int = OVERLAP_SIZE, ): - ''' + """ 根据参数获取特定的分词器 - ''' + """ splitter_name = splitter_name or "SpacyTextSplitter" try: if splitter_name == "MarkdownHeaderTextSplitter": # MarkdownHeaderTextSplitter特殊判定 @@ -268,7 +273,7 @@ class KnowledgeFile: self.docs = None self.splited_docs = None self.document_loader_name = get_LoaderClass(self.ext) - self.text_splitter_name = TEXT_SPLITTER_NAME + self.text_splitter_name = TEXT_SPLITTER def file2docs(self, refresh: bool=False): if self.docs is None or refresh: diff --git a/startup.py b/startup.py index e53762d8..b3094445 100644 --- a/startup.py +++ b/startup.py @@ -18,7 +18,7 @@ except: sys.path.append(os.path.dirname(os.path.dirname(__file__))) from configs.model_config import EMBEDDING_MODEL, llm_model_dict, LLM_MODEL, LOG_PATH, \ - logger, log_verbose, TEXT_SPLITTER_NAME + logger, log_verbose, TEXT_SPLITTER from configs.server_config import (WEBUI_SERVER, API_SERVER, FSCHAT_CONTROLLER, FSCHAT_OPENAI_API, HTTPX_DEFAULT_TIMEOUT) from server.utils import (fschat_controller_address, fschat_model_worker_address, @@ -470,7 +470,7 @@ def dump_server_info(after_start=False, args=None): if args and args.model_name: models = args.model_name - print(f"当前使用的分词器:{TEXT_SPLITTER_NAME}") + print(f"当前使用的分词器:{TEXT_SPLITTER}") print(f"当前启动的LLM模型:{models} @ {llm_device()}") for model in models: From 63f0d2716757b9e549d37f84c2206899e67b211e Mon Sep 17 00:00:00 2001 From: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:16:15 +0800 Subject: [PATCH 57/60] =?UTF-8?q?=E5=9C=A8readme=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=94=AF=E6=8C=81=E7=9A=84=E5=9C=A8=E7=BA=BFAPI?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=20(#1485)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6c374e4..b4538899 100644 --- a/README.md +++ b/README.md @@ -120,10 +120,17 @@ docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/ch 以上模型支持列表可能随 [FastChat](https://github.com/lm-sys/FastChat) 更新而持续更新,可参考 [FastChat 已支持模型列表](https://github.com/lm-sys/FastChat/blob/main/docs/model_support.md)。 + +除本地模型外,本项目也支持直接接入 OpenAI API、智谱AI等在线模型,具体设置可参考 `configs/model_configs.py.example` 中的 `llm_model_dict` 的配置信息。 + 在线 LLM 模型目前已支持: +- [ChatGPT](https://api.openai.com) +- [智谱AI](http://open.bigmodel.cn) +- [MiniMax](https://api.minimax.chat) +- [讯飞星火](https://xinghuo.xfyun.cn) +- [百度千帆](https://cloud.baidu.com/product/wenxinworkshop?track=dingbutonglan) - -项目中默认使用的 LLM 类型为 `THUDM/chatglm2-6b`,如需使用其他 LLM 类型,请在 [configs/model_config.py] 中对 `llm_model_dict` 和 `` 进行修改。 +项目中默认使用的 LLM 类型为 `THUDM/chatglm2-6b`,如需使用其他 LLM 类型,请在 [configs/model_config.py] 中对 `llm_model_dict` 和 `LLM_MODEL` 进行修改。 ### Embedding 模型支持 From f066e427ce7599ea035d967b31720fffe0136abe Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Fri, 15 Sep 2023 10:58:52 +0800 Subject: [PATCH 58/60] update webui_pages/knowledge_base.py --- webui_pages/knowledge_base/knowledge_base.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index 110b2e4b..8c96cb06 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -127,10 +127,6 @@ def knowledge_base_page(api: ApiRequest): elif selected_kb: kb = selected_kb - with st.sidebar: - chunk_size = st.number_input("单段文本最大长度:", 1, 1000, CHUNK_SIZE) - chunk_overlap = st.number_input("相邻文本重合长度:", 0, 500, OVERLAP_SIZE) - zh_title_enhance = st.checkbox("开启中文标题加强", ZH_TITLE_ENHANCE) # 上传文件 files = st.file_uploader("上传知识文件:", @@ -138,6 +134,19 @@ def knowledge_base_page(api: ApiRequest): accept_multiple_files=True, ) + + # with st.sidebar: + with st.expander( + "文件处理配置", + expanded=True, + ): + cols = st.columns(3) + chunk_size = cols[0].number_input("单段文本最大长度:", 1, 1000, CHUNK_SIZE) + chunk_overlap = cols[1].number_input("相邻文本重合长度:", 0, 500, OVERLAP_SIZE) + cols[2].write("") + cols[2].write("") + zh_title_enhance = cols[2].checkbox("开启中文标题加强", ZH_TITLE_ENHANCE) + if st.button( "添加文件到知识库", # use_container_width=True, From eb49a91190d25005e4b8d1a1b81470b39d63d4c5 Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Fri, 15 Sep 2023 11:04:23 +0800 Subject: [PATCH 59/60] update webui_pages/knowledge_base.py --- webui_pages/knowledge_base/knowledge_base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webui_pages/knowledge_base/knowledge_base.py b/webui_pages/knowledge_base/knowledge_base.py index 8c96cb06..6ec9aa64 100644 --- a/webui_pages/knowledge_base/knowledge_base.py +++ b/webui_pages/knowledge_base/knowledge_base.py @@ -175,7 +175,7 @@ def knowledge_base_page(api: ApiRequest): st.info("知识库中包含源文件与向量库,请从下表中选择文件后操作") doc_details.drop(columns=["kb_name"], inplace=True) doc_details = doc_details[[ - "No", "file_name", "document_loader", "docs_count", "in_folder", "in_db", + "No", "file_name", "document_loader", "text_splitter", "docs_count", "in_folder", "in_db", ]] # doc_details["in_folder"] = doc_details["in_folder"].replace(True, "✓").replace(False, "×") # doc_details["in_db"] = doc_details["in_db"].replace(True, "✓").replace(False, "×") @@ -188,7 +188,7 @@ def knowledge_base_page(api: ApiRequest): # ("file_version", "文档版本"): {}, ("document_loader", "文档加载器"): {}, ("docs_count", "文档数量"): {}, - # ("text_splitter", "分词器"): {}, + ("text_splitter", "分词器"): {}, # ("create_time", "创建时间"): {}, ("in_folder", "源文件"): {"cellRenderer": cell_renderer}, ("in_db", "向量库"): {"cellRenderer": cell_renderer}, From a87a2815daf6c3ea275fb3f547091266b8d6c50f Mon Sep 17 00:00:00 2001 From: imClumsyPanda Date: Fri, 15 Sep 2023 13:45:47 +0800 Subject: [PATCH 60/60] update knowledge_base and dialogue page of webui --- README.md | 4 ++-- README_en.md | 7 +++++-- configs/__init__.py | 2 +- configs/model_config.py.example | 4 ++-- img/webui_020_0.png | Bin 334230 -> 0 bytes img/webui_020_1.png | Bin 156394 -> 0 bytes img/webui_0813_0.png | Bin 255254 -> 0 bytes img/webui_0813_1.png | Bin 139988 -> 0 bytes img/webui_0915_0.png | Bin 0 -> 242261 bytes img/webui_0915_1.png | Bin 0 -> 174316 bytes .../samples/vector_store/index.faiss | Bin 255021 -> 221229 bytes knowledge_base/samples/vector_store/index.pkl | Bin 51879 -> 46892 bytes webui_pages/dialogue/dialogue.py | 9 +++++---- webui_pages/knowledge_base/knowledge_base.py | 2 +- 14 files changed, 16 insertions(+), 12 deletions(-) delete mode 100644 img/webui_020_0.png delete mode 100644 img/webui_020_1.png delete mode 100644 img/webui_0813_0.png delete mode 100644 img/webui_0813_1.png create mode 100644 img/webui_0915_0.png create mode 100644 img/webui_0915_1.png diff --git a/README.md b/README.md index b4538899..93784df7 100644 --- a/README.md +++ b/README.md @@ -361,11 +361,11 @@ CUDA_VISIBLE_DEVICES=0,1 python startup.py -a - Web UI 对话界面: - ![img](img/webui_0813_0.png) +![img](img/webui_0915_0.png) - Web UI 知识库管理页面: - ![](img/webui_0813_1.png) +![](img/webui_0915_1.png) --- diff --git a/README_en.md b/README_en.md index 9e2c3123..3e46f3eb 100644 --- a/README_en.md +++ b/README_en.md @@ -300,10 +300,13 @@ The API, chat interface of WebUI, and knowledge management interface of WebUI ar 2. Chat Interface of WebUI -![img](img/webui_0813_0.png) +- Dialogue interface of WebUI + +![img](img/webui_0915_0.png) - Knowledge management interface of WebUI - ![img](img/webui_0813_1.png) + +![img](img/webui_0915_1.png) ### 6 Luanching API Service or WebUI step-by-step diff --git a/configs/__init__.py b/configs/__init__.py index d47abf14..41169e8b 100644 --- a/configs/__init__.py +++ b/configs/__init__.py @@ -1,4 +1,4 @@ from .model_config import * from .server_config import * -VERSION = "v0.2.4-preview" +VERSION = "v0.2.4" diff --git a/configs/model_config.py.example b/configs/model_config.py.example index be3c6765..0aa0cf5b 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -203,13 +203,13 @@ DEFAULT_VS_TYPE = "faiss" CACHED_VS_NUM = 1 # 知识库匹配向量数量 -VECTOR_SEARCH_TOP_K = 5 +VECTOR_SEARCH_TOP_K = 3 # 知识库匹配相关度阈值,取值范围在0-1之间,SCORE越小,相关度越高,取到1相当于不筛选,建议设置在0.5左右 SCORE_THRESHOLD = 1 # 搜索引擎匹配结题数量 -SEARCH_ENGINE_TOP_K = 5 +SEARCH_ENGINE_TOP_K = 3 # nltk 模型存储路径 NLTK_DATA_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "nltk_data") diff --git a/img/webui_020_0.png b/img/webui_020_0.png deleted file mode 100644 index bd07527b1104cbaa9d0332e0581b0bc4bb3b7ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334230 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 z zoGZY1i51T{ZHq|3(!s8D1wym0Pzj=A?P`fwR=r`}#_ z9_vyZ))=_09N$;xC`+Axlp02Rp>$q^Zi3i?See`L|{g0lvF^IQ^WbkBt*)DzP zpYfy@_6Icx0qIwM)O^> zwxYe7D6daOj5ngSgV;8$3FgMpkI$p&$_RLfE9s?PgAzO_7by<8xQHLKGCfiOvaF%h zBEmjE+Dmii`qH8_;p9@J{7WJfc^iRaFjc5HrEhhv0r|Ah$NnJM%^pFveh(-FblsAP z2$ciAp2b*3c>TQ>?}8}Un!JaQ>y9?Y<~~hTiwKA`vm5kijPNO;dk~ad1aY-Qjqjkd z{A_57n5FtvAGGvnjq?Hwy6mIHFSq+U+xZs(>>LES9HBTU8b$$DQ~gdZmE2wy{Eo0# zJ@Lr|FsPjy>v9eT!317#Ea_S4C|raF+6WnGCEpn*Iov+C$q$m18pKVXQoPsh1}0Ij zLi0y#qGi{WqUpKr3K(Ark=xRAT9Yua#|Qfl^}PgVK5$)R2)wXvS5`f_H51x4T_&DZv1_W8T*%a!b;7FA{uM+$+2AKQlMC9N%0L5T-Jip9|W z&ZnUL5d7|6cho1{<$K%HAyvb9iR14cfxe^_;(AXU=M=p7>?WdnM$H=j>s-A)Yv%`Q4D3bjyoS%yvUIVqQk zW!<6f`44tAZ7-((4jW^AjIh;!r1qQVX+Y1nZni^U!c)^H9Hdz#%XwnO7eOZw=a73_ zNtaTcvo%k}<^ws`bB1!`edUZGeC_)Ixg?vD{D3#TfH>~{cE$m>A*S5+1w~LAH{C~4 z$f2+g|Ebz(^tWbUt52-qKKf-uUy5k2#4JqX+m)|`SFGQla!lY>^bu=+M4mDbeomZv zpOSFu--u$++ElxR(OPBN;5QqyudE`HN@+(cI$;;wdJXE7I1QQ>w%_A^>6z|)+|&;L zPJhAglweDLaaW}EDPawwdG=mxjA}yB(r20`)g$YJ@t1(h-9tkqfC#m;uv;eZ3@eVTWpgWQv(54$;nA19zBF_3&?o`8-&P2T_`eQk3 z{oYkEU!!$eCX@` zyXhX{=g~0);sLyqnV~kHg-v^(kX_r{FEQuJSZ(265DFyk zBJiPCx4l7)MQWt9kP`cuR>!qoykS`U#2P|J$IWiXK62MJWX@UQIu+=0x4oKR5!62& z4%R2G?-<_tIefp7Ye6dk0UJ&G>gs$bQ+N~q8fB_D{2|xE9!5tX4j)y&hWdVYK?Mw< zV61hWILEUQ2kn&-8*I&1cFhde7cu3dLTo~W<@tI&>O?aLg?EozBfh=k^yBe%8cB4` zwyk4YP2DtTYBrIRz3VHi??3|*Do}3%VJ3o}(nnFv3q2| z#lwALI)R`?=6Ju+E=(2Lp%>!{FTe4#Ieqtc`%xLK9Cv0Yu*(LvBy%0D&=WPVr~~>E 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