2023-05-11 20:46:25 +00:00
|
|
|
#ifndef SERVER_H
|
|
|
|
#define SERVER_H
|
|
|
|
|
|
|
|
#include "chatllm.h"
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QtHttpServer/QHttpServer>
|
|
|
|
|
|
|
|
class Server : public ChatLLM
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
Server(Chat *parent);
|
|
|
|
virtual ~Server();
|
|
|
|
|
|
|
|
public Q_SLOTS:
|
|
|
|
void start();
|
|
|
|
|
|
|
|
Q_SIGNALS:
|
|
|
|
void requestServerNewPromptResponsePair(const QString &prompt);
|
|
|
|
|
|
|
|
private Q_SLOTS:
|
|
|
|
QHttpServerResponse handleCompletionRequest(const QHttpServerRequest &request, bool isChat);
|
2023-06-19 22:23:54 +00:00
|
|
|
void handleDatabaseResultsChanged(const QList<ResultInfo> &results) { m_databaseResults = results; }
|
2023-06-19 23:51:28 +00:00
|
|
|
void handleCollectionListChanged(const QList<QString> &collectionList) { m_collections = collectionList; }
|
2023-05-11 20:46:25 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
Chat *m_chat;
|
|
|
|
QHttpServer *m_server;
|
2023-06-19 22:23:54 +00:00
|
|
|
QList<ResultInfo> m_databaseResults;
|
2023-06-19 23:51:28 +00:00
|
|
|
QList<QString> m_collections;
|
2023-05-11 20:46:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SERVER_H
|