diff --git a/src/config/__init__.py b/src/config/__init__.py index b3b5f820..a8aa7c54 100644 --- a/src/config/__init__.py +++ b/src/config/__init__.py @@ -62,7 +62,7 @@ class Config(SimpleConfig): self.add_item("embed_model", default="siliconflow/BAAI/bge-m3", des="Embedding 模型", choices=list(self.embed_model_names.keys())) self.add_item("reranker", default="siliconflow/BAAI/bge-reranker-v2-m3", des="Re-Ranker 模型", choices=list(self.reranker_names.keys())) self.add_item("model_local_paths", default={}, des="本地模型路径") - self.add_item("use_rewrite_query", default="off", des="重写查询", choices=["off", "on", "hyde"]) + self.add_item("use_rewrite_query", default="on", des="重写查询", choices=["off", "on", "hyde"]) self.add_item("device", default="cuda", des="运行本地模型的设备", choices=["cpu", "cuda"]) ### <<< 默认配置结束 diff --git a/src/core/retriever.py b/src/core/retriever.py index af800ef2..0addb0c6 100644 --- a/src/core/retriever.py +++ b/src/core/retriever.py @@ -145,13 +145,12 @@ class Retriever: rewrite_query_span = config.use_rewrite_query if rewrite_query_span == "off": - rewritten_query = query - else: - from src.utils.prompts import rewritten_query_prompt_template + return query - history_query = [entry["content"] for entry in history if entry["role"] == "user"] if history else "" - rewritten_query_prompt = rewritten_query_prompt_template.format(history=history_query, query=query) - rewritten_query = model.predict(rewritten_query_prompt).content + from src.utils.prompts import rewritten_query_prompt_template2 as rw_template + history_query = [entry["content"] for entry in history if entry["role"] == "user"] if history else "" + rewritten_query_prompt = rw_template.format(history=history_query, query=query) + rewritten_query = model.predict(rewritten_query_prompt).content if rewrite_query_span == "hyde": res = HyDEOperator.call(model_callable=model.predict, query=query, context_str=history_query) diff --git a/src/utils/prompts.py b/src/utils/prompts.py index 09c41eaf..540d2193 100644 --- a/src/utils/prompts.py +++ b/src/utils/prompts.py @@ -34,8 +34,15 @@ rewritten_query_prompt_template = """ rewritten_query_prompt_template2 = """ 你是一个用来辅助查询的助手,请根据历史对话以及最新的问题,改写出多个与查询相关的查询问题,用于从知识库中匹配到参考资料; -<历史信息>{history} -<问题>{query} + +<示例> +历史提问:无锡有哪些好吃的早点? +新的提问:火锅呢? +期望的改写:无锡有哪些好吃的火锅? + + +<历史提问>{history} +<新的问题>{query} """