diff --git a/src/backend/bisheng/api/services/linsight/sop_manage.py b/src/backend/bisheng/api/services/linsight/sop_manage.py index fe470b7f2..3d76666c7 100644 --- a/src/backend/bisheng/api/services/linsight/sop_manage.py +++ b/src/backend/bisheng/api/services/linsight/sop_manage.py @@ -216,7 +216,7 @@ class SOPManageService: :param file: 文件路径 """ if not file.size: - raise NotFoundError.http_exception(msg="未找到上传的SOP文件") + raise NotFoundError.http_exception(msg="未找到上传的指导手册文件") error_rows = [] success_rows = [] wb = None @@ -267,9 +267,9 @@ class SOPManageService: if error_rows and not ignore_error: error_msg = "\n".join(error_rows) raise SopFileError.http_exception( - msg=f"共计划导入{len(success_rows) + len(error_rows)}条SOP,格式正确{len(success_rows)}条,错误{len(error_rows)}条:\n {error_msg}") + msg=f"共计划导入{len(success_rows) + len(error_rows)}条指导手册,格式正确{len(success_rows)}条,错误{len(error_rows)}条:\n {error_msg}") if not success_rows: - raise NotFoundError.http_exception(msg="未找到格式正确的SOP数据") + raise NotFoundError.http_exception(msg="未找到格式正确的指导手册数据") records = [LinsightSOPRecord(**one, user_id=login_user.user_id) for one in success_rows] return await cls._sync_sop_record(records, override=override, save_new=save_new) @@ -289,7 +289,7 @@ class SOPManageService: if not emb_model_id: raise ServerError.http_exception(msg="未配置知识库embedding模型,请从工作台配置中设置") except AttributeError: - raise ServerError.http_exception(msg="工作台配置中未找到SOP embedding模型,请从工作台配置中设置") + raise ServerError.http_exception(msg="工作台配置中未找到指导手册 embedding模型,请从工作台配置中设置") # 校验embedding模型 embed_info = LLMDao.get_model_by_id(int(emb_model_id)) @@ -313,7 +313,7 @@ class SOPManageService: vector_client.add_texts([sop_obj.content[0:10000]], metadatas=metadatas) es_client.add_texts([sop_obj.content], ids=[vector_store_id], metadatas=metadatas) except Exception as e: - raise ServerError.http_exception(msg=f"添加SOP失败,向向量存储添加数据失败: {str(e)}") + raise ServerError.http_exception(msg=f"添加指导手册失败,向向量存储添加数据失败: {str(e)}") sop_dict = sop_obj.model_dump(exclude_unset=True) sop_dict["vector_store_id"] = vector_store_id # 设置向量存储ID @@ -322,7 +322,7 @@ class SOPManageService: sop_model.user_id = user_id sop_model = await LinsightSOPDao.create_sop(sop_model) if not sop_model: - raise ServerError.http_exception(msg="添加SOP失败") + raise ServerError.http_exception(msg="添加指导手册失败") return resp_200(data=sop_model) @@ -336,7 +336,7 @@ class SOPManageService: # 校验SOP是否存在 existing_sop = await LinsightSOPDao.get_sops_by_ids([sop_obj.id]) if not existing_sop: - raise NotFoundError.http_exception(msg="SOP不存在") + raise NotFoundError.http_exception(msg="指导手册不存在") if sop_obj.content != existing_sop[0].content: @@ -347,7 +347,7 @@ class SOPManageService: if not emb_model_id: raise ServerError.http_exception(msg="未配置知识库embedding模型,请从工作台配置中设置") except AttributeError: - raise ServerError.http_exception(msg="工作台配置中未找到SOP embedding模型,请从工作台配置中设置") + raise ServerError.http_exception(msg="工作台配置中未找到指导手册 embedding模型,请从工作台配置中设置") vector_store_id = existing_sop[0].vector_store_id embeddings = decide_embeddings(emb_model_id) @@ -368,7 +368,7 @@ class SOPManageService: es_client.add_texts([sop_obj.content], ids=[vector_store_id], metadatas=metadatas) except Exception as e: - raise ServerError.http_exception(msg=f"更新SOP失败,向向量存储更新数据失败: {str(e)}") + raise ServerError.http_exception(msg=f"更新指导手册失败,向向量存储更新数据失败: {str(e)}") # 更新数据库中的SOP sop_model = await LinsightSOPDao.update_sop(sop_obj) @@ -384,7 +384,7 @@ class SOPManageService: :return: 删除结果 """ if not sop_ids: - raise NotFoundError.http_exception(msg="SOP ID列表不能为空") + raise NotFoundError.http_exception(msg="指导手册 ID列表不能为空") # 校验SOP是否存在 existing_sops = await LinsightSOPDao.get_sops_by_ids(sop_ids) @@ -405,7 +405,7 @@ class SOPManageService: es_client.delete(vector_store_ids) except Exception as e: - raise ServerError.http_exception(msg=f"删除SOP失败,向向量存储删除数据失败: {str(e)}") + raise ServerError.http_exception(msg=f"删除指导手册失败,向向量存储删除数据失败: {str(e)}") # 删除数据库中的SOP await LinsightSOPDao.remove_sop(sop_ids=sop_ids) @@ -486,7 +486,7 @@ class SOPManageService: text_splitter=text_splitter) retrievers = [baseline_vector_retriever] else: - error_msg = "SOP检索失败,向量检索与关键词检索均不可用" + error_msg = "指导手册检索失败,向量检索与关键词检索均不可用" return [], error_msg retriever = EnsembleRetriever(retrievers=retrievers, weights=[0.5, 0.5] if len(retrievers) > 1 else [1.0]) @@ -512,8 +512,8 @@ class SOPManageService: return results, error_msg except Exception as e: - logger.error(f"搜索SOP失败: {str(e)}") - return [], f"SOP检索失败: {str(e)}" + logger.error(f"搜索指导手册失败: {str(e)}") + return [], f"指导手册检索失败: {str(e)}" # 重建SOP VectorStore @classmethod diff --git a/src/backend/bisheng/api/v1/linsight.py b/src/backend/bisheng/api/v1/linsight.py index bf8409edc..d4f560db7 100644 --- a/src/backend/bisheng/api/v1/linsight.py +++ b/src/backend/bisheng/api/v1/linsight.py @@ -673,7 +673,7 @@ async def sync_sop_record( raise e except Exception as e: logger.exception("sync_sop_record error") - return resp_500(code=500, message=f"SOP 导入失败:{str(e)[:100]}") # 限制错误信息长度,避免过长 + return resp_500(code=500, message=f"指导手册 导入失败:{str(e)[:100]}") # 限制错误信息长度,避免过长 @router.post("/sop/upload", summary="批量导入SOP入库", response_model=UnifiedResponseModel) @@ -693,12 +693,12 @@ async def upload_sop_file( return resp_200(data={ "repeat_name": repeat_name, - }, message="SOP文件上传成功") + }, message="指导手册文件上传成功") except HTTPException as e: raise e except Exception as e: logger.exception("SOP文件上传失败") - return resp_500(code=500, message=f"SOP 导入失败:{str(e)[:100]}") # 限制错误信息长度,避免过长 + return resp_500(code=500, message=f"指导手册 导入失败:{str(e)[:100]}") # 限制错误信息长度,避免过长 @router.delete("/sop/remove", summary="删除灵思SOP", response_model=UnifiedResponseModel)