28 lines
826 B
C++
28 lines
826 B
C++
// generate.h — генерация текста с KV-кэшем
|
||
#pragma once
|
||
#include "checkpoint.hpp"
|
||
#include <string>
|
||
#include <vector>
|
||
|
||
namespace xt {
|
||
|
||
struct GenConfig {
|
||
int max_new_tokens = 200;
|
||
float temperature = 0.8f;
|
||
int top_k = 40;
|
||
float top_p = 0.95f;
|
||
int seed = -1;
|
||
bool stream = true;
|
||
int repeat_penalty = 1;
|
||
};
|
||
|
||
std::string generate(const Params& p, const Tokenizer& tok,
|
||
const std::string& prompt, const GenConfig& gc,
|
||
std::vector<int>* out_ids = nullptr);
|
||
|
||
std::vector<std::string> generate_batch(const Params& p, const Tokenizer& tok,
|
||
const std::vector<std::string>& prompts,
|
||
const GenConfig& gc);
|
||
|
||
}
|