6.i initial pr

This commit is contained in:
leonzh0u 2023-07-16 18:28:44 -04:00
parent 07b400187c
commit d651ed2882
2 changed files with 21 additions and 3 deletions

View file

@ -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():

View file

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