mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-08-14 14:13:38 +00:00
32 lines
1.0 KiB
C++
32 lines
1.0 KiB
C++
#include "tool.h"
|
|
|
|
#include <QJsonDocument>
|
|
|
|
QJsonObject filterModelGeneratedProperties(const QJsonObject &inputObject) {
|
|
QJsonObject filteredObject;
|
|
for (const QString &key : inputObject.keys()) {
|
|
QJsonObject propertyObject = inputObject.value(key).toObject();
|
|
if (!propertyObject.contains("modelGenerated") || propertyObject["modelGenerated"].toBool())
|
|
filteredObject.insert(key, propertyObject);
|
|
}
|
|
return filteredObject;
|
|
}
|
|
|
|
jinja2::Value Tool::jinjaValue() const
|
|
{
|
|
QJsonDocument doc(filterModelGeneratedProperties(paramSchema()));
|
|
QString p(doc.toJson(QJsonDocument::Compact));
|
|
|
|
QJsonDocument exampleDoc(exampleParams());
|
|
QString e(exampleDoc.toJson(QJsonDocument::Compact));
|
|
|
|
jinja2::ValuesMap params {
|
|
{ "name", name().toStdString() },
|
|
{ "description", description().toStdString() },
|
|
{ "function", function().toStdString() },
|
|
{ "paramSchema", p.toStdString() },
|
|
{ "exampleParams", e.toStdString() }
|
|
};
|
|
return params;
|
|
}
|