Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
|
|
from aworld.core.agent.base import AgentFactory
|
|
from aworld.core.context.base import Context
|
|
from aworld.core.event.base import Message
|
|
from aworld.runners.hook.hooks import PreLLMCallHook, PostLLMCallHook
|
|
from aworld.runners.hook.hook_factory import HookFactory
|
|
from aworld.utils.common import convert_to_snake
|
|
|
|
|
|
@HookFactory.register(name="TestPreLLMHook", desc="Test pre-LLM hook")
|
|
class TestPreLLMHook(PreLLMCallHook):
|
|
def name(self):
|
|
return convert_to_snake("TestPreLLMHook")
|
|
|
|
async def exec(self, message: Message, context: Context = None) -> Message:
|
|
agent = AgentFactory.agent_instance(message.sender)
|
|
context = message.context
|
|
context.context_info.set('step', 1)
|
|
return message
|
|
|
|
|
|
@HookFactory.register(name="TestPostLLMHook", desc="Test post-LLM hook")
|
|
class TestPostLLMHook(PostLLMCallHook):
|
|
def name(self):
|
|
return convert_to_snake("TestPostLLMHook")
|
|
|
|
async def exec(self, message: Message, context: Context = None) -> Message:
|
|
agent = AgentFactory.agent_instance(message.sender)
|
|
context = message.context
|
|
assert context.context_info.get('step') == 1
|
|
return message
|