37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from typing import Optional, List
|
|
from strands import Agent
|
|
|
|
from .conversation_manager import ByteWindowConversationManager
|
|
from .hooks import default_hooks
|
|
from .model import get_model
|
|
from .prompts import build_system_prompt
|
|
from .tools import get_tools
|
|
from . import config
|
|
|
|
|
|
|
|
def create_agent(
|
|
*,
|
|
system_prompt: Optional[str] = None,
|
|
messages: Optional[List[dict]] = None,
|
|
) -> Agent:
|
|
"""创建一个 Agent 实例,带有可选的系统提示和消息列表。
|
|
|
|
Args:
|
|
system_prompt (Optional[str]): 系统提示,用于指导 Agent 的行为。
|
|
messages (Optional[List[dict]]): 消息列表,每条消息是一个字典,包含角色和内容。
|
|
|
|
Returns:
|
|
Agent: 创建的 Agent 实例。
|
|
"""
|
|
agent = Agent(
|
|
model=get_model(),
|
|
system_prompt=system_prompt,
|
|
tools=get_tools(),
|
|
conversation_manager=ByteWindowConversationManager(
|
|
max_bytes=config.CONV_MAX_BYTES
|
|
),
|
|
hooks=default_hooks(),
|
|
messages=messages or []
|
|
)
|