更新时间:2024-08-29 GMT+08:00
Agent流式输出
Agent用于工具调用场景,与普通的LLM流式输出相比,提供了事件流的封装。消息内容、工具调用等通过不同的事件类型区分。
通过如下接口为Agent添加流式输出的回调:
/** * 设置流式接口回调函数 * * @param streamAgentCallback 事件流回调 */ void setStreamCallback(StreamAgentCallBack streamAgentCallback);
StreamAgentCallBack实现示例:
private class StreamAgentCallBackImpl implements StreamAgentCallBack { @Override public void onEventReceived(AgentEvent agentEvent) { log.debug("-----> stream event: {}", agentEvent.getType().getEventType()); log.debug("-----> stream data: {}", JSON.toJSONString(agentEvent)); } }
事件类型列表如下:
/** * 消息创建 */ MESSAGE_CREATED("session.message.created"), /** * action创建 */ ACTION_CREATED("session.action.created"), /** * 流式消息 */ ACTION_MESSAGE_DELTA("session.action.message.delta"), /** * 流式工具调用 */ ACTION_TOOL_DELTA("session.action.tool.delta"), /** * action结束 */ ACTION_COMPLETED("session.action.completed"), /** * 消息结束 */ MESSAGE_COMPLETED("session.message.completed");
父主题: Agent(智能代理)