metal-kompanion/src/KompanionAI/Completion/KIChatOptions.h

38 lines
937 B
C++

#ifndef KIANICHATOPTIONS_H
#define KIANICHATOPTIONS_H
#include <QObject>
#include <QString>
#include <QList>
#include "../Tool/KITool.h"
#include "../Policy/KIPolicy.h"
namespace KompanionAI {
class KIChatOptions
{
Q_GADGET
Q_PROPERTY(QString model MEMBER model)
Q_PROPERTY(bool stream MEMBER stream)
Q_PROPERTY(bool jsonMode MEMBER jsonMode)
Q_PROPERTY(int maxTokens MEMBER maxTokens)
Q_PROPERTY(double temperature MEMBER temperature)
Q_PROPERTY(QList<KIToolSpec> tools MEMBER tools)
Q_PROPERTY(KIPolicy policy MEMBER policy)
public:
QString model;
bool stream = true;
bool jsonMode = false;
int maxTokens = 512;
double temperature = 0.2;
QList<KIToolSpec> tools;
KIPolicy policy;
bool operator==(const KIChatOptions& other) const = default;
bool operator!=(const KIChatOptions& other) const = default;
};
} // namespace KompanionAI
#endif // KIANICHATOPTIONS_H