diff --git a/README.md b/README.md index b690ad0f..bfdee2e9 100644 --- a/README.md +++ b/README.md @@ -298,24 +298,13 @@ $ python server/llm_api_shutdown.py --serve all 亦可单独停止一个 FastChat 服务模块,可选 [`all`, `controller`, `model_worker`, `openai_api_server`] -##### 5.1.3 PEFT 加载 +##### 5.1.3 PEFT 加载(包括lora,p-tuning,prefix tuning, prompt tuning,ia等) 本项目基于 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) -```shell -PEFT_SHARE_BASE_WEIGHTS=true python3 -m fastchat.serve.multi_model_worker \ - --model-path /data/chris/peft-llama-dummy-1 \ - --model-names peft-dummy-1 \ - --model-path /data/chris/peft-llama-dummy-2 \ - --model-names peft-dummy-2 \ - --model-path /data/chris/peft-llama-dummy-3 \ - --model-names peft-dummy-3 \ - --num-gpus 2 -``` - -详见 [FastChat 相关 PR](https://github.com/lm-sys/fastchat/pull/1905#issuecomment-1627801216) #### 5.2 启动 API 服务 @@ -441,6 +430,6 @@ $ python startup.py --all-webui --model-name Qwen-7B-Chat ## 项目交流群 -二维码 +二维码 🎉 langchain-ChatGLM 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。 diff --git a/configs/model_config.py.example b/configs/model_config.py.example index ccfd1b64..49c4c527 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -114,7 +114,7 @@ kbs_config = { "secure": False, }, "pg": { - "connection_uri": "postgresql://postgres:postgres@127.0.0.1:5432/langchain_chatglm", + "connection_uri": "postgresql://postgres:postgres@127.0.0.1:5432/langchain_chatchat", } } diff --git a/docs/FAQ.md b/docs/FAQ.md index 62fe080c..490eb25c 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -170,3 +170,16 @@ A13: 疑为 chatglm 的 quantization 的问题或 torch 版本差异问题,针 Q14: 修改配置中路径后,加载 text2vec-large-chinese 依然提示 `WARNING: No sentence-transformers model found with name text2vec-large-chinese. Creating a new one with MEAN pooling.` A14: 尝试更换 embedding,如 text2vec-base-chinese,请在 [configs/model_config.py](../configs/model_config.py) 文件中,修改 `text2vec-base`参数为本地路径,绝对路径或者相对路径均可 + + +--- + +Q15: 使用pg向量库建表报错 + +A15: 需要手动安装对应的vector扩展(连接pg执行 CREATE EXTENSION IF NOT EXISTS vector) + +--- + +Q16: pymilvus 连接超时 + +A16.pymilvus版本需要匹配和milvus对应否则会超时参考pymilvus==2.1.3 \ No newline at end of file diff --git a/docs/docker/vector_db/pg/docker-compose.yml b/docs/docker/vector_db/pg/docker-compose.yml index 8e8359c3..b14296ba 100644 --- a/docs/docker/vector_db/pg/docker-compose.yml +++ b/docs/docker/vector_db/pg/docker-compose.yml @@ -2,9 +2,9 @@ version: "3.8" services: postgresql: image: ankane/pgvector:v0.4.1 - container_name: langchain-chatgml-pg-db + container_name: langchain_chatchat-pg-db environment: - POSTGRES_DB: langchain_chatgml + POSTGRES_DB: langchain_chatchat POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: diff --git a/docs/向量库环境docker.md b/docs/向量库环境docker.md index 162b0f0a..dd5e2cbc 100644 --- a/docs/向量库环境docker.md +++ b/docs/向量库环境docker.md @@ -5,3 +5,4 @@ cd docs/docker/vector_db/milvus docker-compose up -d ``` + diff --git a/img/qr_code_55.jpg b/img/qr_code_55.jpg new file mode 100644 index 00000000..8ff046c9 Binary files /dev/null and b/img/qr_code_55.jpg differ diff --git a/server/knowledge_base/kb_service/milvus_kb_service.py b/server/knowledge_base/kb_service/milvus_kb_service.py index f9c40c02..87588ede 100644 --- a/server/knowledge_base/kb_service/milvus_kb_service.py +++ b/server/knowledge_base/kb_service/milvus_kb_service.py @@ -45,10 +45,10 @@ class MilvusKBService(KBService): def do_drop_kb(self): self.milvus.col.drop() - def do_search(self, query: str, top_k: int, score_threshold: float, embeddings: Embeddings) -> List[Document]: + def do_search(self, query: str, top_k: int, embeddings: Embeddings): # todo: support score threshold self._load_milvus(embeddings=embeddings) - return self.milvus.similarity_search(query, top_k, score_threshold=SCORE_THRESHOLD) + return self.milvus.similarity_search_with_score(query, top_k) def add_doc(self, kb_file: KnowledgeFile): """ @@ -76,6 +76,7 @@ class MilvusKBService(KBService): if __name__ == '__main__': # 测试建表使用 from server.db.base import Base, engine + Base.metadata.create_all(bind=engine) milvusService = MilvusKBService("test") milvusService.add_doc(KnowledgeFile("README.md", "test")) diff --git a/server/knowledge_base/kb_service/pg_kb_service.py b/server/knowledge_base/kb_service/pg_kb_service.py index a3f9318e..d51a113a 100644 --- a/server/knowledge_base/kb_service/pg_kb_service.py +++ b/server/knowledge_base/kb_service/pg_kb_service.py @@ -43,7 +43,7 @@ class PGKBService(KBService): ''')) connect.commit() - def do_search(self, query: str, top_k: int, score_threshold: float, embeddings: Embeddings) -> List[Document]: + def do_search(self, query: str, top_k: int, embeddings: Embeddings): # todo: support score threshold self._load_pg_vector(embeddings=embeddings) return self.pg_vector.similarity_search_with_score(query, top_k) @@ -76,6 +76,7 @@ class PGKBService(KBService): if __name__ == '__main__': from server.db.base import Base, engine + Base.metadata.create_all(bind=engine) pGKBService = PGKBService("test") pGKBService.create_kb()