🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ChatConsole.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include "AstAI/ChatEventHandler.hpp"
26// #include "AstUtil/Markdown.hpp"
27#include "AstUtil/MarkdownRenderer.hpp"
28
29AST_NAMESPACE_BEGIN
30
38class AST_AI_API ChatConsole : public ChatEventHandler
39{
40public:
42 //using RendererType = Markdown;
43
44
45 ChatConsole() = default;
46 ~ChatConsole() = default;
47
48 void onContentChunk(const std::string& text) override;
49
50 void onReasoningChunk(const std::string& reasoning) override;
51
52 void onToolCallRequest(const std::string& /*toolCallId*/,
53 const std::string& functionName,
54 const std::string& arguments) override;
55
56 void onToolCallResult(const std::string& /*toolCallId*/,
57 const std::string& functionName,
58 const std::string& result) override;
59
60 void onComplete() override;
61
62 void onError(const std::string& error) override;
63
65 void setRawOutput(bool raw) { rawOutput_ = raw; }
66
68 bool isRawOutput() const { return rawOutput_; }
69
70private:
71 void outputText(const std::string& text);
72
73 RendererType renderer_;
74 bool rawOutput_ = false;
75};
76
79AST_NAMESPACE_END
终端输出事件处理器
定义 ChatConsole.hpp:39
bool isRawOutput() const
查询当前是否为原始输出模式
定义 ChatConsole.hpp:68
void setRawOutput(bool raw)
设置是否以原始 Markdown 原文输出(不做 ANSI 渲染)
定义 ChatConsole.hpp:65
流式聊天事件处理器
定义 ChatEventHandler.hpp:42
virtual void onComplete()
本轮对话完成
定义 ChatEventHandler.hpp:86
virtual void onToolCallRequest(const std::string &toolCallId, const std::string &functionName, const std::string &arguments)
LLM 请求调用工具(含完整函数名和参数)
定义 ChatEventHandler.hpp:71
virtual void onReasoningChunk(const std::string &reasoning)
收到一块推理内容(delta)
定义 ChatEventHandler.hpp:58
virtual void onContentChunk(const std::string &text)
收到一块文本内容(delta)
定义 ChatEventHandler.hpp:51
virtual void onError(const std::string &error)
发生错误
定义 ChatEventHandler.hpp:90
virtual void onToolCallResult(const std::string &toolCallId, const std::string &functionName, const std::string &result)
工具执行完毕,返回结果
定义 ChatEventHandler.hpp:79
ANSI 流式渲染器
定义 MarkdownANSIRenderer.hpp:38