ForcePilot/src/agents/common/middlewares/context_middlewares.py
Wenjie Zhang 09fffb233c feat: 添加 middleware, subagents 支持
- 统一导入路径,优化代码结构,删除冗余文件和函数
- refactor: 将 chatbot agent 使用 create_agent 重构,大幅简化处理逻辑
2025-11-05 02:04:34 +08:00

26 lines
769 B
Python

"""通用的 Context 相关中间件"""
from collections.abc import Callable
from langchain.agents.middleware import ModelRequest, ModelResponse, dynamic_prompt, wrap_model_call
from src.agents.common import load_chat_model
@dynamic_prompt
def context_aware_prompt(request: ModelRequest) -> str:
"""从 runtime context 动态生成系统提示词"""
return request.runtime.context.system_prompt
@wrap_model_call
async def context_based_model(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""从 runtime context 动态选择模型"""
model_spec = request.runtime.context.model
model = load_chat_model(model_spec)
request = request.override(model=model)
return await handler(request)