Natasha Seelam

3 results

Turning MongoDB into a Predictive Database

Note: this blog, originally published November 10, 2021, has been updated with new installation and connection instructions to connect your MongoDB instance to MindsDB’s machine learning platform, and with new examples and use cases There’s a growing interest in artificial intelligence (AI) and machine learning (ML) in the business world. The predictive capabilities of ML/AI enable rapid insights from patterns detected at rates faster than manual analysis. Additionally, recent advances in generative machine learning applications, such as OpenAI and Hugging Face, offer powerful tools for businesses to generate and analyze text data. Businesses realize that this can lead to increased profits, reduced costs, and accelerated innovation. Although businesses both large and small can benefit from the power of AI, implementing a machine learning project can be both complex and time-consuming. MongoDB , Inc. (NASDAQ: MDB), the leading, modern general purpose database platform, and MindsDB , the open-source machine learning platform that brings automated machine learning to the database, established a technology partnership to advance machine learning innovation. This collaboration aims to make it easy for developers to incorporate powerful ML-driven features into their applications to solve real-world business challenges. What is the best approach? Once you have identified the initial ML projects you’d like to focus on, such as forecasting or text analysis, choosing the right tools and methodologies can help speed up the time it takes to build, train, optimize and deploy models. Model selection and feature engineering can be time consuming and difficult if you aren’t aware of the specific dimensions the ML model is going to train on. Additionally, pipelines used for data extraction and transformation need to be maintained over time, and a machine learning model also needs to be deployed on the right compute framework. Existing state-of-the-art AutoML frameworks provide methods to optimize performance including adjusting hyper parameters (such as the learning rate or batch size). The MindsDB AutoML framework extends beyond most conventional automated systems of hyper parameter tuning and enables novel upstream automation of data cleaning, data pre-processing, and feature engineering. To empower users with transparent development, the framework encompasses explainability tools, enables processing for complex data types (NLP, time series, language modeling, and anomaly detection), and gives users customizability by allowing imported models of their choice. MindsDB also generates predictions at the data layer (without consuming DB resources)—an additional, significant advancement that accelerates development speed. Generating predictions directly in MongoDB Atlas with MindsDB AI Collections gives you the ability to consume predictions as regular data, query these predictions, and accelerate development speed by simplifying deployment work-flows. Getting started with MindsDB We suggest starting with either MindsDB in AWS or http://cloud.mindsdb.com for a demo cloud version of MindsDB. For anything beyond small scale testing (2 models, a few thousand documents) we strongly suggest using MindsDB Pro (easy to set up, simple, usage-based ‘pay as you go pricing’). Check out the product page on AWS Marketplace for instructions on setting up MindsDB in your existing AWS account. For all documentation and FAQs, please visit https://docs.mindsdb.com/ . Setting up the connection to MindsDB in MongoDB Currently, integration works by accessing MongoDB through MindsDB’s MongoDB API as a new data source. More information about connecting to MongoDB can be found here . MindsDB hosts a demo MongoDB database with sample data sets. Use the MongoDB Shell or MongoDB Compass UX to connect to MindsDB’s MongoDB API. Please note that you must have MongoDB shell version ≥3.6 to use the MindsDB MongoDB API. MongoDB Compass connection To connect to MindsDB Demo database use the following connection string (as below in the MongoDB Compass UX): mongodb+srv://admin:201287aA@cluster0.myfdu.mongodb.net/admin?authSource=admin&replicaSet=atlas-5koz1i-shard-0&readPreference=primary&appname=MongoDB%20Compass&ssl=true If you would prefer to follow along with this tutorial from your own database, feel free to use your own connection string, and upload an example dataset where you can run a number of test cases house_sales.csv. If you use your own MongoDB instance, you will need to follow two additional steps: Step 1: Once you have created a MindsDB acc’t then connect your MongoDB instance to MindsDB (cloud or AWS) using your own connection string in the MindsDB editor (Here is the link for MindsDB Cloud Editor: https://cloud.mindsdb.com/editor ) Run the query below in the MindsDB editor: db.databases.insertOne({ name: "mongo_int", engine: "mongodb", connection_args: { "port": 27017, "host": "mongodb+srv://admin:@localhost", "database": "test_data" } }); On execution, we get: { "acknowledged" : true, "insertedId" : ObjectId("62dff63c6cc2fa93e1d7f12c") } Where: Step 2: Connect your MongoDB Compass or Shell to your MongoDB and; create a new Collection, and add the .csv file, as below: Create collection > Add data > Select data types Data types: [Date, Number, String, Number] Now, we have successfully integrated with the MongoDB database. The next step is to use MongoDB-client to connect to MindsDB’s MongoDB API and train models. MindsDB has a number of prepared demo use cases and data sets, including predicting home rental prices, forecasting quarterly house sales and predicting customer sentiment through language analysis of product review text using our Hugging Face integration. Many examples for Mongo, with code, can be found in the links below: https://docs.mindsdb.com/using-mongo-api/nlp https://docs.mindsdb.com/using-mongo-api/classification https://docs.mindsdb.com/using-mongo-api/regression https://docs.mindsdb.com/nlp/sentiment-analysis-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/question-answering-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/text-summarization-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/json-from-text#example-in-mql For a powerful, showcase example, we will demonstrate a unique feature that is recently available using MindsDB’s integration with OpenAI’s GPT-3 language model. MindsDB can be used to generate JSON documents from unstructured text in the DB. For example, as below, MindsDB can create JSON documents with relevant information on properties for rent (days on market, number of bathrooms, price, rating) based on natural language descriptions from real-estate listings. Please follow the guide above, or check out our docs on how to connect MongoDB Compass and MongoDB Shell to MindsDB. To create this model in MQL, run the below command from MongoDB Compass or MongoDB Shell: db.models.insertOne({ name: 'nlp_model', predict: 'json', training_options: { engine: 'openai', input_text: 'sentence', json_struct: { 'rental_price': 'rental price', 'location': 'location', 'nob': 'number of bathrooms' } } }) We pass the same three parameters here. The engine parameter ensures we use the OpenAI engine. The json_struct parameter stores a predefined JSON structure used for the output. The input_text parameter contains the name of the field that stores input text. Now we can query the model, passing the input text stored in the sentence field. db.nlp_model.find({ 'sentence': 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' }) On execution, we get: { json: { rental_price: '3000', location: 'Manhattan', nob: '1' }, sentence: 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' This tutorial highlights the steps to create an NLP model to generate JSON output from unstructured text inside MongoDB by leveraging MindsDB’s MongoDB connector and automation capabilities. Using the existing compute configuration, the example above took less than five minutes, without the need for extensive tooling, or pipelines in addition to your database. With MindsDB’s machine learning capabilities inside MongoDB, developers can now build machine learning models at reduced cost, gain greater insight into model accuracy, and help users make better data-based decisions. Modernize with MongoDB and MindsDB MongoDB provides an intuitive process for data management and exploration by simplifying and enriching data. MindsDB helps turn data into intelligent insights by simplifying modernization into machine learning, AI, and the ongoing spectrum of data science. Try MindsDB to connect to MongoDB, train models, and run predictions in the cloud! Simply install MindsDB from Amazon Marketplace and our team is available on Slack and Github for feedback and support. Check it out and feel free to ask questions, share use case examples!

November 10, 2021

将 MongoDB 转变为预测数据库

注意:本博客最初发布于 2021 年 11 月 10 日,现已更新,提供了新的安装和连接说明,用于指导将 MongoDB 实例连接到 MindsDB 的机器学习平台,并提供了新的示例和用例 商界对人工智能 (AI) 和机器学习 (ML) 的兴趣日益浓厚。ML/AI 的预测功能能够以比人工分析更快的速度从检测到的模式中快速获得见解。此外,生成式机器学习应用程序(如 OpenAI 和 Hugging Face)的最新进展为企业提供了强大工具以用于生成和分析文本的数据。企业意识到这样可以提高利润、降低成本并加快创新。尽管各种规模的企业都可以受益于强大的 AI,但实施机器学习项目既复杂又耗时。 MongoDB , Inc. (NASDAQ: MDB) 是领先的现代通用数据库平台, MindsDB 是将自动化机器学习引入数据库的开源机器学习平台,两者建立了技术合作伙伴关系,以推进机器学习创新。此次合作旨在让开发者能够轻松地将强大的机器学习驱动型功能整合到他们的应用程序中,以解决现实世界的业务挑战。 最好的方法是什么? 一旦确定了要重点实施的初始机器学习项目(如预测或文本分析)后,选择合适的工具和方法有助于缩短构建、训练、优化和部署模型所需的时间。如果您不确定机器学习模型将要在哪些维度上进行训练,模型的选择和特征工程可能会非常耗时且困难。此外,用于数据提取和转换的管道需要随着时间进行维护,机器学习模型也需要部署在合适的计算框架之上。 现有的顶尖 AutoML 框架提供了优化性能的方法,包括调整超参数(如学习率或批量大小)。MindsDB AutoML 框架超越了大多数传统的超参数调整自动化系统,实现了数据清理、数据预处理和特征工程的新颖上游自动化。为助力用户进行透明开发,该框架包含可解释性工具,支持处理复杂的数据类型(NLP、时间序列、语言建模和异常检测),并通过允许用户使用导入的选定模型让用户可以进行自定义设置。 此外,MindsDB 还可以在数据层生成预测(不消耗数据库资源),这是加快开发速度的另一个重大进步。通过使用 MindsDB AI 集合直接在 MongoDB Atlas 中生成预测,这样您就能够将预测用作常规数据,查询这些预测,并通过简化部署工作流程来加快开发速度。 开始使用 MindsDB 我们建议从 AWS 中的 MindsDB 开始使用或访问 http://cloud.mindsdb.com 以获取 MindsDB 的演示云版本。对于小规模测试(2 个模型,数千个文档)之外的任何测试,强烈建议使用 MindsDB Pro (易于设置、简单、基于使用量的“即用即付”定价)。查看 AWS Marketplace 上的产品页面,了解有关如何在现有 AWS 帐户中设置 MindsDB 的说明。 有关所有文档和常见问题解答,请访问 https://docs.mindsdb.com/ 。 在 MongoDB 中设置与 MindsDB 的连接 目前,集成是通过 MindsDB 的 MongoDB API 访问作为新数据源的 MongoDB 来实现的。可在此处找到有关连接到 MongoDB 的更多信息。MindsDB 会托管包含示例数据集的演示 MongoDB 数据库。 使用 MongoDB Shell 或 MongoDB Compass UX 连接到 MindsDB 的 MongoDB API。 请注意,您必须装有 MongoDB Shell 版本 3.6 或更高版本才能使用 MindsDB MongoDB API。 MongoDB Compass 连接 要连接到 MindsDB 演示数据库,请使用以下连接字符串(如 MongoDB Compass UX 中的以下内容所示): mongodb+srv://admin:201287aA@cluster0.myfdu.mongodb.net/admin?authSource=admin&replicaSet=atlas-5koz1i-shard-0&readPreference=primary&appname=MongoDB%20Compass&ssl=true 如果您想使用自己的数据库学习本教程,请随意使用自己的连接字符串,并上传可以在其中运行许多测试用例 house_sales.csv 的示例数据集。 如果您使用自己的 MongoDB 实例,您将需要执行两个额外步骤: 步骤 1:创建 MindsDB 帐户后,使用 MindsDB 编辑器中的连接字符串将 MongoDB 实例连接到 MindsDB(云或 AWS)(MindsDB 云编辑器的链接如下: https://cloud.mindsdb.com/editor ) 在 MindsDB 编辑器中运行以下查询: db.databases.insertOne({ name: "mongo_int", engine: "mongodb", connection_args: { "port": 27017, "host": "mongodb+srv://admin:@localhost", "database": "test_data" } }); 执行后,输出如下: { "acknowledged" : true, "insertedId" : ObjectId("62dff63c6cc2fa93e1d7f12c") } 其中: 步骤 2:将 MongoDB Compass 或 Shell 连接到 MongoDB;创建一个新集合,然后添加 .csv 文件,如下所示 创建集合 > 添加数据 > 选择数据类型 数据类型:[日期、数字、字符串、数字] 现在,我们已经成功与 MongoDB 数据库集成。下一步是使用 MongoDB 客户端连接到 MindsDB 的 MongoDB API 并训练模型。MindsDB 拥有许多准备好的演示用例和数据集,包括预测房屋租赁价格、预测季度房屋销量以及通过使用我们的 Hugging Face 集成对产品评价文本进行语言分析来预测客户情感。在下面的链接中可以找到 Mongo 的许多示例和代码: https://docs.mindsdb.com/using-mongo-api/nlp https://docs.mindsdb.com/using-mongo-api/classification https://docs.mindsdb.com/using-mongo-api/regression https://docs.mindsdb.com/nlp/sentiment-analysis-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/question-answering-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/text-summarization-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/json-from-text#example-in-mql 作为示例,我们将展示一项独特的强大功能,该功能是最近通过使用 MindsDB 与 OpenAI 的 GPT-3 语言模型的集成而提供的。MindsDB 可用于根据数据库中的非结构化文本生成 JSON 文档。例如,如下所示,MindsDB 可以根据房地产清单的自然语言描述,创建包含有关出租物业相关信息(租赁天数、浴室数量、价格、评价)的 JSON 文档。 请按照上面的指南进行操作,或者查看我们的文档,了解如何将 MongoDB Compass 和 MongoDB Shell 连接到 MindsDB。 要在 MQL 中创建此模型,请从 MongoDB Compass 或 MongoDB Shell 运行以下命令: db.models.insertOne({ name: 'nlp_model', predict: 'json', training_options: { engine: 'openai', input_text: 'sentence', json_struct: { 'rental_price': 'rental price', 'location': 'location', 'nob': 'number of bathrooms' } } }) 我们在此处传递了相同的三个参数。 engine 参数可确保我们使用的是 OpenAI 引擎。 json_struct 参数可存储用于输出的预定义 JSON 结构。 input_text 参数包含存储输入文本的字段的名称。 现在我们可以查询相应模型,以传递存储在句子字段中的输入文本。 db.nlp_model.find({ 'sentence': 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' }) 执行后,输出如下: { json: { rental_price: '3000', location: 'Manhattan', nob: '1' }, sentence: 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' 本教程重点介绍了通过使用 MindsDB 的 MongoDB 连接器和自动化功能,在 MongoDB 中创建 NLP 模型以根据非结构化文本生成 JSON 输出的步骤。使用现有的计算配置,上述示例花费了不到五分钟,除了数据库之外不需要使用大量的工具或管道。借助 MongoDB 中 MindsDB 的机器学习功能,开发者现在能够以更低的成本构建机器学习模型,更深入地了解模型准确性,并帮助用户制定更明智且基于数据的决策。 使用 MongoDB 和 MindsDB 实现现代化 通过简化和丰富数据,MongoDB 为数据管理和探索提供了直观的流程。通过简化机器学习、AI 和正在持续发展的数据科学领域的现代化过程,MindsDB 可帮助将数据转化为智能见解。 尝试使用 MindsDB 连接到 MongoDB,训练模型并在云中运行预测!只需从 Amazon Marketplace 安装 MindsDB,即可在 Slack 和 Github 上联系我们的团队以提供反馈和寻求支持。 请查看并随时提问,分享用例示例!

November 1, 2021

將 MongoDB 化身為預測性資料庫

注意:這篇文章是在 2021 年 11 月10 日發布,部分內容已經更新,包含將 MongoDB 實例連結至 MindsDB 機器學習平台的安裝及連結指南,還有一些新的範例及用例。 現在越來越多人好奇如何將人工智慧(AI)及機器學習(ML)應用在商業世界,ML/AI 的預測能力比人工分析可以更快偵測邏輯,從中快速找到洞見。此外,近期生成式機器學習應用程式的快速成長,像是 OpenAI 和 Hugging Face,為公司提供強大工具,生成並分析文本資料,讓他們感受到這項技術可以提升營收、降低成本和加速創新。雖然不管公司的規模大小,都能受惠於 AI,但實際應用機器學習的流程可能是費時又複雜。 位處領導地位的 MongoDB , Inc. (NASDAQ: MDB) 是滿足各式目的的現代資料庫平台,與將自動化機器學習導入資料庫中的開源機器學習平台 MindsDB 成為技術夥伴,攜手促進機器學習創新更上一層樓。這項合作目標是要讓開發人員可以更輕鬆地將 ML 導向的功能帶入應用程式中,同時實際解決業務上帶來的挑戰。 最適合的方法是什麼? 第一步需要先找出你想要重點發展的 ML 專案,像是預測或是文本分析,接著要選擇適合的工具及方法,就能加速建立、訓練、最佳化和部署模型的時間。如果你沒注意到需要訓練的 ML 模型維度,可能會在模型選擇和特徵工程上造成困難並耗上許多時間。此外隨著時間過去,用來資料萃取和轉換的管道會需要進行維護,而機器學習模型也需要部署在正確的運算框架。 目前最先進的 AutoML 框架提供最佳化效能的方法,包括調整超參數,像是學習速率和批次大小。 MindsDB AutoML 框架超越最先進的超參數調整自動化系統,提供資料清洗、資料前處理和特徵工程的新興上游自動化方法。為了讓使用者的開發流程更透明,框架提供了可解釋工具,可以處理複雜的資料類型,包含NLP、時間序列、語言模型和異常偵測,並讓使用者自己選擇要輸入的模型,給予客製化的空間。 MindsDB 也能在資料層生成預測,不需要使用 DB 的資源,是另一項幫助加速研發速度的重大變革。透過 MindsDB AI 集合,直接在 MongoDB Atlas 生成預測,可以把預測當做一般資料使用和查詢,透過簡化部署工作流程,加速研發速度。 馬上開始使用 MindsDB 可以馬上使用 AWS 上的 MindsDB 或是上 http://cloud.mindsdb.com 取得 MindsDB 的雲端示範版本。若有比小規模測試版本(兩個模型及上千種文件)更大的需求,歡迎使用安裝容易、簡潔易懂、以使用容量計價的 MindsDB Pro 。造訪我們在 AWS Marketplace 的商品頁面,了解如何在你原有的 AWS 帳號設定 MindsDB。 歡迎造訪 https://docs.mindsdb.com/ ,取得所有文件以及常見 Q&A。 如何在 MongoDB 上設定連結至 MindsDB 目前整合的方式是以 MindsDB 的 MongoDB API 作為新資料來源,存取 MongoDB。可到這個 頁面 ,進一步了解如何連結 MongoDB。MindsDB 提供了附上簡單資料集的 MongoDB 資料庫示範。 可以使用 MongoDB Shell 或是 MongoDB Compass 的使用者介面連結 MindsDB 的 MongoDB API。你的 MongoDB shell 的版本必須是或高於版本 3.6,才能使用 MindsDB MongoDB API。 MongoDB Compass 的連結方法 可以用以下連結字串,連結 MindsDB 的示範資料庫 ,圖示為 MongoDB Compass 使用者介面會看到的畫面: 如果你想要在你自己的資料庫跟著這份教學的話,歡迎使用你自己的連結字串,並上傳範例資料集,執行一系列的測試案例 house_sales.csv。 如果你用的是自己的 MongoDB 實例,還需要多兩個額外的步驟: 步驟一:創建 MindsDB 帳號之後,就能使用你在 MindsDB 編輯器中的連結字串,把 MongoDB 實例連接至雲端或 AWS 的 MindsDB。(MindsDB 雲端編輯器的連結: https://cloud.mindsdb.com/editor ) 在 MindsDB 編輯器中運行查詢的畫面: db.databases.insertOne({ name: "mongo_int", engine: "mongodb", connection_args: { "port": 27017, "host": "mongodb+srv://admin:@localhost", "database": "test_data" } }); 運行之後會得到: { "acknowledged" : true, "insertedId" : ObjectId("62dff63c6cc2fa93e1d7f12c") } 欄位解釋: 步驟二:將你的 MongoDB Compass 或 Shell,連結至 MongoDB,並創建一個新的集合,加入 .csv 檔案,如下: 創建集合>加入資料>選擇資料類型 資料類型:[日期, 數字, 字串, 數字] 這樣就成功整合了 MongoDB 資料庫。下一步使用 MongoDB 用戶端來連結 MindsDB 的 MongoDB API 並訓練模型。MindsDB 擁有大量準備好的範本用例和資料集,包含租屋價格和季度房屋銷售預測,應用我們的 Hugging Face 整合,針對產品評論進行語言分析,預測客戶情感。 多個包含編碼的 MongoDB 案例,都可以在以下連接取得: https://docs.mindsdb.com/using-mongo-api/nlp https://docs.mindsdb.com/using-mongo-api/classification https://docs.mindsdb.com/using-mongo-api/regression https://docs.mindsdb.com/nlp/sentiment-analysis-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/question-answering-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/text-summarization-inside-mongodb-with-openai https://docs.mindsdb.com/nlp/json-from-text#example-in-mql 另外我們也用最近 MindsDB 與 OpenAI 的 GPT-3 整合的語言模型提供的獨特功能,作為更強大的示範案例。MindsDB 可以用來將 DB 中非結構化資料,生成 JSON 文件。如下面所示,MindsDB 可以創建 JSON 文件,包含從房地產清單中的自然語言描述所取得的租屋物件相關資訊,像是在空租期、廁所數量、價格、評分。 請跟著以下教學,或是閱讀關於如何把 MongoDB Compass 和 MongoDB Shell 連結至 MindsDB的文件。 想在 MQL 中創建此模型,請運行以下來自 MongoDB Compass 或 MongoDB Shell 的指令: db.models.insertOne({ name: 'nlp_model', predict: 'json', training_options: { engine: 'openai', input_text: 'sentence', json_struct: { 'rental_price': 'rental price', 'location': 'location', 'nob': 'number of bathrooms' } } }) 這時傳送三個相同的參數。 參數確保我們使用 OpenAI 引擎 參數儲存用於輸出結果的預先定義 JSON 結構 參數包含儲存輸入文本欄位的名稱 接下來就可以查詢模型,傳送儲存在句子欄位的輸入文本。 db.nlp_model.find({ 'sentence': 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' }) 運行之後會得到: { json: { rental_price: '3000', location: 'Manhattan', nob: '1' }, sentence: 'Amazing 3 bedroom apartment located at the heart of Manhattan, has one full bathrooms and one toilet room for just 3000 a month.' 這份教學強調創建 NLP 模型的步驟,透過應用 MindsDB 的 MongoDB 連接器和自動化能力,從 MongoDB 中非結構化文本中生成 JSON 輸出。應用現有的運算配置,上面列出的例子不需要大量的工具,就能在不到五分鐘的時間完成。有了 MongoDB 裡面的 MindsDB 的機器學習能力,開發人員就能以較低的成本建立機器學習模型,讓模型精準度變得更高,幫助使用者做出更好的資料導向決策。 透過 MongoDB 和 MindsDB 現代化 MongoDB 透過簡化及擴充資料,提供直覺的資料管理及探索流程。MindsDB 透過簡化將現代化帶入機器學習、AI 和其餘各範圍的資料科學,協助將資料轉化為智慧洞見。 馬上將 MindsDB 連結至 MongoDB,訓練模型並在雲端上運行預測。只要從 Amazon Marketplace 安裝 MindsDB,我們的團隊也都在 Slack 和 Github ,提供回饋和服務支援。馬上就開始,歡迎問問題跟我們分享範例用例!

November 1, 2021