gpt4all/llm.h

45 lines
940 B
C
Raw Normal View History

2023-04-09 03:28:39 +00:00
#ifndef LLM_H
#define LLM_H
#include <QObject>
#include "chat.h"
2023-05-01 21:13:20 +00:00
#include "chatlistmodel.h"
2023-04-09 03:28:39 +00:00
class LLM : public QObject
{
Q_OBJECT
Q_PROPERTY(QList<QString> modelList READ modelList NOTIFY modelListChanged)
Q_PROPERTY(bool isRecalc READ isRecalc NOTIFY recalcChanged)
2023-05-01 21:13:20 +00:00
Q_PROPERTY(ChatListModel *chatListModel READ chatListModel NOTIFY chatListModelChanged)
2023-04-09 03:28:39 +00:00
public:
static LLM *globalInstance();
QList<QString> modelList() const;
bool isRecalc() const;
2023-05-01 21:13:20 +00:00
ChatListModel *chatListModel() const { return m_chatListModel; }
Q_INVOKABLE bool checkForUpdates() const;
2023-04-09 03:28:39 +00:00
Q_SIGNALS:
void modelListChanged();
void recalcChanged();
void responseChanged();
2023-05-01 21:13:20 +00:00
void chatListModelChanged();
2023-04-09 03:28:39 +00:00
2023-05-01 21:13:20 +00:00
private Q_SLOTS:
void connectChat(Chat*);
void disconnectChat(Chat*);
private:
2023-05-01 21:13:20 +00:00
ChatListModel *m_chatListModel;
2023-04-09 03:28:39 +00:00
private:
explicit LLM();
~LLM() {}
friend class MyLLM;
};
#endif // LLM_H