mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-08 15:05:17 +02:00
6.i initial pr
This commit is contained in:
parent
07b400187c
commit
d651ed2882
2 changed files with 21 additions and 3 deletions
|
|
@ -219,6 +219,7 @@ class Role:
|
|||
if message:
|
||||
if isinstance(message, str):
|
||||
message = Message(message)
|
||||
self.recv(message)
|
||||
if isinstance(message, Message):
|
||||
self.recv(message)
|
||||
elif not await self._observe():
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@
|
|||
@Author : alexanderwu
|
||||
@File : seacher.py
|
||||
"""
|
||||
from metagpt.roles import Role
|
||||
from metagpt.actions import SearchAndSummarize
|
||||
from metagpt.tools import SearchEngineType
|
||||
from metagpt.logs import logger
|
||||
|
||||
from metagpt.roles import Role
|
||||
from metagpt.actions import SearchAndSummarize, ActionOutput
|
||||
from metagpt.tools import SearchEngineType
|
||||
from metagpt.schema import Message
|
||||
|
||||
class Searcher(Role):
|
||||
def __init__(self, name='Alice', profile='Smart Assistant', goal='Provide search services for users',
|
||||
|
|
@ -19,3 +21,18 @@ class Searcher(Role):
|
|||
def set_search_func(self, search_func):
|
||||
action = SearchAndSummarize("", engine=SearchEngineType.CUSTOM_ENGINE, search_func=search_func)
|
||||
self._init_actions([action])
|
||||
|
||||
async def _act_sp(self) -> Message:
|
||||
logger.info(f"{self._setting}: ready to {self._rc.todo}")
|
||||
logger.info(self._rc.memory.get(k=0))
|
||||
response = await self._rc.todo.run(self._rc.memory.get(k=0))
|
||||
# logger.info(response)
|
||||
if isinstance(response, ActionOutput):
|
||||
msg = Message(content=response.content, instruct_content=response.instruct_content,
|
||||
role=self.profile, cause_by=type(self._rc.todo))
|
||||
else:
|
||||
msg = Message(content=response, role=self.profile, cause_by=type(self._rc.todo))
|
||||
self._rc.memory.add(msg)
|
||||
|
||||
async def _act(self) -> Message:
|
||||
return await self._act_sp()
|
||||
Loading…
Add table
Add a link
Reference in a new issue