fix: map agent workflow inputs
This commit is contained in:
@@ -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 ''
|
||||
|
||||
Reference in New Issue
Block a user