mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-08 15:05:17 +02:00
add object ranker
This commit is contained in:
parent
a22d7d8983
commit
1eb141a45f
1 changed files with 4 additions and 3 deletions
|
|
@ -38,12 +38,10 @@ class ObjectSortPostprocessor(BaseNodePostprocessor):
|
|||
return []
|
||||
|
||||
self._check_metadata(nodes[0].node)
|
||||
|
||||
sort_key = lambda node: json.loads(node.node.metadata["obj_json"])[self.field_name]
|
||||
return self._get_sort_func()(self.top_n, nodes, key=sort_key)
|
||||
|
||||
def _get_sort_func(self):
|
||||
return heapq.nlargest if self.order == "desc" else heapq.nsmallest
|
||||
|
||||
def _check_metadata(self, node: ObjectNode):
|
||||
try:
|
||||
obj_dict = json.loads(node.metadata.get("obj_json"))
|
||||
|
|
@ -52,3 +50,6 @@ class ObjectSortPostprocessor(BaseNodePostprocessor):
|
|||
|
||||
if self.field_name not in obj_dict:
|
||||
raise ValueError(f"Field '{self.field_name}' not found in object: {obj_dict}")
|
||||
|
||||
def _get_sort_func(self):
|
||||
return heapq.nlargest if self.order == "desc" else heapq.nsmallest
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue