From 90bb3f94f61ade18777a232044f88085249add91 Mon Sep 17 00:00:00 2001 From: didi <2020201387@ruc.edu.cn> Date: Wed, 4 Oct 2023 23:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AA=E7=8E=AFimport=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st_game/actions/inner_voice_action.py | 5 ++--- .../st_game/actions/run_reflect_action.py | 21 +++++++++---------- examples/st_game/reflect/reflect.py | 3 +-- examples/st_game/tests/test_reflect.py | 13 +++++++++++- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/examples/st_game/actions/inner_voice_action.py b/examples/st_game/actions/inner_voice_action.py index 2a9bb0afc..082921554 100644 --- a/examples/st_game/actions/inner_voice_action.py +++ b/examples/st_game/actions/inner_voice_action.py @@ -1,5 +1,4 @@ import re -from examples.st_game.roles.st_role import STRole from examples.st_game.actions.st_action import STAction from examples.st_game.memory.agent_memory import BasicMemory from metagpt.logs import logger @@ -22,8 +21,8 @@ class AgentWhisperThoughtAction(STAction): def _func_fail_default_resp(self) -> str: pass - async def run(self, role: STRole, statements: str, test_input=None, verbose=False) -> str: - def create_prompt_input(role: STRole, statements, test_input=None): + async def run(self, role: "STRole", statements: str, test_input=None, verbose=False) -> str: + def create_prompt_input(role: "STRole", statements, test_input=None): prompt_input = [role.scratch.name, statements] return prompt_input diff --git a/examples/st_game/actions/run_reflect_action.py b/examples/st_game/actions/run_reflect_action.py index 40bb54d7b..1e26145c2 100644 --- a/examples/st_game/actions/run_reflect_action.py +++ b/examples/st_game/actions/run_reflect_action.py @@ -8,7 +8,6 @@ from metagpt.logs import logger from examples.st_game.actions.st_action import STAction from examples.st_game.memory.agent_memory import BasicMemory -from examples.st_game.roles.st_role import STRole # Run GPT Prompt Focal Point method @@ -34,8 +33,8 @@ class AgentFocusPt(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, n: int, test_input=None) -> str: - def create_prompt_input(role: STRole, statements, n, test_input=None): + def run(self, role: "STRole", statements: str, n: int, test_input=None) -> str: + def create_prompt_input(role: "STRole", statements, n, test_input=None): prompt_input = [statements, str(n)] return prompt_input @@ -80,7 +79,7 @@ class AgentInsightAndGuidance(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, n: int, test_input=None) -> dict: + def run(self, role: "STRole", statements: str, n: int, test_input=None) -> dict: def create_prompt_input(role, statements, n, test_input=None): prompt_input = [statements, str(n)] return prompt_input @@ -116,7 +115,7 @@ class AgentEventTriple(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, statements: str, role: STRole, verbose=False) -> tuple: + def run(self, statements: str, role: "STRole", verbose=False) -> tuple: def create_prompt_input(statements, role): if "(" in statements: statements = statements.split("(")[-1].split(")")[0] @@ -155,8 +154,8 @@ class AgentEventPoignancy(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, test_input=None, verbose=False) -> str: - def create_prompt_input(role: STRole, statements: str, test_input=None): + def run(self, role: "STRole", statements: str, test_input=None, verbose=False) -> str: + def create_prompt_input(role: "STRole", statements: str, test_input=None): prompt_input = [role.scratch.name, role.scratch.get_str_iss(), role.scratch.name, @@ -196,8 +195,8 @@ class AgentChatPoignancy(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, test_input=None, verbose=False) -> str: - def create_prompt_input(role: STRole, statements, test_input=None): + def run(self, role: "STRole", statements: str, test_input=None, verbose=False) -> str: + def create_prompt_input(role: "STRole", statements, test_input=None): prompt_input = [role.scratch.name, role.scratch.get_str_iss(), role.scratch.name, @@ -236,7 +235,7 @@ class AgentPlanThoughtOnConvo(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, test_input=None, verbose=False) -> str: + def run(self, role: "STRole", statements: str, test_input=None, verbose=False) -> str: def create_prompt_input(role, statements, test_input=None): prompt_input = [statements, role.scratch.name, @@ -272,7 +271,7 @@ class AgentMemoryOnConvo(STAction): def _func_fail_default_resp(self) -> str: pass - def run(self, role: STRole, statements: str, test_input=None, verbose=False) -> str: + def run(self, role: "STRole", statements: str, test_input=None, verbose=False) -> str: def create_prompt_input(role, statements, test_input=None): prompt_input = [statements, role.scratch.name, diff --git a/examples/st_game/reflect/reflect.py b/examples/st_game/reflect/reflect.py index 1ff0c16ab..77a1554e6 100644 --- a/examples/st_game/reflect/reflect.py +++ b/examples/st_game/reflect/reflect.py @@ -5,7 +5,6 @@ import datetime from metagpt.logs import logger -from examples.st_game.roles.st_role import STRole from examples.st_game.utils.utils import get_embedding from examples.st_game.actions.run_reflect_action import ( AgentFocusPt, AgentInsightAndGuidance, AgentEventTriple, @@ -63,7 +62,7 @@ def generate_action_event_triple(act_desp, role): return result -def generate_poig_score(role: STRole, event_type, description): +def generate_poig_score(role: "STRole", event_type, description): if "is idle" in description: return 1 diff --git a/examples/st_game/tests/test_reflect.py b/examples/st_game/tests/test_reflect.py index 54544f051..e1b77a591 100644 --- a/examples/st_game/tests/test_reflect.py +++ b/examples/st_game/tests/test_reflect.py @@ -1,7 +1,18 @@ +import pytest +from examples.st_game.roles.st_role import STRole from metagpt.logs import logger -from examples.st_game.memory.agent_memory import AgentMemory, BasicMemory + +class TestReflect: + @pytest.fixture + def init_agent(self): + # 创建一个AgentMemory实例并返回,可以在所有测试用例中共享 + role = STRole('Isabella Rodriguez', 'STMember', 'base_the_vile_isabella_maria_klaus') + return role + + def test_focus(self, init_agent): + init_agent.reflect() """ 测试思路 1.