|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <AssistantAgent.hpp>
类 ast::AssistantAgent 继承关系图:Public 成员函数 | |
| AssistantAgent (StringView systemPrompt) | |
| AssistantAgent (AssistantAgent &&)=default | |
| AssistantAgent & | operator= (AssistantAgent &&)=default |
| void | setSystemPrompt (StringView prompt) |
| const std::string & | systemPrompt () const |
| template<typename Func > | |
| ChatTool * | addTool (Func func) |
| void | addTool (std::unique_ptr< ChatTool > tool) |
| ChatTools & | tools () |
| LLMConfig & | config () |
| const LLMConfig & | config () const |
| void | setClient (std::unique_ptr< LLMClient > client) |
| LLMClient & | client () |
| 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 AssistantAgent * | NewDefaultAgent () |
| static AssistantAgent | SpaceEngineer () |
| static AssistantAgent * | NewSpaceEngineer () |
额外继承的成员函数 | |
Protected 属性 继承自 ast::ChatAgent | |
| std::string | name_ |
聊天智能体
定义智能体的身份、能力、配置和LLM客户端。 智能体本身无状态,同一个智能体实例可参与多个不同的对话。
|
inline |
添加工具(通过函数指针/lambda)
| std::string ast::AssistantAgent::handleToolCall | ( | const JsonValue & | toolCall | ) |
处理单个工具调用
| toolCall | 单个工具调用 |
| void ast::AssistantAgent::handleToolCalls | ( | const JsonValue & | toolCalls, |
| ChatMessages & | messages ) |
处理工具调用
| toolCalls | 工具调用数组 |
| messages | 消息历史 |
|
overridevirtual |
| errc_t ast::AssistantAgent::run | ( | ChatMessages & | messages, |
| int | maxSteps ) |
执行多步推理(包含工具调用循环)
| messages | 消息历史 |
| maxSteps | 最大推理步数 |
| errc_t ast::AssistantAgent::runOneStep | ( | ChatMessages & | messages | ) |
执行单步推理
| messages | 消息历史 |
| errc_t ast::AssistantAgent::runOneStepStream | ( | ChatMessages & | messages, |
| ChatEventHandler & | handler ) |
执行单步推理(流式)
在 LLM 生成过程中实时分发事件到 handler。 流式完成后将完整消息追加到 messages。
| messages | 消息历史 |
| handler | 事件处理器 |
|
overridevirtual |
| errc_t ast::AssistantAgent::runStream | ( | ChatMessages & | messages, |
| ChatEventHandler & | handler, | ||
| int | maxSteps ) |
执行多步推理(含工具调用循环,流式)
每步推理调用 runOneStepStream(),实时分派文本/推理事件。 工具调用请求和执行结果事件在各步之间触发。
| messages | 消息历史 |
| handler | 事件处理器 |
| maxSteps | 最大推理步数(默认 10) |