mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2024-10-01 01:06:10 -04:00
29 lines
703 B
C++
29 lines
703 B
C++
#ifndef GPTJ_H
|
|
#define GPTJ_H
|
|
|
|
#include <string>
|
|
#include <sstream>
|
|
#include <functional>
|
|
#include <vector>
|
|
|
|
class GPTJPrivate;
|
|
class GPTJ {
|
|
public:
|
|
GPTJ();
|
|
~GPTJ();
|
|
|
|
bool loadModel(const std::string &modelPath, std::istream &fin);
|
|
bool isModelLoaded() const;
|
|
struct PromptContext {
|
|
std::vector<float> logits;
|
|
int32_t n_past = 0; // number of tokens in past conversation
|
|
};
|
|
void prompt(const std::string &prompt, std::function<bool(const std::string&)> response,
|
|
PromptContext &ctx, int32_t n_predict = 200, int32_t top_k = 40, float top_p = 0.9f,
|
|
float temp = 0.9f, int32_t n_batch = 9);
|
|
|
|
private:
|
|
GPTJPrivate *d_ptr;
|
|
};
|
|
|
|
#endif // GPTJ_H
|