Fix chunk enable/disable issue (#3579)

### What problem does this PR solve?

#3576

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Kevin Hu 2024-11-22 12:25:42 +08:00 committed by GitHub
parent 60a3e1a8dc
commit 9f3141804f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 7 deletions

View File

@ -170,9 +170,12 @@ def switch():
e, doc = DocumentService.get_by_id(req["doc_id"]) e, doc = DocumentService.get_by_id(req["doc_id"])
if not e: if not e:
return get_data_error_result(message="Document not found!") return get_data_error_result(message="Document not found!")
if not settings.docStoreConn.update({"id": req["chunk_ids"]}, {"available_int": int(req["available_int"])}, for cid in req["chunk_ids"]:
search.index_name(doc.tenant_id), doc.kb_id): if not settings.docStoreConn.update({"id": cid},
return get_data_error_result(message="Index updating failure") {"available_int": int(req["available_int"])},
search.index_name(DocumentService.get_tenant_id(req["doc_id"])),
doc.kb_id):
return get_data_error_result(message="Index updating failure")
return get_json_result(data=True) return get_json_result(data=True)
except Exception as e: except Exception as e:
return server_error_response(e) return server_error_response(e)

View File

@ -517,8 +517,8 @@ def user_register(user_id, user):
"llm_name": llm.llm_name, "llm_name": llm.llm_name,
"model_type": llm.model_type, "model_type": llm.model_type,
"api_key": settings.API_KEY, "api_key": settings.API_KEY,
"api_base": settings.LLM_BASE_URL "api_base": settings.LLM_BASE_URL,
#"max_tokens": llm.max_tokens if llm.max_tokens else 8192 "max_tokens": llm.max_tokens if llm.max_tokens else 8192
} }
) )

View File

@ -56,7 +56,7 @@ class Dealer:
if key in req and req[key] is not None: if key in req and req[key] is not None:
condition[field] = req[key] condition[field] = req[key]
# TODO(yzc): `available_int` is nullable however infinity doesn't support nullable columns. # TODO(yzc): `available_int` is nullable however infinity doesn't support nullable columns.
for key in ["knowledge_graph_kwd"]: for key in ["knowledge_graph_kwd", "available_int"]:
if key in req and req[key] is not None: if key in req and req[key] is not None:
condition[key] = req[key] condition[key] = req[key]
return condition return condition

View File

@ -121,8 +121,14 @@ class ESConnection(DocStoreConnection):
bqry = Q("bool", must=[]) bqry = Q("bool", must=[])
condition["kb_id"] = knowledgebaseIds condition["kb_id"] = knowledgebaseIds
for k, v in condition.items(): for k, v in condition.items():
if not isinstance(k, str) or not v: if k == "available_int":
if v == 0:
bqry.filter.append(Q("range", available_int={"lt": 1}))
else:
bqry.filter.append(
Q("bool", must_not=Q("range", available_int={"lt": 1})))
continue continue
if not v: continue
if isinstance(v, list): if isinstance(v, list):
bqry.filter.append(Q("terms", **{k: v})) bqry.filter.append(Q("terms", **{k: v}))
elif isinstance(v, str) or isinstance(v, int): elif isinstance(v, str) or isinstance(v, int):