🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::AssistantAgent类 参考

#include <AssistantAgent.hpp>

+ 类 ast::AssistantAgent 继承关系图:

Public 成员函数

 AssistantAgent (StringView systemPrompt)
 
 AssistantAgent (AssistantAgent &&)=default
 
AssistantAgentoperator= (AssistantAgent &&)=default
 
void setSystemPrompt (StringView prompt)
 
const std::string & systemPrompt () const
 
template<typename Func >
ChatTooladdTool (Func func)
 
void addTool (std::unique_ptr< ChatTool > tool)
 
ChatToolstools ()
 
LLMConfigconfig ()
 
const LLMConfigconfig () const
 
void setClient (std::unique_ptr< LLMClient > client)
 
LLMClientclient ()
 
errc_t run (ChatMessages &messages) override
 
errc_t run (ChatMessages &messages, int maxSteps)
 
errc_t runOneStep (ChatMessages &messages)
 
void handleToolCalls (const JsonValue &toolCalls, ChatMessages &messages)
 
std::string handleToolCall (const JsonValue &toolCall)
 
errc_t runStream (ChatMessages &messages, ChatEventHandler &handler) override
 
errc_t runStream (ChatMessages &messages, ChatEventHandler &handler, int maxSteps)
 
errc_t runOneStepStream (ChatMessages &messages, ChatEventHandler &handler)
 
const std::string & lastError () const
 
- Public 成员函数 继承自 ast::ChatAgent
void setName (StringView name)
 
const std::string & name () const
 

静态 Public 成员函数

static AssistantAgent DefaultAgent ()
 
static AssistantAgentNewDefaultAgent ()
 
static AssistantAgent SpaceEngineer ()
 
static AssistantAgentNewSpaceEngineer ()
 

额外继承的成员函数

- Protected 属性 继承自 ast::ChatAgent
std::string name_
 

详细描述

聊天智能体

定义智能体的身份、能力、配置和LLM客户端。 智能体本身无状态,同一个智能体实例可参与多个不同的对话。

成员函数说明

◆ addTool()

template<typename Func >
ChatTool * ast::AssistantAgent::addTool ( Func func)
inline

添加工具(通过函数指针/lambda)

返回
工具指针(非拥有,生命周期由ChatAgent管理)

◆ handleToolCall()

std::string ast::AssistantAgent::handleToolCall ( const JsonValue & toolCall)

处理单个工具调用

参数
toolCall单个工具调用

◆ handleToolCalls()

void ast::AssistantAgent::handleToolCalls ( const JsonValue & toolCalls,
ChatMessages & messages )

处理工具调用

参数
toolCalls工具调用数组
messages消息历史

◆ run() [1/2]

errc_t ast::AssistantAgent::run ( ChatMessages & messages)
overridevirtual

执行智能体逻辑

参数
messages消息历史(可修改)
返回
错误码,0表示成功

实现了 ast::ChatAgent.

◆ run() [2/2]

errc_t ast::AssistantAgent::run ( ChatMessages & messages,
int maxSteps )

执行多步推理(包含工具调用循环)

参数
messages消息历史
maxSteps最大推理步数
返回
错误码,0表示成功

◆ runOneStep()

errc_t ast::AssistantAgent::runOneStep ( ChatMessages & messages)

执行单步推理

参数
messages消息历史
返回
错误码,0表示成功

◆ runOneStepStream()

errc_t ast::AssistantAgent::runOneStepStream ( ChatMessages & messages,
ChatEventHandler & handler )

执行单步推理(流式)

在 LLM 生成过程中实时分发事件到 handler。 流式完成后将完整消息追加到 messages。

参数
messages消息历史
handler事件处理器
返回
错误码,0表示成功

◆ runStream() [1/2]

errc_t ast::AssistantAgent::runStream ( ChatMessages & messages,
ChatEventHandler & handler )
overridevirtual

执行智能体逻辑(流式)

参数
messages消息历史(可修改)
handler事件处理器(实时接收 delta 事件)
返回
错误码,0表示成功

实现了 ast::ChatAgent.

◆ runStream() [2/2]

errc_t ast::AssistantAgent::runStream ( ChatMessages & messages,
ChatEventHandler & handler,
int maxSteps )

执行多步推理(含工具调用循环,流式)

每步推理调用 runOneStepStream(),实时分派文本/推理事件。 工具调用请求和执行结果事件在各步之间触发。

参数
messages消息历史
handler事件处理器
maxSteps最大推理步数(默认 10)
返回
错误码,0表示成功

该类的文档由以下文件生成: