介绍MindSDB操场:您的多合一Mindsdb Companion应用程序
#database #machinelearning #mindsdb #nlp

Cover

介绍

机器学习已成为小时的需求,因为该技术广泛取决于利用数据来获得见解并做出精确的决策。但是,开发和利用机器学习模型是一项艰巨的任务,非常耗时,需要在编程,算法和数据分析方面的专业知识。因此,现在有必要减少这些基本努力并利用大量自动的力量。

在这种情况下,MindSDB是Automl世界中革命性的工具。 MindSDB是一种开源的,自动化的机器学习(AUTOML)框架,可作为现有数据库顶部的AI层起作用,可让您在不编写任何代码的情况下构建,培训和部署预测模型。它使用其基础候选模型,这些模型稳健且精确,并且可以轻松地识别数据集中最相关的功能以准确预测目标值。

MindSDB Playground是一个Web应用程序,具有简单且用户友好的接口,用户可以使用MindSDB供电的不同应用程序进行交互。该应用程序是使用节点Express平台构建的,UI由HTML,CSS和JavaScript供电。本网站列出了NLP下的大量应用程序(自然语言处理)和预测模型(分类回归 limeseries )用户在现实世界中尝试MindSDB的有效性的类别。

本博客文章将为MindSDB操场提供综合指南,讨论其功能,应用程序以及如何使用它。

应用流

当用户浏览Web浏览器中的应用程序时,应用程序的流程开始。然后,用户可以向服务器提交请求,然后由服务器端代码处理该请求以生成适当的响应。然后将响应或错误(如果有)发送回客户端,并在Web浏览器中显示给用户。

现在让我们简要了解客户端和服务器端功能如何相互交互以检索所需的结果。

客户端

客户端代码收集用户输入,向服务器发送请求,最后将结果显示给用户。

当网页加载时,用户可以选择与所需的应用程序进行交互。他们必须只需通过textarea中的输入,然后将submit在网页上的表单。这调用了handleFunction方法。此功能首先防止默认表单提交行为,这将导致页面刷新。然后,它从input textarea中检索用户输入并在网页上清除下一个运行。

您可以找到下面网页上使用的HTML表单的片段。

<form class="home-form" onsubmit="handleFunction(event)">
              <textarea
                id="functionInput"
                required="true"
                placeholder="Paragraph Here"
                class="home-textarea textarea"
              ></textarea>
              <div class="home-radio-buttons">
                <h1 class="home-text17">Select Engine:</h1>
                <input
                  type="radio"
                  id="functionOpenAI"
                  name="functionEngine"
                  value="OpenAI"
                  required=""
                  title="OpenAI"
                  class="home-open-a-radio"
                />
                <label class="home-open-a-label">OpenAI</label>
                <input
                  type="radio"
                  id="functionHuggingFace"
                  name="functionEngine"
                  value="HuggingFace"
                  required=""
                  title="HuggingFace"
                  class="home-hugging-face-radio"
                />
                <label class="home-hugging-face-label">Hugging Face</label>
              </div>
           <button id="findFucntion" type="submit" class="home-view02 button">
                Execute Function
              </button>
            </form>

                         <!-- Result Div Below -->

            <div class="home-result morph" id="functionDiv">
              <button class="home-button02 button" title="Close">
                <svg viewBox="0 0 1024 1024" class="home-icon22">
                  <path
                    d="M810 274l-238 238 238 238-60 60-238-238-238 238-60-60 238-238-238-238 60-60 238 238 238-238z"
                  ></path>
                </svg>
              </button>
              <p class="home-text18" id="functionResult"></p>
            </div>

客户端代码还显示加载屏幕,同时处理此请求以使用户通知。仅通过将loading-screen元素的显示样式属性设置为阻止。

来实现。

客户端代码通过包含用户输入的JSON有效负载向服务器的/findFunctionResult端点提出发布请求,例如selectedEngine。 Fetch API用于使用适当的标题和身体进行此请求。

在下面的handleFunction()方法中找到摘要。

function handleFunction(event) {
  event.preventDefault();
  const query= document.getElementById("fucntionInput").value;
  const resultDiv = document.getElementById("functionResult");

  // Clear the input field
  document.getElementById("fucntionInput").value = "";

  // Loading Screen
  document.getElementById("loading-screen").style.display = "block";

  const engines = document.getElementsByName("functionEngine");

  const selectedEngine = Array.from(engines).find(
    (engine) => engine.checked
  )?.value;

  const functionCloseButton = document.querySelector(".home-button02");
  const functionDiv = document.querySelector("#fucntionDiv");

  functionCloseButton.addEventListener("click", () => {
    functionDiv.style.display = "none";
  });

  // Send a POST request to /findFunctionResult endpoint
  try {
    fetch("/findFunctionResult", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ query, selectedEngine }),
    })
      ...continued

随后,服务器响应JSON有效载荷,其中包含所需结果或发生的任何错误。客户端代码分析响应并检查错误(如果有)。如果没有错误,它通过设置innerHTML元素的innerHTML属性,并以结果的格式字符串显示结果。加载屏幕不再可见,因为它的显示属性现在将其设置为NONE,而是显示了包含结果的functionDiv

这是上述片段中的...continued代码,将结果设置回用户。

.then((response) => response.json())
      .then((data) => {
        // Display the prediction
        if (!data.error) {
          resultDiv.innerHTML =
            "The result is: <br/><br/>" +
            data.result +
            "<br/><br/> Powered by " +
            data.selectedEngine;
          document.getElementById("loading-screen").style.display = "none";
          document.getElementById("functionDiv").style.display = "block";
        } else {
          resultDiv.innerHTML =
            "We are caught in the middle of an error. Please try Again!";
          document.getElementById("loading-screen").style.display = "none";
          document.getElementById("functionDiv").style.display = "block";
        }
      })
      .catch((error) => {
        document.getElementById("loading-screen").style.display = "none";
        alert("An error occurred while summarizing the text");
        throw error; // Throwing the error
      });
  } catch (error) {
    document.getElementById("loading-screen").style.display = "none";
    alert("An error occurred while summarizing the text");
  }
}

如果在此过程中发生错误,则在函数元件中设置了错误消息,并在隐藏加载屏幕后向用户而不是结果显示。

功能元素中还有一个关闭按钮。客户端代码将事件侦听器附加到它,以便在查看结果后可以关闭此元素。

服务器端

服务器端根据OpenAI或HuggingFace或历史数据等引擎处理分析或预测/预测。该服务器提供了一个HTTP端点/findFunctionResult,该HTTP端点5接受包含用户输入的JSON有效载荷的POST请求。然后,它使用此输入来查询各个基础模型并返回JSON响应。如果发生错误,它返回错误消息而不是结果。

这是服务器端app.js文件的/findFunctionResult端点的片段。

app.post("/findFunctionResult", async (req, res) => {
  const inputText = req.body.inputText;
  const selectedEngine = req.body.selectedEngine;

  try {
    // Call the function from mindsdb.js
    const result = await mindsdb.executeMindsDBQuery(query, selectedEngine);
    res.send({ result, selectedEngine });
  } catch (error) {
    logger.error("Error extracting result: ", error);
    res
      .status(500)
      .send({ error: "An error occurred while extracting result." });
  }
});

申请

MindSDB操场包括几种使用OpenAI或HuggingFace或Lightwood引擎来执行自动数据分析或预测的应用程序。我们将在下面详细讨论这些应用程序。

NLP模型

MindSDB Playground应用程序具有八个由OpenAI引擎或HuggingFace Engine提供动力的NLP应用程序。让我们在下面讨论每个人。

幕后,服务器端上有一个处理程序功能,它与MindSDB云进行交互,执行所需的查询,然后返回结果。找到下面代码的摘要。

async function executeMindsDBQuery(query, selectedEngine) {
  let retries = 3;
  const retryDelay = 1000;
  let modelName;
  if (selectedEngine === "OpenAI") {
    modelName = process.env.MINDSDB_OA_MODEL_NAME;
  } else if (selectedEngine === "HuggingFace") {
    modelName = process.env.MINDSDB_HF_MODEL_NAME;
  }

  while (retries > 0) { //Retries upto 3 times in case of an error
    try {
      const escapedQuery = query.replace(/"/g, ""); // Escape double quotes
      const text = `SELECT responseColumn FROM ${modelName} WHERE label="${escapedQuery}"`; // SQL query statement to be executed
      const response = await MindsDB.SQL.runQuery(text);
      if (!response.rows) {
        throw new Error("Invalid response from MindsDB");
      }
      return response.rows; //Returns the response
    } catch (error) {
      logger.error(`Error executing query: ${query}`, error);
      retries--;
      if (retries === 0) {
        throw new Error("Maximum number of retries reached");
      }
      await new Promise((resolve) => setTimeout(resolve, retryDelay)); // Waits for 1 second before retrying
    }
  }
}

这里要注意的一些重要参数如下:

查询:它包含用户输入文本。

Escapedquery:我们逃脱了输入文本中存在的任何双引号,以便SQL可以轻松地对其进行解析而无需任何错误。

modelname:它是根据从SelectedEngine参数检索的用户选择选择的。

文本:它包含需要执行的选择语句。

重试:该功能旨在在错误的情况下重试3次,以使功能有些故障安全。

retrydelay:在失败时每个重试的持续时间,默认情况下设置为1秒。

前4个参数将根据用户输入和他们试图运行的特定应用程序更改。

文本摘要

文本摘要应用程序允许用户将长文本汇总到较短的版本中。用户可以将长文本输入到应用程序中,选择其选择的NLP引擎(OpenAi或HuggingFace),然后获取文本的摘要版本。

Text Summary

汇总文本应用程序的4个参数将如下。

if (selectedEngine === "OpenAI") {
  summaryModelName = process.env.MINDSDB_OA_SUMMARY_MODEL_NAME;
} else if (selectedEngine === "HuggingFace") {
  summaryModelName = process.env.MINDSDB_HF_SUMMARY_MODEL_NAME;
}

const escapedMessage = summary.replace(/"/g, "");
const text = `SELECT summary FROM ${summaryModelName} WHERE text="${escapedMessage}"`;
const summaryResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练一个模型,该模型可以提供输入文本的摘要。

对于OpenAI引擎,我们可以使用以下语句创建模型。

Create Model openai_article_summarizer
PREDICT summary
USING
engine = 'openai',
model_name = 'gpt-4',
min_tokens = 45,
max_tokens = 200,
prompt_template = 'Provide a short and informative
summary of the following text. text:{{text}}';

对于拥抱面引擎,我们可以使用下面的语句创建模型。

CREATE MODEL hf_article_summarizer                           
PREDICT summary                           
USING
    engine = 'huggingface',
    task = 'summarization',
    model_name = 'sshleifer/distilbart-cnn-12-6',
    input_column = 'text',
    min_output_length = 10,
    max_output_length = 200;

情感分析

情感分析应用程序允许用户分析文本的情感。用户可以将文本输入应用程序中的Textarea,选择其选择的NLP引擎(OpenAI或HuggingFace),并获得文本的情感,即正面,负面或中性。

Analyze Sentiment

情感应用程序的4个参数如下。

if (selectedEngine === "OpenAI") {
  sentimentModelName = process.env.MINDSDB_OA_SENTIMENT_MODEL_NAME;
} else if (selectedEngine === "HuggingFace") {
  sentimentModelName = process.env.MINDSDB_HF_SENTIMENT_MODEL_NAME;
}

const text = `SELECT sentiment FROM ${sentimentModelName} WHERE text="${inputText}"`;
const sentimentResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB云训练一个模型,该模型可以提供输入文本的情感。

对于OpenAI引擎,我们可以使用以下语句创建模型。

CREATE MODEL openai_sentiment_analyzer
PREDICT sentiment
USING
engine = 'openai',
model_name = 'gpt-4',
prompt_template = 'Describe the sentiment of the text
strictly as "positive", "neutral", or "negative".
"I love the product":positive
"It is a scam":negative
"{{text}}.":';

对于拥抱面引擎,我们可以使用下面的语句创建模型。

CREATE MODEL hf_sentiment_analyzer                           
PREDICT sentiment                           
USING
    engine = 'huggingface',
    task = 'text-classification',
    model_name = 'cardiffnlp/twitter-roberta-base-sentiment',
    input_column = 'text',
    labels = ['negative','neutral','positive'];

翻译

翻译应用程序允许用户将文本从一种语言转换为另一种语言。该应用程序支持三个翻译,包括英语至法语,法语对英语和西班牙语,英语。用户可以以任何支持的语言输入文本,选择其选择的翻译选择和NLP引擎(OpenAI或HuggingFace),然后恢复翻译的文本。

Translate

4个参数将如下翻译应用程序更改。

if (selectedEngine === "OpenAI") {
  if (choice === "Fr-EN") {
    translationModelName = process.env.MINDSDB_OA_FREN_MODEL_NAME;
  } else if (choice === "Es-EN") {
    translationModelName = process.env.MINDSDB_OA_ESEN_MODEL_NAME;
  } else {
    translationModelName = process.env.MINDSDB_OA_ENFR_MODEL_NAME;
  }
} else if (selectedEngine === "HuggingFace") {
  if (choice === "Fr-EN") {
    translationModelName = process.env.MINDSDB_HF_FREN_MODEL_NAME;
  } else if (choice === "Es-EN") {
    translationModelName = process.env.MINDSDB_HF_ESEN_MODEL_NAME;
  } else {
    translationModelName = process.env.MINDSDB_HF_ENFR_MODEL_NAME;
  }
}

const text = `SELECT translation FROM ${translationModelName} WHERE text="${inputText}"`;
const translationResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练3个模型,以翻译输入文本。

对于OpenAI引擎,我们可以使用以下语句创建模型。

CREATE MODEL openai_engfr_translator  //English-French Model
PREDICT translation
USING
    engine = 'openai',
    model_name = 'gpt-4',
    prompt_template = 'Translate the following text in English to French. text:{{text}}';

-------------

CREATE MODEL openai_freng_translator   //French-English Model
PREDICT translation
USING
    engine = 'openai',
    model_name = 'gpt-4',
    prompt_template = 'Translate the following text in French to English. text:{{text}}';

-------------

CREATE MODEL openai_speng_translator   //Spanish-English Model
PREDICT translation
USING
    engine = 'openai',
    model_name = 'gpt-4',
    prompt_template = 'Translate the following text in Spanish to English. text:{{text}}';

对于拥抱面引擎,我们可以使用以下语句创建模型。

CREATE MODEL hf_enfr_translator        //English-French Model
PREDICT translation
USING
engine = 'huggingface',
task = 'translation',
model_name = 't5-base',
input_column = 'text',
lang_input = 'en',
lang_output = 'fr';

-------------------

CREATE MODEL hf_fren_translator        //French-English Model
PREDICT translation
USING
engine = 'huggingface',
task = 'translation',
model_name = 'Helsinki-NLP/opus-mt-fr-en',
input_column = 'text',
lang_input = 'fr',
lang_output = 'en';

--------------------

CREATE MODEL hf_spen_translator        //Spanish-English Model
PREDICT translation
USING
engine = 'huggingface',
task = 'translation',
model_name = 'Helsinki-NLP/opus-mt-es-en',
input_column = 'text',
lang_input = 'es',
lang_output = 'en';

垃圾邮件检测

垃圾邮件检测应用程序检测给定输入文本是否为垃圾邮件。该应用程序可以帮助确定电子邮件或消息是骗局。该应用程序根据用户选择的垃圾邮件检测使用HuggingFace或OpenAI引擎。

Detect Spam

垃圾邮件检测应用程序的4个参数如下。

if (selectedEngine === "OpenAI") {
  spamModelName = process.env.MINDSDB_OA_SPAM_MODEL_NAME;
} else if (selectedEngine === "HuggingFace") {
  spamModelName = process.env.MINDSDB_HF_SPAM_MODEL_NAME;
}

const text = `SELECT type FROM ${spamModelName} WHERE text="${message}"`;
const spamResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练一个模型,该模型可以从输入文本中检测垃圾邮件。

对于OpenAI引擎,我们可以使用以下语句创建模型。

CREATE MODEL openai_spam_detector
PREDICT type
USING
    engine = 'openai',
    model_name = 'gpt-4',
    prompt_template = 'Determine and Label the given text as "SPAM" or "HAM". 
                       "You have won 12 crore lottery. Click here to claim" : SPAM
                       "The team scrum call has been shifted to 8PM today. Kindly join on time." : HAM
                       "{{text}}" : ';

对于拥抱面引擎,我们可以使用下面的语句创建模型。

CREATE MODEL mindsdb.hf_spam_detector
PREDICT type
USING
engine = 'huggingface',
task = 'text-classification',
model_name = 'mariagrandury/roberta-base-finetuned-sms-spam-detection',
input_column = 'text',
labels = ['HAM', 'SPAM'];

JSON提取

JSON提取应用程序从给定的输入文本中以定义的格式提取JSON数据。 JSON(JavaScript对象符号)是一种轻巧的数据交换格式。该应用程序对于开发人员可以从给定的字符串中以JSON的形式提取有意义的数据很有帮助。该应用程序使用OpenAI引擎进行JSON提取。

JSON Extract

下面提到了JSON提取应用程序的4个参数。

if (selectedEngine === "OpenAI") {
  jsonModelName = process.env.MINDSDB_OA_JSON_MODEL_NAME;
}

const text = `SELECT json FROM ${jsonModelName} WHERE synopsis="${message}"`;
const jsonResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练模型,该模型可以从输入文本中以JSON格式提取数据。

对于OpenAI引擎,我们可以使用以下语句创建模型。

CREATE MODEL openai_movie_json_extractor
PREDICT json
USING
    engine = 'openai',
    model_name = 'gpt-4',
    json_struct = {
        'Movie': 'Movie Name',
        'Director': 'Director',
        'Starcast': 'Name of the stars or actors.',
        'Plot': 'Short plot description about the movie in about 30 words.'
    },
    input_text = 'synopsis';

问题回答

提问的应用程序试图根据输入文本回答用户遇到的任何问题。该应用程序为此使用OpenAI引擎。对模型进行了训练,以便可以在没有上下文的情况下回答问题。

QnA

问题回答应用程序的4个参数如下。

if (selectedEngine === "OpenAI") {
  qnaModelName = process.env.MINDSDB_OA_QNA_MODEL_NAME;
}

const text = `SELECT answer FROM ${qnaModelName} WHERE question="${message}"`;
const qnaResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB云训练一个模型,该模型可以回答输入文本中的问题。

对于OpenAI引擎,我们可以使用以下语句创建模型。

CREATE MODEL openai_question_answerer
PREDICT answer
USING
    engine = 'openai',
    model_name = 'gpt-4',
    prompt_template = 'Answer the following question. text:{{question}}.';

ESG标签

ESG标签应用程序确定给定输入文本是环境,社会或治理的重点。 ESG代表环境,社会和治理,这是一套用于衡量投资的可持续性和道德影响的标准。该应用程序可以帮助确定公司或投资是否以ESG为重点。该应用程序使用HuggingFace引擎进行ESG标签。

Label ESG

ESG标签应用程序的4个参数如下。

if (selectedEngine === "HuggingFace") {
  esgModelName = process.env.MINDSDB_HF_ESG_MODEL_NAME;
}

const text = `SELECT label FROM ${esgModelName} WHERE text="${message}"`;
const esgResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练模型,该模型可以根据输入文本正确标记ESG类型。

对于拥抱面引擎,我们可以使用下面的语句创建模型。

CREATE MODEL mindsdb.hf_esg26_labeller
PREDICT label
USING
engine = 'huggingface',
task = 'text-classification',
model_name = 'yiyanghkust/finbert-esg',
input_column = 'text';

行业识别

行业识别应用程序试图根据输入文本识别公司属于的行业。该应用程序对投资者了解公司所属哪个行业可能会有所帮助。该应用使用拥抱面引擎进行行业识别。

Identify Industry

行业标识应用程序的4个参数如下。

if (selectedEngine === "HuggingFace") {
  industryModelName = process.env.MINDSDB_HF_INDUSTRY_MODEL_NAME;
}

const text = `SELECT label FROM ${industryModelName} WHERE text="${message}"`;
const industryResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练一个模型,该模型可以从输入文本中识别各个行业。

对于拥抱面引擎,我们可以使用下面的语句创建模型。

CREATE MODEL mindsdb.hf_industry_labeller
PREDICT label
USING
engine = 'huggingface',
task = 'text-classification',
model_name = 'sampathkethineedi/industry-classification',
input_column = 'text';

预测模型

MindSDB还提供了训练可用于预测结果的强大预测模型。可以使用数据库中的现有数据来准备这些模型,不一定需要编程中的任何编码技能或专业知识。这里的模型以与上述NLP模型相似的方式工作,但有略有变化。他们不需要任何模型名称或选择的Engine参数。

移动价格预测

移动价格预测应用程序根据其输入功能(例如RAM,电池等)预测移动设备的价格。该应用程序使用MindSDB的回归预测模型来预测准确的定价。

Predict Mobile Price

移动预测应用程序的两个参数如下。

const text = `Select Price from ${priceModelName} where Brand="${request.body.brand}" AND Model="${request.body.model}" AND Storage=${request.body.storage} AND RAM=${request.body.ram} AND ScreenSize=${request.body.screen} AND BatteryCapacity=${request.body.battery} AND Camera=${request.body.camera};`;

const priceResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练一个模型,该模型可以根据用户提供的输入规格来预测手机的价格。

我们可以使用以下语句为此创建一个回归预测模型。

Create Predictor mindsdb.mobile_price_predictor
FROM files
(Select * from Mobiles)
Predict Price;

以太坊价格预测

以太坊价格预测应用程序可以预测以太坊的未来价格,即加密货币。该应用程序使用MindSDB的时间序列预测模型来预测用户提供日期的第二天以太坊的价格。

ETH Forecast

以太坊价格预测应用程序的两个参数如下。

const text = `Select EP.Close from ${ethModelName} as EP JOIN files.Ethereum as E WHERE E.Date > '${request.body.date}' LIMIT 1;`;

const ethPriceResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练一个模型,该模型可以预测用户给出日期的第二天以太坊价格。

我们可以使用以下语句为此创建一个时间序列模型。

CREATE PREDICTOR mindsdb.ethereum_price_predictor
FROM files
(Select * from Ethereum)
PREDICT Close
ORDER BY Date
WINDOW 150
HORIZON 65;

贫水预测

水钾性预测应用程序预测给定的水样品是否可以安全地消费。该应用程序使用MindSDB的分类预测模型来确定基于用户水分参数的水携带性。

Predict Potable Water

水钾性应用程序的两个参数如下。

const text = `Select Potability from ${waterModelName} where ph=${request.body.ph} AND Hardness=${request.body.hardness} AND Solids=${request.body.solids} AND Chloramines=${request.body.chloramines} AND Sulfate=${request.body.sulfate} AND Conductivity=${request.body.conductivity} AND Organic_carbon=${request.body.carbon} AND Trihalomethanes=${request.body.trihalomethanes} AND Turbidity=${request.body.turbidity};`;

const waterResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud训练模型,该模型可以根据输入文本的水成分对水的性能进行分类。

我们可以使用以下语句为此创建一个分类模型。

CREATE PREDICTOR mindsdb.water_potability_predictor
FROM files 
(SELECT * FROM Water)
PREDICT Potability;

特斯拉股价预测

特斯拉股价预测应用程序预测特斯拉股票的未来价格。该应用再次使用MindSDB的时间序列预测模型来预测用户授予日期的第二天Tesla的股票价格。

Tesla Forecast

特斯拉股票预测应用程序的两个参数如下。

const text = `Select TP.Close from ${teslaModelName} as TP JOIN files.Tesla as T WHERE T.Date > '${req.body.date}' LIMIT 1;`;

const priceResponse = await MindsDB.SQL.runQuery(text);

现在,我们需要使用MindSDB Cloud培训一个模型,该模型可以预测用户给出日期的第二天Tesla股票价格。

我们可以使用以下语句为此创建一个时间序列模型。

CREATE PREDICTOR mindsdb.tesla_stocks_predictor
FROM files
(Select * from Tesla)
PREDICT Close
ORDER BY Date
WINDOW 150
HORIZON 65;

应用功能

MindSDB Playground应用程序具有多个功能,使其成为所有级别用户的有用工具,可以从MindSDB开始使用。其中一些显着特征包括:

易于使用的接口:该应用程序带有用户友好的接口,使用户可以轻松地与MindSDB供电的各种应用程序进行交互。

免费使用:该应用程序可以免费使用,并且将始终保持这种方式。

各种NLP模型:该应用具有八个由OpenAI引擎或HuggingFace Engine提供动力的NLP应用程序。这些应用包括文本摘要,情感分析,翻译(ENG-FR,Fr-eng,ES-ENG),垃圾邮件检测,JSON提取,问题答案,ESG标签和行业识别。

各种预测模型:该应用程序还提供了四个预测应用程序,包括移动价格预测,以太坊价格预测,耐水性预测和特斯拉股价预测。这4个应用程序涵盖了所有不同类型的预测模型,即回归类型,分类类型和时间表类型。

移动响应式:操场应用程序的设计易于在各种设备上使用,包括手机(肖像和景观模式),平板电脑,笔记本电脑和台式机。

sql作弊表:,如果任何新用户都想知道如何在MindSDB Cloud上训练在操场应用程序上存在的模型,他们可以简单地使用顶部的下载备忘单选项每个应用程序面板的左角。

云托管:使用Digitalocean App Platform实时部署了Playground应用程序,该应用程序非常可靠且安全安全。

自定义域:操场应用程序使用自定义域在其用户中添加品牌和信誉感,并且还可以使用SSL确保,即您可以通过HTTPS访问它。

演示

该应用程序已部署并在MindsDB Playground上进行。

可以找到该项目的GitHub存储库here

未来范围

Playground应用程序目前正在早期开发中,最近的版本可以将其视为版本1版本。因此,像其他任何应用程序一样,它具有许多改进的范围。但是,某些主要的主要列表在下面列出。

  • 更多示例应用
  • 更快的响应时间
  • 会话缓存
  • 示例数据集下载
  • 现代UI框架实施

结论

总的来说,MindSDB Playground应用程序提供了一个绝佳的机会,可以探索由MindSDB提供支持的自然语言处理和预测分析的功能。该应用程序的用户界面易于使用,并且该应用程序易于使用。用户可以在不同的NLP和预测分析模型之间进行选择,并选择他们想要使用的模型。该应用程序对新用户,潜在客户,开发人员以及有兴趣探索MindSDB提供的强大和准确解决方案的任何人都有用。

最后,请随时在下面的评论中删除有关该应用程序的任何建议或反馈,如果您在阅读愉快时,请不要忘记对本文表示赞赏。

参考

MindsDB Docs
MindsDB JS SDK
Figma
DigitalOcean App Platform
GoDaddy Domain Registry

This App was originally made for the @MindsDB x Hashnode Hackathon.

Sponsorship Badge