mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-01 20:03:28 +02:00
update CR comment
This commit is contained in:
parent
141713738c
commit
44fa8d63d4
1 changed files with 41 additions and 13 deletions
|
|
@ -1,24 +1,52 @@
|
|||
import asyncio
|
||||
import time
|
||||
|
||||
from metagpt.logs import logger
|
||||
from metagpt.environment.mgx.mgx_env import MGXEnv
|
||||
from metagpt.schema import Message
|
||||
from metagpt.roles.di.team_leader import TeamLeader
|
||||
from metagpt.roles import Architect, ProductManager
|
||||
from metagpt.roles.di.data_analyst import DataAnalyst
|
||||
from metagpt.roles.di.engineer2 import Engineer2
|
||||
from metagpt.roles.di.team_leader import TeamLeader
|
||||
from metagpt.schema import Message
|
||||
|
||||
|
||||
async def main():
|
||||
msg = "Write code for a 2048 game"
|
||||
async def main(requirement="", user_defined_recipient="", enable_human_input=False, allow_idle_time=30):
|
||||
env = MGXEnv()
|
||||
env.add_roles([TeamLeader(), Engineer2()])
|
||||
env.publish_message(Message(content=msg, role="user"))
|
||||
tl = env.get_role("Mike")
|
||||
await tl.run()
|
||||
env.add_roles(
|
||||
[
|
||||
TeamLeader(),
|
||||
Engineer2(),
|
||||
ProductManager(),
|
||||
Architect(),
|
||||
DataAnalyst(),
|
||||
]
|
||||
)
|
||||
|
||||
role = env.get_role("Alex")
|
||||
result = await role.run(msg)
|
||||
logger.info(result)
|
||||
msg = Message(content=requirement)
|
||||
env.attach_images(msg) # attach image content if applicable
|
||||
|
||||
if user_defined_recipient:
|
||||
msg.send_to = {user_defined_recipient}
|
||||
env.publish_message(msg, user_defined_recipient=user_defined_recipient)
|
||||
else:
|
||||
env.publish_message(msg)
|
||||
|
||||
allow_idle_time = allow_idle_time if enable_human_input else 1
|
||||
start_time = time.time()
|
||||
while time.time() - start_time < allow_idle_time:
|
||||
if not env.is_idle:
|
||||
await env.run()
|
||||
start_time = time.time() # reset start time
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
requirement = "Write code for a 2048 game"
|
||||
user_defined_recipient = ""
|
||||
|
||||
asyncio.run(
|
||||
main(
|
||||
requirement=requirement,
|
||||
user_defined_recipient=user_defined_recipient,
|
||||
enable_human_input=False,
|
||||
allow_idle_time=60,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue