mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-08-29 04:51:12 +00:00
finished initial impl of /show and tested -> hangs!
This commit is contained in:
parent
7ce2ea57e0
commit
d4e9a6177b
@ -36,7 +36,15 @@ static void run()
|
|||||||
for (const auto & model : modelsResponse->models)
|
for (const auto & model : modelsResponse->models)
|
||||||
fmt::print("{}\n", model.model);
|
fmt::print("{}\n", model.model);
|
||||||
} else {
|
} else {
|
||||||
fmt::print("Error retrieving version: {}\n", modelsResponse.error().errorString);
|
fmt::print("Error retrieving available models: {}\n", modelsResponse.error().errorString);
|
||||||
|
return QCoreApplication::exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
auto showResponse = QCoro::waitFor(provider.showModelInfo({ .model = "DeepSeek-R1-Distill-Llama-70B-Q4_K_S" }));
|
||||||
|
if (showResponse) {
|
||||||
|
fmt::print("Model family: {}\n", showResponse->details.family);
|
||||||
|
} else {
|
||||||
|
fmt::print("Error retrieving model info: {}\n", showResponse.error().errorString);
|
||||||
return QCoreApplication::exit(1);
|
return QCoreApplication::exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,4 +92,7 @@ private:
|
|||||||
extern template auto OllamaClient::get(const QString &) -> QCoro::Task<DataOrRespErr<ollama::VersionResponse>>;
|
extern template auto OllamaClient::get(const QString &) -> QCoro::Task<DataOrRespErr<ollama::VersionResponse>>;
|
||||||
extern template auto OllamaClient::get(const QString &) -> QCoro::Task<DataOrRespErr<ollama::ModelsResponse>>;
|
extern template auto OllamaClient::get(const QString &) -> QCoro::Task<DataOrRespErr<ollama::ModelsResponse>>;
|
||||||
|
|
||||||
|
extern template auto OllamaClient::post(const QString &, const ollama::ModelInfoRequest &)
|
||||||
|
-> QCoro::Task<DataOrRespErr<ollama::ModelInfo>>;
|
||||||
|
|
||||||
} // namespace gpt4all::backend
|
} // namespace gpt4all::backend
|
||||||
|
@ -14,6 +14,10 @@
|
|||||||
|
|
||||||
namespace gpt4all::backend::ollama {
|
namespace gpt4all::backend::ollama {
|
||||||
|
|
||||||
|
//
|
||||||
|
// basic types
|
||||||
|
//
|
||||||
|
|
||||||
/// Details about a model.
|
/// Details about a model.
|
||||||
struct ModelDetails {
|
struct ModelDetails {
|
||||||
QString parent_model; /// The parent of the model.
|
QString parent_model; /// The parent of the model.
|
||||||
@ -39,15 +43,6 @@ struct Model {
|
|||||||
BOOST_DESCRIBE_STRUCT(Model, (), (model, modified_at, size, digest, details))
|
BOOST_DESCRIBE_STRUCT(Model, (), (model, modified_at, size, digest, details))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/// Request class for the show model info endpoint.
|
|
||||||
struct ModelInfoRequest {
|
|
||||||
QString model; /// The model name.
|
|
||||||
};
|
|
||||||
#ifdef G4A_BACKEND_IMPL
|
|
||||||
BOOST_DESCRIBE_STRUCT(ModelInfoRequest, (), (model))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
enum MessageRole {
|
enum MessageRole {
|
||||||
system,
|
system,
|
||||||
user,
|
user,
|
||||||
@ -84,6 +79,21 @@ struct Message {
|
|||||||
BOOST_DESCRIBE_STRUCT(Message, (), (role, content, images, tool_calls))
|
BOOST_DESCRIBE_STRUCT(Message, (), (role, content, images, tool_calls))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// request types
|
||||||
|
//
|
||||||
|
|
||||||
|
/// Request class for the show model info endpoint.
|
||||||
|
struct ModelInfoRequest {
|
||||||
|
QString model; /// The model name.
|
||||||
|
};
|
||||||
|
#ifdef G4A_BACKEND_IMPL
|
||||||
|
BOOST_DESCRIBE_STRUCT(ModelInfoRequest, (), (model))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// response types
|
||||||
|
//
|
||||||
|
|
||||||
/// The response class for the version endpoint.
|
/// The response class for the version endpoint.
|
||||||
struct VersionResponse {
|
struct VersionResponse {
|
||||||
|
@ -74,6 +74,8 @@ auto OllamaClient::post(const QString &path, const Req &req) -> QCoro::Task<Data
|
|||||||
co_return std::unexpected(value.error());
|
co_return std::unexpected(value.error());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template auto OllamaClient::post(const QString &, const ModelInfoRequest &) -> QCoro::Task<DataOrRespErr<ModelInfo>>;
|
||||||
|
|
||||||
auto OllamaClient::getJson(const QString &path) -> QCoro::Task<DataOrRespErr<json::value>>
|
auto OllamaClient::getJson(const QString &path) -> QCoro::Task<DataOrRespErr<json::value>>
|
||||||
{
|
{
|
||||||
std::unique_ptr<QNetworkReply> reply(m_nam.get(makeRequest(path)));
|
std::unique_ptr<QNetworkReply> reply(m_nam.get(makeRequest(path)));
|
||||||
|
Loading…
Reference in New Issue
Block a user