4 #ifndef _NNDEPLOY_LLM_DECODE_H_
5 #define _NNDEPLOY_LLM_DECODE_H_
21 Decode(
const std::string& name, std::vector<dag::Edge*> inputs,
22 std::vector<dag::Edge*> outputs);
42 rapidjson::Value& json,
43 rapidjson::Document::AllocatorType& allocator)
override;
52 bool is_first_ =
true;
53 int max_seq_len_ = std::numeric_limits<int>::max();
55 std::string tokenizer_txt_ =
"";
56 std::vector<int> stop_tokens_;
57 std::vector<int> special_tokens_;
59 std::vector<std::string> stop_texts_ = {
60 "<|endoftext|>",
"<|im_end|>",
"</s>",
"<|end|>",
"<|eot_id|>",
"[DONE]"};
61 std::vector<std::string> special_texts_;
Edge class in DAG graph for connecting nodes and transferring data.
virtual base::Status iterAfter() override
Decode(const std::string &name, std::vector< dag::Edge * > inputs, std::vector< dag::Edge * > outputs)
virtual base::Status initEnd() override
virtual base::Status serialize(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) override
Serialize to JSON.
virtual base::Status deserialize(rapidjson::Value &json) override
Deserialize from JSON.
virtual base::Status make(const dag::NodeDesc &infer, const dag::NodeDesc &sample, const dag::NodeDesc &tokenizer, const dag::NodeDesc &stream_out)
virtual bool isStopTexts()
virtual int loops() override
virtual bool isStopTokens()
virtual std::vector< dag::Edge * > forward(dag::Edge *input) override
Forward propagation (single input version)
void getStopTokens(std::string &token_file)