修复/kb/update
This commit is contained in:
@@ -174,10 +174,26 @@ async def update(
|
|||||||
return get_data_error_result(
|
return get_data_error_result(
|
||||||
message="Duplicated knowledgebase name.")
|
message="Duplicated knowledgebase name.")
|
||||||
|
|
||||||
|
# 构建更新数据,包含所有可更新的字段
|
||||||
update_data = {
|
update_data = {
|
||||||
"name": name,
|
"name": name,
|
||||||
"pagerank": request.pagerank
|
"pagerank": request.pagerank
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 添加可选字段(如果提供了的话)
|
||||||
|
if request.description is not None:
|
||||||
|
update_data["description"] = request.description
|
||||||
|
if request.permission is not None:
|
||||||
|
update_data["permission"] = request.permission
|
||||||
|
if request.avatar is not None:
|
||||||
|
update_data["avatar"] = request.avatar
|
||||||
|
if request.parser_id is not None:
|
||||||
|
update_data["parser_id"] = request.parser_id
|
||||||
|
if request.embd_id is not None:
|
||||||
|
update_data["embd_id"] = request.embd_id
|
||||||
|
if request.parser_config is not None:
|
||||||
|
update_data["parser_config"] = request.parser_config
|
||||||
|
|
||||||
if not KnowledgebaseService.update_by_id(kb.id, update_data):
|
if not KnowledgebaseService.update_by_id(kb.id, update_data):
|
||||||
return get_data_error_result()
|
return get_data_error_result()
|
||||||
|
|
||||||
@@ -195,7 +211,26 @@ async def update(
|
|||||||
return get_data_error_result(
|
return get_data_error_result(
|
||||||
message="Database error (Knowledgebase rename)!")
|
message="Database error (Knowledgebase rename)!")
|
||||||
kb = kb.to_dict()
|
kb = kb.to_dict()
|
||||||
kb.update(update_data)
|
|
||||||
|
# 使用完整的请求数据更新返回结果,保持与原来代码的一致性
|
||||||
|
request_data = {
|
||||||
|
"name": name,
|
||||||
|
"pagerank": request.pagerank
|
||||||
|
}
|
||||||
|
if request.description is not None:
|
||||||
|
request_data["description"] = request.description
|
||||||
|
if request.permission is not None:
|
||||||
|
request_data["permission"] = request.permission
|
||||||
|
if request.avatar is not None:
|
||||||
|
request_data["avatar"] = request.avatar
|
||||||
|
if request.parser_id is not None:
|
||||||
|
request_data["parser_id"] = request.parser_id
|
||||||
|
if request.embd_id is not None:
|
||||||
|
request_data["embd_id"] = request.embd_id
|
||||||
|
if request.parser_config is not None:
|
||||||
|
request_data["parser_config"] = request.parser_config
|
||||||
|
|
||||||
|
kb.update(request_data)
|
||||||
|
|
||||||
return get_json_result(data=kb)
|
return get_json_result(data=kb)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -30,6 +30,12 @@ class UpdateKnowledgeBaseRequest(BaseModel):
|
|||||||
"""更新知识库请求模型"""
|
"""更新知识库请求模型"""
|
||||||
kb_id: str = Field(..., description="知识库ID")
|
kb_id: str = Field(..., description="知识库ID")
|
||||||
name: str = Field(..., description="知识库名称")
|
name: str = Field(..., description="知识库名称")
|
||||||
|
description: Optional[str] = Field(None, description="知识库描述")
|
||||||
|
permission: Optional[str] = Field(None, description="权限设置")
|
||||||
|
avatar: Optional[str] = Field(None, description="头像base64字符串")
|
||||||
|
parser_id: Optional[str] = Field(None, description="解析器ID")
|
||||||
|
embd_id: Optional[str] = Field(None, description="嵌入模型ID")
|
||||||
|
parser_config: Optional[Dict[str, Any]] = Field(None, description="解析器配置")
|
||||||
pagerank: Optional[int] = Field(0, description="页面排名")
|
pagerank: Optional[int] = Field(0, description="页面排名")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user