fix(db): fix database connection handling
This commit is contained in:
@@ -20,9 +20,7 @@ class KnowledgeRetrievalNode(BaseNode):
|
|||||||
|
|
||||||
async def execute(self, state: WorkflowState) -> Any:
|
async def execute(self, state: WorkflowState) -> Any:
|
||||||
query = self._render_template(self.typed_config.query, state)
|
query = self._render_template(self.typed_config.query, state)
|
||||||
db_gen = get_db()
|
db = next(get_db())
|
||||||
db = next(db_gen)
|
|
||||||
try:
|
|
||||||
filters = [
|
filters = [
|
||||||
knowledge_model.Knowledge.id.in_(self.typed_config.kb_ids),
|
knowledge_model.Knowledge.id.in_(self.typed_config.kb_ids),
|
||||||
knowledge_model.Knowledge.permission_id == knowledge_model.PermissionType.Private,
|
knowledge_model.Knowledge.permission_id == knowledge_model.PermissionType.Private,
|
||||||
@@ -93,5 +91,3 @@ class KnowledgeRetrievalNode(BaseNode):
|
|||||||
unique_rs.append(doc)
|
unique_rs.append(doc)
|
||||||
rs = vector_service.rerank(query=query, docs=unique_rs, top_k=self.typed_config.top_k)
|
rs = vector_service.rerank(query=query, docs=unique_rs, top_k=self.typed_config.top_k)
|
||||||
return [chunk.model_dump() for chunk in rs]
|
return [chunk.model_dump() for chunk in rs]
|
||||||
finally:
|
|
||||||
next(db_gen)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user