循环import解决

This commit is contained in:
didi 2023-10-04 23:36:29 +08:00
parent 4e4a3bce58
commit 90bb3f94f6
4 changed files with 25 additions and 17 deletions

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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.