载入中...
搜索中...
未找到
ConversationText.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Value.h"
6
7#include <functional>
8#include <string>
9#include <vector>
10
11namespace eve::dialogue {
12
15public:
16 using Evaluator = std::function<bool(const std::string&)>;
18 struct ToneRule {
19 std::string expression;
20 std::string prefix;
21 std::string suffix;
22 std::string find;
23 std::string replacement;
24 };
26 std::string render(const std::string& text, const eve::Value& bindings, const eve::Value& locals,
27 const Evaluator& evaluate = {}) const;
29 void addToneRule(std::string expression, std::string prefix, std::string suffix, std::string find,
30 std::string replacement);
32 void clearToneRules() { rules_.clear(); }
33
34private:
35 std::vector<ToneRule> rules_;
36};
37
38} // namespace eve::dialogue
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
std::string text
std::vector< std::shared_ptr< DeviceBytes > > bindings
Definition OnnxGpgpu.cpp:38
Owning, renderer-independent dynamic values.
The canonical owning dynamic value used by data-facing protocols.
Definition Value.h:31
Parameter substitution and state-driven character voice modifiers.
std::function< bool(const std::string &)> Evaluator
void clearToneRules()
Remove all character voice rules.