From 54fe9648672e3c1838c4216216ff60dd827b4b02 Mon Sep 17 00:00:00 2001 From: Rafaela Ferro Date: Tue, 28 May 2024 22:18:39 +0100 Subject: [PATCH] Add difficulty meta to notebooks (#98) * Add difficulty meta to notebooks --- CONTRIBUTING.md | 5 ++++- notebooks/atlas-and-kai/meta.toml | 1 + notebooks/backup-database-s3/meta.toml | 1 + .../building-a-multi-agent-ai-app-with-autogen/meta.toml | 1 + notebooks/cdc-mongodb-sql-commands/meta.toml | 1 + notebooks/confluent-cloud-integration/meta.toml | 1 + notebooks/evaluating-llms-with-uptrain/meta.toml | 1 + notebooks/getting-started-with-dataframes/meta.toml | 1 + notebooks/getting-started-with-fusion-sql/meta.toml | 1 + notebooks/getting-started-with-mongocdc/meta.toml | 1 + notebooks/getting-started-with-notebooks/meta.toml | 1 + .../meta.toml | 1 + notebooks/hybrid-full-text-vector-search/meta.toml | 1 + notebooks/hybrid-search/meta.toml | 1 + notebooks/image-matching-with-sql/meta.toml | 1 + notebooks/ingest-pdfs-with-unstructured/meta.toml | 1 + .../meta.toml | 1 + notebooks/insure-gpt-demo/meta.toml | 1 + notebooks/integrating-with-pandas/meta.toml | 1 + notebooks/kebab-case/meta.toml | 1 + notebooks/launch-open-source-apps-with-langchain/meta.toml | 1 + notebooks/load-json-files-s3/meta.toml | 1 + notebooks/load-s3-files-into-shared-tier/meta.toml | 1 + notebooks/managing-stage-files-with-fusion-sql/meta.toml | 1 + notebooks/movie-recommendation/meta.toml | 1 + notebooks/network-intrusion-detection-part-1/meta.toml | 1 + notebooks/network-intrusion-detection-part-2/meta.toml | 1 + notebooks/network-intrusion-detection-part-3/meta.toml | 1 + notebooks/notebook-basics/meta.toml | 1 + notebooks/optimize-performance-with-tpch-100/meta.toml | 1 + notebooks/performance-troubleshooting/meta.toml | 1 + notebooks/pipelines-query-tuning/meta.toml | 1 + notebooks/rag-with-bedrock/meta.toml | 1 + notebooks/real-time-anomaly-detection/meta.toml | 1 + notebooks/real-time-recommendation-engine/meta.toml | 1 + .../representing-unstructured-data-as-vectors/meta.toml | 1 + notebooks/restore-database-from-s3/meta.toml | 1 + notebooks/resume-evaluator-ANN-index-search/meta.toml | 1 + notebooks/resume-evaluator/meta.toml | 3 ++- notebooks/searching-all-of-wikipedia/meta.toml | 1 + notebooks/semantic-search-with-hugging-face/meta.toml | 1 + .../meta.toml | 1 + notebooks/semantic-search-with-openai-qa/meta.toml | 1 + .../semantic-visualization-and-vector-datatype/meta.toml | 3 ++- notebooks/similarity-search-on-vector-data/meta.toml | 1 + .../singlestore-april-challenge-haiku-ascii/meta.toml | 1 + notebooks/unified-data-analysis-sql-nosql-kai/meta.toml | 1 + notebooks/vector-database-basics/meta.toml | 1 + notebooks/vector-search-with-kai/meta.toml | 1 + notebooks/working-with-vector-data/meta.toml | 3 ++- resources/nb-check.py | 7 +++++++ resources/package-samples.py | 1 + 52 files changed, 64 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f67a5cd9..a8be95a2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,10 +50,11 @@ Your `meta.toml` file should have a `[meta]` section with the following keys: - title: string - description: string (optional) +- difficulty: "beginner", "intermediate" or "advanced" - tags: string[] (optional) - icon: string. You don't need to reference the extension. See full list of icon names [here](https://github.com/singlestore-labs/spaces-notebooks/tree/master/common/images/header-icons) - destinations: list of strings. For now set it to ["spaces"]. -minimum_tier: If this notebook can be run on our free shared tier, please use "free-shared". Else use "standard" +- minimum_tier: If this notebook can be run on our free shared tier, please use "free-shared". Else use "standard" Example: @@ -61,9 +62,11 @@ Example: [meta] title="Atlas & Kai for Mongo Side-by-Side" description="Compare performance on same code from simple to more complex queries" +difficulty="beginner" tags=["mongodb", "kai"] destinations=["spaces"] icon="database" +minimum_tier="free-shared" ``` diff --git a/notebooks/atlas-and-kai/meta.toml b/notebooks/atlas-and-kai/meta.toml index fe56f7b1..c84a0995 100644 --- a/notebooks/atlas-and-kai/meta.toml +++ b/notebooks/atlas-and-kai/meta.toml @@ -4,6 +4,7 @@ description="""\ Run your MongoDB queries on SingleStore Kai with no code change. \ """ icon="database" +difficulty="beginner" tags=["starter", "mongo", "kai"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/backup-database-s3/meta.toml b/notebooks/backup-database-s3/meta.toml index 6bed9d4a..a8423650 100644 --- a/notebooks/backup-database-s3/meta.toml +++ b/notebooks/backup-database-s3/meta.toml @@ -4,6 +4,7 @@ description = """\ Performs backup either single or multiple databases to AWS S3. \ """ icon = "database" +difficulty="beginner" tags = ["starter", "backup"] destinations = ["spaces"] minimum_tier="standard" diff --git a/notebooks/building-a-multi-agent-ai-app-with-autogen/meta.toml b/notebooks/building-a-multi-agent-ai-app-with-autogen/meta.toml index fbdc0d52..e6b11b19 100644 --- a/notebooks/building-a-multi-agent-ai-app-with-autogen/meta.toml +++ b/notebooks/building-a-multi-agent-ai-app-with-autogen/meta.toml @@ -4,6 +4,7 @@ description="""\ Learn how to build a multi-agent group chat with RAG using Autogen and SingleStore \ """ icon="vector-circle" +difficulty="beginner" tags=["starter", "autogen", "rag", "multiagent", "groupchat"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/cdc-mongodb-sql-commands/meta.toml b/notebooks/cdc-mongodb-sql-commands/meta.toml index df4f8282..a3a3ff05 100644 --- a/notebooks/cdc-mongodb-sql-commands/meta.toml +++ b/notebooks/cdc-mongodb-sql-commands/meta.toml @@ -3,6 +3,7 @@ title = "Ingest data from MONGODB® to SingleStore using SQL commands" description = """ Setup CDC Replication from MongoDB® to SingleStore using SQL commands. """ icon = "database" +difficulty="intermediate" tags = ["mongo", "pipeline", "cdc", "ingest", "kai"] destinations = ["spaces"] minimum_tier="standard" diff --git a/notebooks/confluent-cloud-integration/meta.toml b/notebooks/confluent-cloud-integration/meta.toml index 4defb9ef..206b5d33 100644 --- a/notebooks/confluent-cloud-integration/meta.toml +++ b/notebooks/confluent-cloud-integration/meta.toml @@ -3,6 +3,7 @@ title = "Ingest data from Confluent Cloud (Kafka)" description = """ A step-by-step guide on seamlessly ingesting data from Confluent Cloud (Kafka) into your SingleStoreDB database using a robust pipeline. """ icon = "confluent-logo" +difficulty="advanced" tags = ["advanced", "confluent", "kafka", "pipeline", "realtime"] destinations = ["spaces"] minimum_tier="standard" diff --git a/notebooks/evaluating-llms-with-uptrain/meta.toml b/notebooks/evaluating-llms-with-uptrain/meta.toml index ad9d1be8..aa2f81ab 100644 --- a/notebooks/evaluating-llms-with-uptrain/meta.toml +++ b/notebooks/evaluating-llms-with-uptrain/meta.toml @@ -3,6 +3,7 @@ title="Evaluating LLMs with Uptrain" description="""\ Using Uptrain to evaluate LLMs built with SingleStore as the contextual store. This notebook uses OpenAI embedding models and Langchain as a development framework. """ +difficulty="intermediate" tags=["openai", "llm", "vectordb", "langchain"] icon="vector-circle" destinations=["spaces"] diff --git a/notebooks/getting-started-with-dataframes/meta.toml b/notebooks/getting-started-with-dataframes/meta.toml index 67244278..07d898d0 100644 --- a/notebooks/getting-started-with-dataframes/meta.toml +++ b/notebooks/getting-started-with-dataframes/meta.toml @@ -5,6 +5,7 @@ description="""\ familiar DataFrame syntax in addition to SQL. """ icon="browser" +difficulty="beginner" tags=["starter", "dataframe", "python"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/getting-started-with-fusion-sql/meta.toml b/notebooks/getting-started-with-fusion-sql/meta.toml index ee873ab9..94590f8a 100644 --- a/notebooks/getting-started-with-fusion-sql/meta.toml +++ b/notebooks/getting-started-with-fusion-sql/meta.toml @@ -6,6 +6,7 @@ description="""\ Stage files all from SQL. """ icon="browser" +difficulty="beginner" tags=["starter", "fusion", "python"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/getting-started-with-mongocdc/meta.toml b/notebooks/getting-started-with-mongocdc/meta.toml index e689c34b..c4aa76e8 100644 --- a/notebooks/getting-started-with-mongocdc/meta.toml +++ b/notebooks/getting-started-with-mongocdc/meta.toml @@ -4,6 +4,7 @@ description="""\ Setup Zero ETL data replication from MongoDB to SingleStore \ """ icon="pipeline" +difficulty="intermediate" tags=["cdc", "mongo", "kai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/getting-started-with-notebooks/meta.toml b/notebooks/getting-started-with-notebooks/meta.toml index 673cb4c3..3c2730d5 100644 --- a/notebooks/getting-started-with-notebooks/meta.toml +++ b/notebooks/getting-started-with-notebooks/meta.toml @@ -5,6 +5,7 @@ description="""\ visualization and analysis. \ """ icon="notes" +difficulty="beginner" tags=["starter", "python", "sqrl"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/how-to-build-llm-apps-that-can-see-hear-speak/meta.toml b/notebooks/how-to-build-llm-apps-that-can-see-hear-speak/meta.toml index a33a04fe..8c0aef5e 100644 --- a/notebooks/how-to-build-llm-apps-that-can-see-hear-speak/meta.toml +++ b/notebooks/how-to-build-llm-apps-that-can-see-hear-speak/meta.toml @@ -4,6 +4,7 @@ description="""\ Using OpenAI to build an app that can take images, audio, and text data to generate output """ icon="chart-network" +difficulty="advanced" tags=["advanced", "openai", "genai", "vectordb"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/hybrid-full-text-vector-search/meta.toml b/notebooks/hybrid-full-text-vector-search/meta.toml index 409d290d..6861424a 100644 --- a/notebooks/hybrid-full-text-vector-search/meta.toml +++ b/notebooks/hybrid-full-text-vector-search/meta.toml @@ -1,6 +1,7 @@ [meta] title="Hybrid Full-text and Vector Search" description="Example of similarity search over vector data and a hybrid search that combines full-text search with an indexed vector search." +difficulty="beginner" tags=["starter", "openai", "genai", "vectordb"] destinations=["spaces"] icon="vector-circle" diff --git a/notebooks/hybrid-search/meta.toml b/notebooks/hybrid-search/meta.toml index 1b335b33..d6b5ca7d 100644 --- a/notebooks/hybrid-search/meta.toml +++ b/notebooks/hybrid-search/meta.toml @@ -4,6 +4,7 @@ description="""\ Hybrid search combines keyword search with semantic search, aiming to provide more accurate results. """ +difficulty="beginner" tags=["starter", "openai", "genai", "vectordb"] icon="vector-circle" destinations=["spaces"] diff --git a/notebooks/image-matching-with-sql/meta.toml b/notebooks/image-matching-with-sql/meta.toml index 4a35de95..76cd9753 100644 --- a/notebooks/image-matching-with-sql/meta.toml +++ b/notebooks/image-matching-with-sql/meta.toml @@ -4,6 +4,7 @@ description="""\ Facial recognition using dot_product function on vectors stored in SingleStoreDB. \ """ icon="face-viewfinder" +difficulty="beginner" tags=["starter", "vectordb", "genai", "facenet"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/ingest-pdfs-with-unstructured/meta.toml b/notebooks/ingest-pdfs-with-unstructured/meta.toml index 220293b2..3db8caf5 100644 --- a/notebooks/ingest-pdfs-with-unstructured/meta.toml +++ b/notebooks/ingest-pdfs-with-unstructured/meta.toml @@ -2,6 +2,7 @@ title="Ask questions of your PDFs with Unstructured" description="Ask questions of your unstructured PDFs. In this notebook, Unstructured.io ingests pdfs accurately, then Open AI is used to create embeddings, the vector data is stored in SingleStore and finally ask questions of your PDF data" icon="file-export" +difficulty="intermediate" tags=["ingest", "pdf","vector","unstructured"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/inserting-embeddings-from-multiple-models-into-singlestore-using-external-functions/meta.toml b/notebooks/inserting-embeddings-from-multiple-models-into-singlestore-using-external-functions/meta.toml index a8faf1b5..d76daa3a 100644 --- a/notebooks/inserting-embeddings-from-multiple-models-into-singlestore-using-external-functions/meta.toml +++ b/notebooks/inserting-embeddings-from-multiple-models-into-singlestore-using-external-functions/meta.toml @@ -4,6 +4,7 @@ description="""\ Discover the power of SingleStoreDB's external functions to dynamically fetch and store vector embeddings from leading AI models into your database. This demo highlights leveraging SingleStore's robust vector data type and external functions for efficient management and analysis of machine learning embeddings.\ """ icon="vector-circle" +difficulty="intermediate" tags=["vectordb", "genai", "openai", "rag", "huggingface"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/insure-gpt-demo/meta.toml b/notebooks/insure-gpt-demo/meta.toml index 71fa3dc9..8faa50fa 100644 --- a/notebooks/insure-gpt-demo/meta.toml +++ b/notebooks/insure-gpt-demo/meta.toml @@ -1,6 +1,7 @@ [meta] title="InsureGPT: OpenAI and SingleStore for Insurance" description="Creating an insurance analysis with OpenAI and vectorizing the results into SingleStore." +difficulty="intermediate" tags=["openai", "langchain"] icon="database" minimum_tier="standard" diff --git a/notebooks/integrating-with-pandas/meta.toml b/notebooks/integrating-with-pandas/meta.toml index 29e59674..81cb2aac 100644 --- a/notebooks/integrating-with-pandas/meta.toml +++ b/notebooks/integrating-with-pandas/meta.toml @@ -5,6 +5,7 @@ description="""\ the SingleStoreDB Python library, SQLAlchemy, and Ibis. """ icon="database" +difficulty="beginner" tags=["starter", "dataframe", "python"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/kebab-case/meta.toml b/notebooks/kebab-case/meta.toml index 29d0b9ea..00e23ba8 100644 --- a/notebooks/kebab-case/meta.toml +++ b/notebooks/kebab-case/meta.toml @@ -4,6 +4,7 @@ description="""\ Runs through the queries to bring data residing in object storage onto disk for a specified database. \ """ icon="database" +difficulty="advanced" tags=["advanced", "automation", "tuning"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/launch-open-source-apps-with-langchain/meta.toml b/notebooks/launch-open-source-apps-with-langchain/meta.toml index 4a904573..14d6fa13 100644 --- a/notebooks/launch-open-source-apps-with-langchain/meta.toml +++ b/notebooks/launch-open-source-apps-with-langchain/meta.toml @@ -4,6 +4,7 @@ description="""\ LangChain connector to use SingleStoreDB as your vector database for your apps. \ """ icon="vector-circle" +difficulty="intermediate" tags=["vectordb", "genai", "langchain"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/load-json-files-s3/meta.toml b/notebooks/load-json-files-s3/meta.toml index ee81169b..afcacc2b 100644 --- a/notebooks/load-json-files-s3/meta.toml +++ b/notebooks/load-json-files-s3/meta.toml @@ -4,6 +4,7 @@ description="""\ This notebook will help you load JSON files from a public open AWS S3 bucket. """ icon="chart-network" +difficulty="advanced" tags=["advanced", "pipeline", "json", "s3"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/load-s3-files-into-shared-tier/meta.toml b/notebooks/load-s3-files-into-shared-tier/meta.toml index 0954ba53..daa3aed5 100644 --- a/notebooks/load-s3-files-into-shared-tier/meta.toml +++ b/notebooks/load-s3-files-into-shared-tier/meta.toml @@ -4,6 +4,7 @@ description="""\ This notebook guides you through data ingestion of CSV files from an AWS S3 location into your shared tier workspace. \ """ icon="chart-network" +difficulty="intermediate" tags=["pipeline", "s3"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/managing-stage-files-with-fusion-sql/meta.toml b/notebooks/managing-stage-files-with-fusion-sql/meta.toml index ae0b46d5..4556d4c3 100644 --- a/notebooks/managing-stage-files-with-fusion-sql/meta.toml +++ b/notebooks/managing-stage-files-with-fusion-sql/meta.toml @@ -5,6 +5,7 @@ description="""\ Cloud using Fusion SQL. """ icon="files" +difficulty="beginner" tags=["starter", "fusion", "python"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/movie-recommendation/meta.toml b/notebooks/movie-recommendation/meta.toml index cd00c4fc..1cb244c9 100644 --- a/notebooks/movie-recommendation/meta.toml +++ b/notebooks/movie-recommendation/meta.toml @@ -4,6 +4,7 @@ description="""\ Movie recommendation engine using vectors stored in SingleStore to find your next watch. \ """ icon="camera-movie" +difficulty="advanced" tags=["advanced", "vectordb", "genai", "openai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/network-intrusion-detection-part-1/meta.toml b/notebooks/network-intrusion-detection-part-1/meta.toml index f5263d6e..349fffeb 100644 --- a/notebooks/network-intrusion-detection-part-1/meta.toml +++ b/notebooks/network-intrusion-detection-part-1/meta.toml @@ -6,6 +6,7 @@ description=""" for identifying infrequent occurrences, a common requirement in fields such as cybersecurity and fraud detection where only a small percentage of events are potentially malicious.""" icon="browser" +difficulty="advanced" tags=["advanced", "cybersecurity", "vectordb", "iot", "ai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/network-intrusion-detection-part-2/meta.toml b/notebooks/network-intrusion-detection-part-2/meta.toml index 5b4bac95..00765a6f 100644 --- a/notebooks/network-intrusion-detection-part-2/meta.toml +++ b/notebooks/network-intrusion-detection-part-2/meta.toml @@ -4,6 +4,7 @@ description="""\ Part 2 or Real-time threat Detection - Validate the accuracy of the threat detection model with a test dataset""" icon="browser" +difficulty="advanced" tags=["advanced", "cybersecurity", "vectordb", "iot", "ai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/network-intrusion-detection-part-3/meta.toml b/notebooks/network-intrusion-detection-part-3/meta.toml index 53965d48..62e044e8 100644 --- a/notebooks/network-intrusion-detection-part-3/meta.toml +++ b/notebooks/network-intrusion-detection-part-3/meta.toml @@ -5,6 +5,7 @@ description=""" and visualize Threat Detection on incoming logs. This notebook requires adjustments to work out of the box.""" icon="browser" +difficulty="advanced" tags=["advanced", "cybersecurity", "vectordb", "iot", "ai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/notebook-basics/meta.toml b/notebooks/notebook-basics/meta.toml index 2da63d26..60c58097 100644 --- a/notebooks/notebook-basics/meta.toml +++ b/notebooks/notebook-basics/meta.toml @@ -4,6 +4,7 @@ description="""\ Foundational guide to notebooks with essential tips and tricks. \ """ icon="notes" +difficulty="beginner" tags=["starter", "python", "dataframes"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/optimize-performance-with-tpch-100/meta.toml b/notebooks/optimize-performance-with-tpch-100/meta.toml index 49ff23f3..f2bf57cb 100644 --- a/notebooks/optimize-performance-with-tpch-100/meta.toml +++ b/notebooks/optimize-performance-with-tpch-100/meta.toml @@ -4,6 +4,7 @@ description="""\ This notebook will help you understand how you can take advantage of SingleStoreDB distributed capability using TPCH-100. """ icon="database" +difficulty="advanced" tags=["advanced", "performance", "turning", "shardkey", "ingest", "tpch"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/performance-troubleshooting/meta.toml b/notebooks/performance-troubleshooting/meta.toml index 862e2d5f..b7f9ebbd 100644 --- a/notebooks/performance-troubleshooting/meta.toml +++ b/notebooks/performance-troubleshooting/meta.toml @@ -4,6 +4,7 @@ description="""\ This notebook will help you perform database performance troubleshoot """ icon="database" +difficulty="beginner" tags=["troubleshoot", "performance", "tuning", "starter"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/pipelines-query-tuning/meta.toml b/notebooks/pipelines-query-tuning/meta.toml index 21674409..39bda766 100644 --- a/notebooks/pipelines-query-tuning/meta.toml +++ b/notebooks/pipelines-query-tuning/meta.toml @@ -3,6 +3,7 @@ title="Kafka Pipelines and Query Tuning" description="""\ Create a SingleStore pipeline to track the International Space Station and adjust queries & schema to optimize performance. """ +difficulty="intermediate" tags=["beginner", "kafka", "pipeline", "querytuning"] icon="database" destinations=["spaces"] diff --git a/notebooks/rag-with-bedrock/meta.toml b/notebooks/rag-with-bedrock/meta.toml index 651d5351..3a83a0d5 100644 --- a/notebooks/rag-with-bedrock/meta.toml +++ b/notebooks/rag-with-bedrock/meta.toml @@ -4,6 +4,7 @@ description="""\ Infuse domain-specific knowledge from SingleStoreDB into generative AI models on Amazon Bedrock to showcase Question & Answering using RAG (retrieval-agumented generation) to improve the quality of responses.\ """ icon="crystal-ball" +difficulty="beginner" tags=["vectordb", "genai", "bedrock", "rag", "starter"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/real-time-anomaly-detection/meta.toml b/notebooks/real-time-anomaly-detection/meta.toml index fa82fe31..ae88830f 100644 --- a/notebooks/real-time-anomaly-detection/meta.toml +++ b/notebooks/real-time-anomaly-detection/meta.toml @@ -4,6 +4,7 @@ description="""\ Real-time anomaly detection in IoT sensor data, harnessing the robust capabilities of SingleStoreDB and advanced analytical techniques. \ """ icon="chart-scatter" +difficulty="intermediate" tags=["vectordb", "realtime"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/real-time-recommendation-engine/meta.toml b/notebooks/real-time-recommendation-engine/meta.toml index 5b6ba1bc..8ee8f1ed 100644 --- a/notebooks/real-time-recommendation-engine/meta.toml +++ b/notebooks/real-time-recommendation-engine/meta.toml @@ -4,6 +4,7 @@ description="""\ We demonstrate how to build and host a real-time recommendation engine for free with SingleStore. The notebook also leverages our new SingleStore Job Service to ensure that the latest data is ingested and used in providing recommendations.\ """ icon="crystal-ball" +difficulty="beginner" tags=["starter", "openai", "vercel", "realtime", "vectordb"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/representing-unstructured-data-as-vectors/meta.toml b/notebooks/representing-unstructured-data-as-vectors/meta.toml index 58ddddd5..00eb1540 100644 --- a/notebooks/representing-unstructured-data-as-vectors/meta.toml +++ b/notebooks/representing-unstructured-data-as-vectors/meta.toml @@ -1,6 +1,7 @@ [meta] title="Representing Unstructured Data as Vectors" description="Transforming unstructured data into vectors and representing them in a 3-dimensional space to find the distance between them using various techniques" +difficulty="intermediate" tags=["vectors", "unstructureddata"] icon="vector-circle" minimum_tier="standard" diff --git a/notebooks/restore-database-from-s3/meta.toml b/notebooks/restore-database-from-s3/meta.toml index f7be027c..41b724ac 100644 --- a/notebooks/restore-database-from-s3/meta.toml +++ b/notebooks/restore-database-from-s3/meta.toml @@ -4,6 +4,7 @@ description = """\ This notebook will help you perform database restore from AWS S3. """ icon = "database" +difficulty="beginner" tags = ["starter", "admin", "restore"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/resume-evaluator-ANN-index-search/meta.toml b/notebooks/resume-evaluator-ANN-index-search/meta.toml index 44c951f1..10239e5a 100644 --- a/notebooks/resume-evaluator-ANN-index-search/meta.toml +++ b/notebooks/resume-evaluator-ANN-index-search/meta.toml @@ -4,6 +4,7 @@ description="""\ Resume Evaluator using vectors stored in SingleStore to find sutiable resume for your job description, with Indexed ANN search.\ """ icon="arrows-spin" +difficulty="intermediate" tags=["vectordb", "genai", "openai", "rag"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/resume-evaluator/meta.toml b/notebooks/resume-evaluator/meta.toml index fe3dd04c..e971bc33 100644 --- a/notebooks/resume-evaluator/meta.toml +++ b/notebooks/resume-evaluator/meta.toml @@ -4,6 +4,7 @@ description="""\ Resume Evaluator using vectors stored in SingleStore to find sutiable resume for your job description. \ """ icon="arrows-spin" -tags=["stater", "vectordb", "genai", "openai"] +difficulty="beginner" +tags=["starter", "vectordb", "genai", "openai"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/searching-all-of-wikipedia/meta.toml b/notebooks/searching-all-of-wikipedia/meta.toml index 3bf4cf54..d9c33121 100644 --- a/notebooks/searching-all-of-wikipedia/meta.toml +++ b/notebooks/searching-all-of-wikipedia/meta.toml @@ -4,6 +4,7 @@ description = """\ Simulate searching through 10 million paragraphs in Wikipedia for information about video games, and generate answers using RAG! \ """ icon = "book-open-cover" +difficulty="advanced" tags = ["vector", "advanced", "vectordb", "hybridsearch", "rag", "ann"] destinations = ["spaces"] minimum_tier="standard" diff --git a/notebooks/semantic-search-with-hugging-face/meta.toml b/notebooks/semantic-search-with-hugging-face/meta.toml index b7ce748b..7ab3e6bc 100644 --- a/notebooks/semantic-search-with-hugging-face/meta.toml +++ b/notebooks/semantic-search-with-hugging-face/meta.toml @@ -5,6 +5,7 @@ description="""\ using dot product in SingleStoreDB. \ """ icon="chart-network" +difficulty="beginner" tags=["starter", "vectordb", "huggingface"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/semantic-search-with-openai-embedding-creation/meta.toml b/notebooks/semantic-search-with-openai-embedding-creation/meta.toml index 163692c0..088cfcaf 100644 --- a/notebooks/semantic-search-with-openai-embedding-creation/meta.toml +++ b/notebooks/semantic-search-with-openai-embedding-creation/meta.toml @@ -4,6 +4,7 @@ description="""\ Generate embeddings and run semantic search in your database in SQL. \ """ icon="chart-network" +difficulty="beginner" tags=["starter", "openai", "vectordb", "genai"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/semantic-search-with-openai-qa/meta.toml b/notebooks/semantic-search-with-openai-qa/meta.toml index 2370a117..9670132a 100644 --- a/notebooks/semantic-search-with-openai-qa/meta.toml +++ b/notebooks/semantic-search-with-openai-qa/meta.toml @@ -4,6 +4,7 @@ description="""\ Provide context to chatGPT using data stored in SingleStoreDB. \ """ icon="crystal-ball" +difficulty="beginner" tags=["starter", "openai", "vectordb", "genai"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/semantic-visualization-and-vector-datatype/meta.toml b/notebooks/semantic-visualization-and-vector-datatype/meta.toml index d411bf1b..ebf8c649 100644 --- a/notebooks/semantic-visualization-and-vector-datatype/meta.toml +++ b/notebooks/semantic-visualization-and-vector-datatype/meta.toml @@ -4,6 +4,7 @@ description="""\ SingleStoreDB leverages vector database processing to enable storage and search of vector data, allowing for semantic similarity-based searches to find content based on meaning rather than exact matches, such as locating related words like "happy" and "joyful." \ """ icon="chart-network" -tags=["stater", "vectordb", "genai", "huggingface", "semanticsearch"] +difficulty="beginner" +tags=["starter", "vectordb", "genai", "huggingface", "semanticsearch"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/notebooks/similarity-search-on-vector-data/meta.toml b/notebooks/similarity-search-on-vector-data/meta.toml index 5dc8e2a8..2cec715c 100644 --- a/notebooks/similarity-search-on-vector-data/meta.toml +++ b/notebooks/similarity-search-on-vector-data/meta.toml @@ -1,6 +1,7 @@ [meta] title="Similarity Search on Vector Data" description="Example of similarity searches over vector data." +difficulty="beginner" tags=["starter", "openai", "genai", "vectordb"] destinations=["spaces"] icon="vector-circle" diff --git a/notebooks/singlestore-april-challenge-haiku-ascii/meta.toml b/notebooks/singlestore-april-challenge-haiku-ascii/meta.toml index 6d8564d6..0d49918b 100644 --- a/notebooks/singlestore-april-challenge-haiku-ascii/meta.toml +++ b/notebooks/singlestore-april-challenge-haiku-ascii/meta.toml @@ -4,6 +4,7 @@ description="""\ SingleStore is hosting a challenge inviting participants to craft a unique Haiku or create captivating ASCII art using SingleStore Notebooks. The most creative masterpiece wins a set of Meta RayBan Smart sunglasses and a $500 AWS gift card!" \ """ icon="chart-network" +difficulty="intermediate" tags=["challenge", "haiku", "ascii"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/unified-data-analysis-sql-nosql-kai/meta.toml b/notebooks/unified-data-analysis-sql-nosql-kai/meta.toml index 81b51cbf..2734f657 100644 --- a/notebooks/unified-data-analysis-sql-nosql-kai/meta.toml +++ b/notebooks/unified-data-analysis-sql-nosql-kai/meta.toml @@ -4,6 +4,7 @@ description="""\ Perform both SQL and NoSQL queries on multi-modal relational and JSON data \ """ icon="database" +difficulty="intermediate" tags=["cdc", "mongo", "sql", "nosql", "kai"] destinations=["spaces"] minimum_tier="standard" diff --git a/notebooks/vector-database-basics/meta.toml b/notebooks/vector-database-basics/meta.toml index ba3c541e..25692cf0 100644 --- a/notebooks/vector-database-basics/meta.toml +++ b/notebooks/vector-database-basics/meta.toml @@ -1,6 +1,7 @@ [meta] title="A Deep Dive Into Vector Databases" description="Using SingleStoreDB as a vector database and vector database use cases." +difficulty="intermediate" tags=["vector", "embeddings"] icon="database" destinations=["spaces"] diff --git a/notebooks/vector-search-with-kai/meta.toml b/notebooks/vector-search-with-kai/meta.toml index 3279ea14..f5eba55e 100644 --- a/notebooks/vector-search-with-kai/meta.toml +++ b/notebooks/vector-search-with-kai/meta.toml @@ -3,6 +3,7 @@ title = "Vector Search with Kai" description = """ Run Vector Search using MongoDB clients and power GenAI usecases for your MongoDB applications """ icon = "radar" +difficulty="beginner" tags = ["mongo", "embeddings", "vector", "genai", "kai", "starter"] destinations = ["spaces"] minimum_tier="standard" diff --git a/notebooks/working-with-vector-data/meta.toml b/notebooks/working-with-vector-data/meta.toml index 7f85a72a..0e578dcc 100644 --- a/notebooks/working-with-vector-data/meta.toml +++ b/notebooks/working-with-vector-data/meta.toml @@ -5,6 +5,7 @@ description="""\ vector data from SingleStoreDB using Python. """ icon="browser" -tags=["stater", "vectodb", "genai"] +difficulty="beginner" +tags=["starter", "vectodb", "genai"] destinations=["spaces"] minimum_tier="free-shared" diff --git a/resources/nb-check.py b/resources/nb-check.py index 12e6cc60..dc971943 100755 --- a/resources/nb-check.py +++ b/resources/nb-check.py @@ -223,6 +223,13 @@ def new_markdown_cell(cell_id: str, content: list[str]) -> dict[str, Any]: except KeyError as exc: error(f'missing title in {toml_path}') + try: + difficulty = toml_info['meta']['difficulty'] + if difficulty not in ['beginner', 'intermediate', 'advanced']: + error(f'invalid difficulty in {toml_path}') + except KeyError as exc: + error(f'missing difficulty in {toml_path}') + # Add header cell header = [ x.format( diff --git a/resources/package-samples.py b/resources/package-samples.py index 1f04a2a8..43581cb0 100755 --- a/resources/package-samples.py +++ b/resources/package-samples.py @@ -7,6 +7,7 @@ import tomllib from zipfile import ZipFile + NOTEBOOK_FILE_NAME = 'notebook.ipynb' REQUIRED_FILES = [NOTEBOOK_FILE_NAME, 'meta.toml']