阅读时间:1 分钟
0 字

智能体服务

App\Ai\Service\Agent 是业务开发中最常用的入口,适合在模块代码里直接调用。

方法总览

方法主要参数返回值适合用途
createSessionByCode()agentCodeuserTypeuserIdarray创建会话
listSessionsByCode()agentCodelimituserTypeuserIdarray获取会话列表
listMessages()sessionIdlimitarray获取消息列表
renameSession()sessionIdtitlearray修改会话标题
deleteSession()sessionIdvoid删除会话
appendMessage()agentIdsessionIdrolecontentAiAgentMessage手动补写消息
streamChat()agentCodemessagessessionIdGenerator流式对话
estimateTokensForText()textint估算 Token

重点方法说明

createSessionByCode()

php
$session = Agent::createSessionByCode('customer_service');

参数说明:

参数说明
agentCode智能体编码
userType用户类型,可选
userId用户 ID,可选

返回值:会话数组。

streamChat()

php
$messages = [
    ['role' => 'user', 'content' => '请帮我总结今天的待办'],
];

foreach (Agent::streamChat('customer_service', $messages) as $chunk) {
    echo $chunk;
}

参数说明:

参数说明
agentCode智能体编码
messagesOpenAI 风格消息数组
sessionId现有会话 ID,可选
userType用户类型,可选
userId用户 ID,可选

返回值:生成器,适合 SSE 或实时输出。

appendMessage()

适合在业务流程、工作流或外部系统执行完成后,把结果补写回会话。

推荐实践

  • 会话与业务用户尽量绑定
  • 主智能体模型应保持为聊天模型
  • 图片、视频、多步骤任务优先走能力或工作流