fix: map agent workflow inputs

This commit is contained in:
2026-06-13 12:16:48 +08:00
parent 47da899ff3
commit 5f3b4502f6
3 changed files with 62 additions and 14 deletions
@@ -91,6 +91,8 @@ class TemplateNode(BaseNode):
return NodeResult(success=False, error=f'智能体不存在或未发布: {agent_code}')
model_id = self.config.get('model_id') or agent.model_id
if not model_id:
model_id = await self._resolve_default_chat_model_id(context)
if not model_id:
return NodeResult(success=False, error=f'智能体未配置模型: {agent.name}({agent.code})')
@@ -148,6 +150,22 @@ class TemplateNode(BaseNode):
elapsed_time=int((time.time() - start_time) * 1000),
)
@staticmethod
async def _resolve_default_chat_model_id(context: NodeContext) -> str:
from ai_platform.models import LLMModel
result = await context.db_session.execute(
select(LLMModel)
.where(
LLMModel.is_deleted == False,
LLMModel.is_active == True,
LLMModel.model_type == 'chat',
)
.order_by(LLMModel.sort.desc(), LLMModel.sys_create_datetime.desc())
)
model = result.scalars().first()
return str(model.id) if model else ''
@staticmethod
def _build_agent_system_prompt(agent: Any) -> str:
base_prompt = agent.system_prompt or ''