mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-08-02 00:00:35 +00:00
chat: require Qt 6.8 and fix #includes (#3498)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
This commit is contained in:
parent
d8c04cead8
commit
29f29773af
@ -104,7 +104,7 @@ elseif (GPT4ALL_USE_QTPDF MATCHES "^(ON|AUTO)$")
|
||||
set(GPT4ALL_USING_QTPDF ON)
|
||||
list(APPEND GPT4ALL_QT_COMPONENTS Pdf)
|
||||
endif()
|
||||
find_package(Qt6 6.5 COMPONENTS ${GPT4ALL_QT_COMPONENTS} REQUIRED)
|
||||
find_package(Qt6 6.8 COMPONENTS ${GPT4ALL_QT_COMPONENTS} REQUIRED)
|
||||
|
||||
if (QT_KNOWN_POLICY_QTP0004)
|
||||
qt_policy(SET QTP0004 NEW) # generate extra qmldir files on Qt 6.8+
|
||||
|
@ -7,24 +7,26 @@
|
||||
#include "toolcallparser.h"
|
||||
#include "toolmodel.h"
|
||||
|
||||
#include <QBuffer>
|
||||
#include <QByteArray>
|
||||
#include <QDataStream>
|
||||
#include <QDebug>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QIODevice>
|
||||
#include <QLatin1String>
|
||||
#include <QMap>
|
||||
#include <QRegularExpression>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
using namespace ToolEnums;
|
||||
|
||||
|
||||
Chat::Chat(QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_id(Network::globalInstance()->generateUniqueId())
|
||||
|
@ -3,21 +3,26 @@
|
||||
|
||||
#include "chatllm.h"
|
||||
#include "chatmodel.h"
|
||||
#include "database.h" // IWYU pragma: keep
|
||||
#include "localdocsmodel.h" // IWYU pragma: keep
|
||||
#include "database.h"
|
||||
#include "localdocsmodel.h"
|
||||
#include "modellist.h"
|
||||
#include "tool.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QQmlEngine>
|
||||
#include <QQmlEngine> // IWYU pragma: keep
|
||||
#include <QString>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QStringView>
|
||||
#include <QtGlobal>
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QtTypes>
|
||||
|
||||
// IWYU pragma: no_forward_declare LocalDocsCollectionsModel
|
||||
// IWYU pragma: no_forward_declare ToolCallInfo
|
||||
class QDataStream;
|
||||
|
||||
|
||||
class Chat : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include <QAnyStringView>
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QGuiApplication>
|
||||
@ -9,15 +12,17 @@
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QLatin1String>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkRequest>
|
||||
#include <QStringView>
|
||||
#include <QThread>
|
||||
#include <QUrl>
|
||||
#include <QUtf8StringView>
|
||||
#include <QUtf8StringView> // IWYU pragma: keep
|
||||
#include <QVariant>
|
||||
#include <QXmlStreamReader>
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <expected>
|
||||
@ -29,6 +34,7 @@ using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
//#define DEBUG
|
||||
|
||||
|
||||
ChatAPI::ChatAPI()
|
||||
: QObject(nullptr)
|
||||
, m_modelName("gpt-3.5-turbo")
|
||||
|
@ -3,10 +3,11 @@
|
||||
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
|
||||
#include <QByteArray> // IWYU pragma: keep
|
||||
#include <QByteArray>
|
||||
#include <QNetworkReply>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QtPreprocessorSupport>
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
@ -17,9 +18,11 @@
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
// IWYU pragma: no_forward_declare QByteArray
|
||||
class ChatAPI;
|
||||
class QNetworkAccessManager;
|
||||
|
||||
class ChatAPI;
|
||||
|
||||
class ChatAPIWorker : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
@ -1,23 +1,24 @@
|
||||
#include "chatlistmodel.h"
|
||||
|
||||
#include "database.h" // IWYU pragma: keep
|
||||
#include "mysettings.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDataStream>
|
||||
#include <QDir>
|
||||
#include <QElapsedTimer>
|
||||
#include <QEvent>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QGlobalStatic>
|
||||
#include <QGuiApplication>
|
||||
#include <QIODevice>
|
||||
#include <QSettings>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <Qt>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
|
||||
|
||||
static constexpr quint32 CHAT_FORMAT_MAGIC = 0xF5D553CC;
|
||||
static constexpr qint32 CHAT_FORMAT_VERSION = 12;
|
||||
|
@ -7,17 +7,20 @@
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QByteArray>
|
||||
#include <QDate>
|
||||
#include <QDebug>
|
||||
#include <QHash>
|
||||
#include <QList>
|
||||
#include <QMutex>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QThread>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
#include <QtPreprocessorSupport>
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
@ -15,32 +15,40 @@
|
||||
#include <minja/minja.hpp>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include <QChar>
|
||||
#include <QDataStream>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QGlobalStatic>
|
||||
#include <QIODevice>
|
||||
#include <QIODevice> // IWYU pragma: keep
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QMap>
|
||||
#include <QMutex>
|
||||
#include <QMutex> // IWYU pragma: keep
|
||||
#include <QMutexLocker> // IWYU pragma: keep
|
||||
#include <QRegularExpression>
|
||||
#include <QRegularExpressionMatch>
|
||||
#include <QRegularExpression> // IWYU pragma: keep
|
||||
#include <QRegularExpressionMatch> // IWYU pragma: keep
|
||||
#include <QSet>
|
||||
#include <QStringView>
|
||||
#include <QTextStream>
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QWaitCondition>
|
||||
#include <Qt>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
#include <QtTypes> // IWYU pragma: keep
|
||||
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <concepts>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <ctime>
|
||||
#include <exception>
|
||||
#include <functional>
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
#include <optional>
|
||||
|
@ -2,7 +2,7 @@
|
||||
#define CHATLLM_H
|
||||
|
||||
#include "chatmodel.h"
|
||||
#include "database.h" // IWYU pragma: keep
|
||||
#include "database.h"
|
||||
#include "modellist.h"
|
||||
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
@ -10,29 +10,30 @@
|
||||
#include <QByteArray>
|
||||
#include <QElapsedTimer>
|
||||
#include <QFileInfo>
|
||||
#include <QList> // IWYU pragma: keep
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
#include <QString>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QStringView>
|
||||
#include <QThread>
|
||||
#include <QVariantMap> // IWYU pragma: keep
|
||||
#include <QtGlobal>
|
||||
#include <QtNumeric>
|
||||
|
||||
#include <atomic>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <span>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <variant>
|
||||
#include <vector>
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
class ChatViewResponseHandler;
|
||||
class ChatLLM;
|
||||
class QDataStream;
|
||||
|
||||
|
||||
// NOTE: values serialized to disk, do not change or reuse
|
||||
enum class LLModelTypeV0 { // chat versions 2-5
|
||||
MPT = 0,
|
||||
@ -89,9 +90,6 @@ inline LLModelTypeV1 parseLLModelTypeV0(int v0)
|
||||
}
|
||||
}
|
||||
|
||||
class ChatLLM;
|
||||
class ChatModel;
|
||||
|
||||
struct LLModelInfo {
|
||||
std::unique_ptr<LLModel> model;
|
||||
QFileInfo fileInfo;
|
||||
|
@ -2,9 +2,11 @@
|
||||
|
||||
#include <QDebug>
|
||||
#include <QMap>
|
||||
#include <QtGlobal>
|
||||
#include <QTextStream>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <exception>
|
||||
|
||||
|
||||
QList<ResultInfo> ChatItem::consolidateSources(const QList<ResultInfo> &sources)
|
||||
{
|
||||
|
@ -4,32 +4,41 @@
|
||||
#include "database.h"
|
||||
#include "tool.h"
|
||||
#include "toolcallparser.h"
|
||||
#include "utils.h"
|
||||
#include "utils.h" // IWYU pragma: keep
|
||||
#include "xlsxtomd.h"
|
||||
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QAbstractListModel>
|
||||
#include <QBuffer>
|
||||
#include <QByteArray>
|
||||
#include <QClipboard>
|
||||
#include <QDataStream>
|
||||
#include <QJsonDocument>
|
||||
#include <QFileInfo>
|
||||
#include <QGuiApplication>
|
||||
#include <QIODevice>
|
||||
#include <QHash>
|
||||
#include <QList>
|
||||
#include <QMutex>
|
||||
#include <QMutexLocker> // IWYU pragma: keep
|
||||
#include <QObject>
|
||||
#include <QPair>
|
||||
#include <QPair> // IWYU pragma: keep
|
||||
#include <QString>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtPreprocessorSupport>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <list>
|
||||
#include <optional>
|
||||
#include <ranges>
|
||||
#include <span>
|
||||
#include <stdexcept>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
|
@ -1,29 +1,32 @@
|
||||
#include "chatviewtextprocessor.h"
|
||||
|
||||
#include <QAbstractTextDocumentLayout>
|
||||
#include <QBrush>
|
||||
#include <QChar>
|
||||
#include <QClipboard>
|
||||
#include <QDebug>
|
||||
#include <QFlag>
|
||||
#include <QFont>
|
||||
#include <QFontMetricsF>
|
||||
#include <QGuiApplication>
|
||||
#include <QList>
|
||||
#include <QPainter>
|
||||
#include <QList> // IWYU pragma: keep
|
||||
#include <QPair>
|
||||
#include <QQuickTextDocument>
|
||||
#include <QRegularExpression>
|
||||
#include <QStringList>
|
||||
#include <QTextBlock>
|
||||
#include <QTextCharFormat>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QTextBlock> // IWYU pragma: keep
|
||||
#include <QTextCharFormat> // IWYU pragma: keep
|
||||
#include <QTextCursor>
|
||||
#include <QTextDocument>
|
||||
#include <QTextDocumentFragment>
|
||||
#include <QTextFrame>
|
||||
#include <QTextFrameFormat>
|
||||
#include <QTextFrame> // IWYU pragma: keep
|
||||
#include <QTextFrameFormat> // IWYU pragma: keep
|
||||
#include <QTextTableCell>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
|
||||
|
||||
enum Language {
|
||||
None,
|
||||
|
@ -3,18 +3,15 @@
|
||||
|
||||
#include <QColor>
|
||||
#include <QObject>
|
||||
#include <QQmlEngine>
|
||||
#include <QQuickTextDocument> // IWYU pragma: keep
|
||||
#include <QRectF>
|
||||
#include <QSizeF>
|
||||
#include <QQmlEngine> // IWYU pragma: keep
|
||||
#include <QQuickTextDocument>
|
||||
#include <QString>
|
||||
#include <QSyntaxHighlighter>
|
||||
#include <QTextObjectInterface>
|
||||
#include <QVector>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
#include <QtTypes>
|
||||
|
||||
// IWYU pragma: no_forward_declare QQuickTextDocument
|
||||
|
||||
class QPainter;
|
||||
class QTextDocument;
|
||||
class QTextFormat;
|
||||
|
||||
struct CodeColors {
|
||||
Q_GADGET
|
||||
|
@ -1,12 +1,16 @@
|
||||
#include "codeinterpreter.h"
|
||||
|
||||
#include <QJSEngine>
|
||||
#include <QJSValue>
|
||||
#include <QStringList>
|
||||
#include <QList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QThread>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
CodeInterpreter::CodeInterpreter()
|
||||
: Tool()
|
||||
, m_error(ToolEnums::Error::NoError)
|
||||
|
@ -4,11 +4,13 @@
|
||||
#include "tool.h"
|
||||
#include "toolcallparser.h"
|
||||
|
||||
#include <QJSEngine>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QtGlobal>
|
||||
#include <QThread>
|
||||
#include <QtAssert>
|
||||
|
||||
class QJSEngine;
|
||||
|
||||
|
||||
class JavaScriptConsoleCapture : public QObject
|
||||
{
|
||||
|
@ -1,19 +1,21 @@
|
||||
#include "database.h"
|
||||
|
||||
#include "mysettings.h"
|
||||
#include "utils.h"
|
||||
#include "utils.h" // IWYU pragma: keep
|
||||
|
||||
#include <duckx/duckx.hpp>
|
||||
#include <fmt/format.h>
|
||||
#include <usearch/index.hpp>
|
||||
#include <usearch/index_plugins.hpp>
|
||||
|
||||
#include <QByteArrayView>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QDirIterator>
|
||||
#include <QFile>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QFlags>
|
||||
#include <QIODevice>
|
||||
#include <QKeyValueIterator>
|
||||
#include <QRegularExpression>
|
||||
#include <QSqlError>
|
||||
#include <QSqlQuery>
|
||||
@ -22,8 +24,9 @@
|
||||
#include <QMap>
|
||||
#include <QUtf8StringView>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
#include <QtLogging>
|
||||
#include <QtMinMax>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
@ -46,6 +49,7 @@ namespace us = unum::usearch;
|
||||
//#define DEBUG
|
||||
//#define DEBUG_EXAMPLE
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/* QFile that checks input for binary data. If seen, it fails the read and returns true
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef DATABASE_H
|
||||
#define DATABASE_H
|
||||
|
||||
#include "embllm.h" // IWYU pragma: keep
|
||||
#include "embllm.h"
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QChar>
|
||||
@ -15,11 +15,11 @@
|
||||
#include <QSet>
|
||||
#include <QSqlDatabase>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QThread>
|
||||
#include <QUrl>
|
||||
#include <QVector>
|
||||
#include <QtGlobal>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
#include <QtAssert>
|
||||
|
||||
#include <atomic>
|
||||
#include <cstddef>
|
||||
@ -28,7 +28,7 @@
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <vector> // IWYU pragma: keep
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
@ -39,6 +39,7 @@ class QSqlQuery;
|
||||
class QTextStream;
|
||||
class QTimer;
|
||||
|
||||
|
||||
/* Version 0: GPT4All v2.4.3, full-text search
|
||||
* Version 1: GPT4All v2.5.3, embeddings in hsnwlib
|
||||
* Version 2: GPT4All v3.0.0, embeddings in sqlite
|
||||
|
@ -10,32 +10,37 @@
|
||||
#include <QDebug>
|
||||
#include <QGlobalStatic>
|
||||
#include <QGuiApplication>
|
||||
#include <QIODevice>
|
||||
#include <QIODevice> // IWYU pragma: keep
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QKeyValueIterator>
|
||||
#include <QLocale>
|
||||
#include <QNetworkRequest>
|
||||
#include <QPair>
|
||||
#include <QPair> // IWYU pragma: keep
|
||||
#include <QRegularExpression>
|
||||
#include <QRegularExpressionMatch>
|
||||
#include <QSettings>
|
||||
#include <QSslConfiguration>
|
||||
#include <QSslSocket>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QTextStream>
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
#include <Qt>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
#include <QtMinMax>
|
||||
|
||||
#include <algorithm>
|
||||
#include <compare>
|
||||
#include <cstddef>
|
||||
#include <utility>
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
class MyDownload: public Download { };
|
||||
Q_GLOBAL_STATIC(MyDownload, downloadInstance)
|
||||
Download *Download::globalInstance()
|
||||
|
@ -13,10 +13,14 @@
|
||||
#include <QSslError>
|
||||
#include <QString>
|
||||
#include <QThread>
|
||||
#include <QtGlobal>
|
||||
#include <QtTypes>
|
||||
|
||||
// IWYU pragma: no_forward_declare QFile
|
||||
// IWYU pragma: no_forward_declare QList
|
||||
// IWYU pragma: no_forward_declare QSslError
|
||||
class QByteArray;
|
||||
|
||||
|
||||
struct ReleaseInfo {
|
||||
Q_GADGET
|
||||
Q_PROPERTY(QString version MEMBER version)
|
||||
|
@ -1,35 +1,35 @@
|
||||
#include "embllm.h"
|
||||
|
||||
#include "modellist.h"
|
||||
#include "mysettings.h"
|
||||
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QGuiApplication>
|
||||
#include <QIODevice>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QMutexLocker>
|
||||
#include <QMutexLocker> // IWYU pragma: keep
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QUrl>
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <exception>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
static const QString EMBEDDING_MODEL_NAME = u"nomic-embed-text-v1.5"_s;
|
||||
static const QString LOCAL_EMBEDDING_MODEL = u"nomic-embed-text-v1.5.f16.gguf"_s;
|
||||
|
||||
|
@ -5,10 +5,10 @@
|
||||
#include <QMutex>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QThread>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
|
||||
#include <atomic>
|
||||
#include <vector>
|
||||
@ -16,6 +16,7 @@
|
||||
class LLModel;
|
||||
class QNetworkAccessManager;
|
||||
|
||||
|
||||
struct EmbeddingChunk {
|
||||
QString model; // TODO(jared): use to select model
|
||||
int folder_id;
|
||||
|
@ -1,16 +1,11 @@
|
||||
#include "jinja_helpers.h"
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include <QString>
|
||||
#include <QUrl>
|
||||
|
||||
#include <iterator>
|
||||
#include <map>
|
||||
#include <ranges>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
namespace views = std::views;
|
||||
using json = nlohmann::ordered_json;
|
||||
|
@ -5,7 +5,11 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QtTypes> // IWYU pragma: keep
|
||||
|
||||
// IWYU pragma: no_forward_declare MessageItem
|
||||
// IWYU pragma: no_forward_declare PromptAttachment
|
||||
// IWYU pragma: no_forward_declare ResultInfo
|
||||
|
||||
using json = nlohmann::ordered_json;
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
#include "jinja_replacements.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
|
||||
// This is a list of prompt templates known to GPT4All and their associated replacements which are automatically used
|
||||
// instead when loading the chat template from GGUF. These exist for two primary reasons:
|
||||
// - HuggingFace model authors make ugly chat templates because they do not expect the end user to see them;
|
||||
|
@ -12,6 +12,9 @@
|
||||
#include <QSettings>
|
||||
#include <QUrl>
|
||||
#include <QtLogging>
|
||||
#include <QtSystemDetection>
|
||||
|
||||
#include <string>
|
||||
|
||||
#ifdef GPT4ALL_OFFLINE_INSTALLER
|
||||
# include <QDesktopServices>
|
||||
@ -25,6 +28,7 @@
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
class MyLLM: public LLM { };
|
||||
Q_GLOBAL_STATIC(MyLLM, llmInstance)
|
||||
LLM *LLM::globalInstance()
|
||||
|
@ -3,7 +3,8 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QtGlobal>
|
||||
#include <QtTypes>
|
||||
|
||||
|
||||
class LLM : public QObject
|
||||
{
|
||||
|
@ -5,10 +5,14 @@
|
||||
#include "mysettings.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QGlobalStatic>
|
||||
#include <QGuiApplication>
|
||||
#include <QList>
|
||||
#include <QUrl>
|
||||
#include <Qt>
|
||||
#include <QtLogging>
|
||||
|
||||
|
||||
class MyLocalDocs: public LocalDocs { };
|
||||
Q_GLOBAL_STATIC(MyLocalDocs, localDocsInstance)
|
||||
|
@ -2,11 +2,14 @@
|
||||
#define LOCALDOCS_H
|
||||
|
||||
#include "database.h"
|
||||
#include "localdocsmodel.h" // IWYU pragma: keep
|
||||
#include "localdocsmodel.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
|
||||
// IWYU pragma: no_forward_declare LocalDocsModel
|
||||
|
||||
|
||||
class LocalDocs : public QObject
|
||||
{
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QMap>
|
||||
#include <QVector>
|
||||
#include <QtGlobal>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
|
||||
#include <utility>
|
||||
|
||||
|
||||
LocalDocsCollectionsModel::LocalDocsCollectionsModel(QObject *parent)
|
||||
: QSortFilterProxyModel(parent)
|
||||
{
|
||||
|
@ -4,17 +4,19 @@
|
||||
#include "database.h"
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QByteArray>
|
||||
#include <QHash>
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QObject> // IWYU pragma: keep
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
|
||||
#include <functional>
|
||||
|
||||
class QByteArray;
|
||||
class QVariant;
|
||||
template <typename Key, typename T> class QHash;
|
||||
|
||||
|
||||
class LocalDocsCollectionsModel : public QSortFilterProxyModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include <QFlags>
|
||||
#include <QGlobalStatic>
|
||||
#include <QIODevice>
|
||||
#include <QMutexLocker>
|
||||
#include <QMutexLocker> // IWYU pragma: keep
|
||||
#include <QStandardPaths>
|
||||
|
||||
#include <cstdio>
|
||||
@ -13,6 +14,7 @@
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
class MyLogger: public Logger { };
|
||||
Q_GLOBAL_STATIC(MyLogger, loggerInstance)
|
||||
Logger *Logger::globalInstance()
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <QString>
|
||||
#include <QtLogging>
|
||||
|
||||
|
||||
class Logger {
|
||||
public:
|
||||
explicit Logger();
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
|
||||
|
||||
void MacOSDock::showIcon()
|
||||
{
|
||||
[[NSApplication sharedApplication] setActivationPolicy:NSApplicationActivationPolicyRegular];
|
||||
|
@ -12,18 +12,24 @@
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
#include <singleapplication.h>
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QCoreApplication>
|
||||
#include <QFont>
|
||||
#include <QFontDatabase>
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QQmlContext>
|
||||
#include <QQuickWindow>
|
||||
#include <QSettings>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QWindow>
|
||||
#include <Qt>
|
||||
#include <QtAssert>
|
||||
#include <QtSystemDetection>
|
||||
|
||||
#if G4A_CONFIG(force_d3d12)
|
||||
# include <QSGRendererInterface>
|
||||
|
@ -9,9 +9,11 @@
|
||||
|
||||
#include <QChar>
|
||||
#include <QCoreApplication>
|
||||
#include <QCryptographicHash>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QDirIterator>
|
||||
#include <QEvent>
|
||||
#include <QEventLoop>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
@ -29,14 +31,15 @@
|
||||
#include <QSslConfiguration>
|
||||
#include <QSslSocket>
|
||||
#include <QStandardPaths>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QTextStream>
|
||||
#include <QTimer>
|
||||
#include <QUrl>
|
||||
#include <QtAssert>
|
||||
#include <QtLogging>
|
||||
#include <QtPreprocessorSupport>
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
#include <iterator>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
@ -5,25 +5,29 @@
|
||||
#include <QByteArray>
|
||||
#include <QDateTime>
|
||||
#include <QHash>
|
||||
#include <QLatin1StringView>
|
||||
#include <QLatin1StringView> // IWYU pragma: keep
|
||||
#include <QList>
|
||||
#include <QMutex>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QObject>
|
||||
#include <QPair>
|
||||
#include <QQmlEngine>
|
||||
#include <QPair> // IWYU pragma: keep
|
||||
#include <QQmlEngine> // IWYU pragma: keep
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QSslError>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
// IWYU pragma: no_forward_declare QObject
|
||||
// IWYU pragma: no_forward_declare QSslError
|
||||
class QUrl;
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
|
@ -11,22 +11,27 @@
|
||||
#include <QFileInfo>
|
||||
#include <QGlobalStatic>
|
||||
#include <QGuiApplication>
|
||||
#include <QIODevice>
|
||||
#include <QIODevice> // IWYU pragma: keep
|
||||
#include <QMap>
|
||||
#include <QMetaObject>
|
||||
#include <QStandardPaths>
|
||||
#include <QThread>
|
||||
#include <QUrl>
|
||||
#include <QVariant>
|
||||
#include <QtLogging>
|
||||
#include <QtAssert>
|
||||
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <vector>
|
||||
|
||||
#if !(defined(Q_OS_MAC) && defined(__aarch64__))
|
||||
#include <cstring>
|
||||
#endif
|
||||
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
|
||||
|
||||
// used only for settings serialization, do not translate
|
||||
static const QStringList suggestionModeNames { "LocalDocsOnly", "On", "Off" };
|
||||
static const QStringList chatThemeNames { "Light", "Dark", "LegacyDark" };
|
||||
|
@ -4,20 +4,24 @@
|
||||
#include "modellist.h" // IWYU pragma: keep
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QLatin1StringView>
|
||||
#include <QLatin1StringView> // IWYU pragma: keep
|
||||
#include <QList>
|
||||
#include <QModelIndex>
|
||||
#include <QObject>
|
||||
#include <QSettings>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QTranslator>
|
||||
#include <QVector>
|
||||
#include <QVariant>
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
|
||||
// IWYU pragma: no_forward_declare QModelIndex
|
||||
class QLocale;
|
||||
|
||||
|
||||
namespace MySettingsEnums {
|
||||
Q_NAMESPACE
|
||||
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include "localdocsmodel.h"
|
||||
#include "modellist.h"
|
||||
#include "mysettings.h"
|
||||
#include "utils.h"
|
||||
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
|
||||
@ -29,7 +28,6 @@
|
||||
#include <QSslSocket>
|
||||
#include <QSysInfo>
|
||||
#include <Qt>
|
||||
#include <QtGlobal>
|
||||
#include <QtLogging>
|
||||
#include <QUrl>
|
||||
#include <QUuid>
|
||||
@ -49,6 +47,7 @@ using namespace Qt::Literals::StringLiterals;
|
||||
#define STR_(x) #x
|
||||
#define STR(x) STR_(x)
|
||||
|
||||
|
||||
static const char MIXPANEL_TOKEN[] = "ce362e568ddaee16ed243eaffb5860a2";
|
||||
|
||||
#ifdef __clang__
|
||||
|
@ -11,7 +11,14 @@
|
||||
#include <QSslError>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
#include <QVariantMap> // IWYU pragma: keep
|
||||
#include <QVector> // IWYU pragma: keep
|
||||
|
||||
// IWYU pragma: no_forward_declare QByteArray
|
||||
// IWYU pragma: no_forward_declare QNetworkReply
|
||||
// IWYU pragma: no_forward_declare QSslError
|
||||
class QUrl;
|
||||
|
||||
|
||||
struct KeyValue {
|
||||
QString key;
|
||||
|
@ -4,9 +4,10 @@
|
||||
#include "chatmodel.h"
|
||||
#include "modellist.h"
|
||||
#include "mysettings.h"
|
||||
#include "utils.h"
|
||||
#include "utils.h" // IWYU pragma: keep
|
||||
|
||||
#include <fmt/format.h>
|
||||
#include <gpt4all-backend/llmodel.h>
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QCborArray>
|
||||
@ -15,32 +16,38 @@
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include <QHostAddress>
|
||||
#include <QHttpHeaders>
|
||||
#include <QHttpServer>
|
||||
#include <QHttpServerRequest>
|
||||
#include <QHttpServerResponder>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QLatin1StringView>
|
||||
#include <QPair>
|
||||
#include <QPair> // IWYU pragma: keep
|
||||
#include <QTcpServer>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
#include <QtAssert>
|
||||
#include <QtCborCommon>
|
||||
#include <QtGlobal>
|
||||
#include <QtLogging>
|
||||
#include <QtMinMax>
|
||||
#include <QtPreprocessorSupport>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <cstdint>
|
||||
#include <exception>
|
||||
#include <iostream>
|
||||
#include <optional>
|
||||
#include <span>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <type_traits>
|
||||
#include <string_view>
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||
# include <QTcpServer>
|
||||
#endif
|
||||
#include <variant>
|
||||
#include <vector>
|
||||
|
||||
using namespace std::string_literals;
|
||||
using namespace Qt::Literals::StringLiterals;
|
||||
@ -451,23 +458,17 @@ static QJsonObject requestFromJson(const QByteArray &request)
|
||||
void Server::start()
|
||||
{
|
||||
m_server = std::make_unique<QHttpServer>(this);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||
auto *tcpServer = new QTcpServer(m_server.get());
|
||||
#else
|
||||
auto *tcpServer = m_server.get();
|
||||
#endif
|
||||
|
||||
auto port = MySettings::globalInstance()->networkPort();
|
||||
if (!tcpServer->listen(QHostAddress::LocalHost, port)) {
|
||||
qWarning() << "Server ERROR: Failed to listen on port" << port;
|
||||
return;
|
||||
}
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||
if (!m_server->bind(tcpServer)) {
|
||||
qWarning() << "Server ERROR: Failed to HTTP server to socket" << port;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
m_server->route("/v1/models", QHttpServerRequest::Method::Get,
|
||||
[](const QHttpServerRequest &) {
|
||||
@ -607,19 +608,12 @@ void Server::start()
|
||||
}
|
||||
);
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||
m_server->addAfterRequestHandler(this, [](const QHttpServerRequest &req, QHttpServerResponse &resp) {
|
||||
Q_UNUSED(req);
|
||||
auto headers = resp.headers();
|
||||
headers.append("Access-Control-Allow-Origin"_L1, "*"_L1);
|
||||
resp.setHeaders(std::move(headers));
|
||||
});
|
||||
#else
|
||||
m_server->afterRequest([](QHttpServerResponse &&resp) {
|
||||
resp.addHeader("Access-Control-Allow-Origin", "*");
|
||||
return std::move(resp);
|
||||
});
|
||||
#endif
|
||||
|
||||
connect(this, &Server::requestResetResponseState, m_chat, &Chat::resetResponseState, Qt::BlockingQueuedConnection);
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <QHttpServerResponse>
|
||||
#include <QJsonObject>
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QObject> // IWYU pragma: keep
|
||||
#include <QString>
|
||||
|
||||
#include <memory>
|
||||
|
@ -1,5 +1,8 @@
|
||||
#include "tool.h"
|
||||
|
||||
#include <QDataStream>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <string>
|
||||
|
||||
using json = nlohmann::ordered_json;
|
||||
|
@ -9,6 +9,8 @@
|
||||
#include <QVariant>
|
||||
#include <QtGlobal>
|
||||
|
||||
class QDataStream;
|
||||
|
||||
using json = nlohmann::ordered_json;
|
||||
|
||||
|
||||
|
@ -2,8 +2,10 @@
|
||||
|
||||
#include "tool.h"
|
||||
|
||||
#include <QChar>
|
||||
#include <QSet>
|
||||
#include <QtGlobal>
|
||||
#include <QtAssert>
|
||||
#include <QtTypes>
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <QByteArray>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
|
||||
namespace ToolEnums { enum class ParseState; }
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <QEvent>
|
||||
#include <QGlobalStatic>
|
||||
|
||||
|
||||
class MyToolModel: public ToolModel { };
|
||||
Q_GLOBAL_STATIC(MyToolModel, toolModelInstance)
|
||||
ToolModel *ToolModel::globalInstance()
|
||||
|
@ -9,7 +9,8 @@
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <QtGlobal>
|
||||
#include <QtPreprocessorSupport>
|
||||
|
||||
|
||||
class ToolModel : public QAbstractListModel
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QJsonValue>
|
||||
#include <QLatin1StringView>
|
||||
#include <QLatin1StringView> // IWYU pragma: keep
|
||||
#include <QString>
|
||||
#include <QStringView>
|
||||
#include <QUtf8StringView>
|
||||
@ -13,8 +13,9 @@
|
||||
|
||||
#include <initializer_list>
|
||||
#include <string_view>
|
||||
#include <utility>
|
||||
#include <utility> // IWYU pragma: keep
|
||||
|
||||
// IWYU pragma: no_forward_declare QJsonValue
|
||||
class QJsonObject;
|
||||
|
||||
|
||||
@ -40,4 +41,4 @@ MAKE_FORMATTER(QVariant, value.toString().toUtf8());
|
||||
// alternative to QJsonObject's initializer_list constructor that accepts Latin-1 strings
|
||||
QJsonObject makeJsonObject(std::initializer_list<std::pair<QLatin1StringView, QJsonValue>> args);
|
||||
|
||||
#include "utils.inl"
|
||||
#include "utils.inl" // IWYU pragma: export
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <QJsonObject>
|
||||
|
||||
|
||||
inline QJsonObject makeJsonObject(std::initializer_list<std::pair<QLatin1StringView, QJsonValue>> args)
|
||||
{
|
||||
QJsonObject obj;
|
||||
|
@ -7,15 +7,16 @@
|
||||
#include <xlsxformat.h>
|
||||
#include <xlsxworksheet.h>
|
||||
|
||||
#include <QChar>
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include <QLatin1StringView>
|
||||
#include <QList>
|
||||
#include <QRegularExpression>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QStringList> // IWYU pragma: keep
|
||||
#include <QStringView>
|
||||
#include <QVariant>
|
||||
#include <QtGlobal>
|
||||
#include <QtLogging>
|
||||
|
||||
#include <memory>
|
||||
|
@ -4,6 +4,7 @@
|
||||
class QIODevice;
|
||||
class QString;
|
||||
|
||||
|
||||
class XLSXToMD
|
||||
{
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user