diff --git a/go.mod b/go.mod index 66de5ff..ceedbe7 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/gocolly/colly/v2 v2.1.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/h2non/filetype v1.1.3 - github.com/instill-ai/component v0.9.0-beta + github.com/instill-ai/component v0.9.0-beta.0.20240127101208-0878f99479f2 github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240105094938-3a71d8f7a812 github.com/instill-ai/x v0.3.0-alpha.0.20231219052200-6230a89e386c github.com/redis/go-redis/v9 v9.3.0 diff --git a/go.sum b/go.sum index b7bf24f..d29ea35 100644 --- a/go.sum +++ b/go.sum @@ -145,8 +145,8 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 h1:I/pwhnUln5wbMnTyRbzswA0/JxpK github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/instill-ai/component v0.9.0-beta h1:4H3FpbV+OqnbUKGMo7KM86L7fWpb9D7Ze68oUH0OtHY= -github.com/instill-ai/component v0.9.0-beta/go.mod h1:fWyVPJVJ4WyFSQMgWCc7KvcS7m9QpdS3VXCL2CZE8OY= +github.com/instill-ai/component v0.9.0-beta.0.20240127101208-0878f99479f2 h1:GBMRpMMH6kyhGRTl9EZ4qB8Ctq9eyzfbFgfzGO2J/ik= +github.com/instill-ai/component v0.9.0-beta.0.20240127101208-0878f99479f2/go.mod h1:Vx/D38SiH2gukPSI6FCr6wnhofPSapL0V3uxDHbUyi8= github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240105094938-3a71d8f7a812 h1:n1EQFT0NeXkmiCD/YtoLG+b/OPo2tNg7MVK0dHNFlvk= github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240105094938-3a71d8f7a812/go.mod h1:jhEL0SauySMoPLVvx105DWyThju9sYTbsXIySVCArmM= github.com/instill-ai/x v0.3.0-alpha.0.20231219052200-6230a89e386c h1:a2RVkpIV2QcrGnSHAou+t/L+vBsaIfFvk5inVg5Uh4s= diff --git a/pkg/airbyte/config/tasks.json b/pkg/airbyte/config/tasks.json index 34ab448..9c63c84 100644 --- a/pkg/airbyte/config/tasks.json +++ b/pkg/airbyte/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_WRITE_DESTINATION": { + "instillShortDescription": "Write data to destination.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/archetypeai/config/tasks.json b/pkg/archetypeai/config/tasks.json index 2d8f123..a9ffa4a 100644 --- a/pkg/archetypeai/config/tasks.json +++ b/pkg/archetypeai/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_DESCRIBE": { + "instillShortDescription": "Describe a video.", "input": { "instillUIOrder": 0, "properties": { @@ -95,6 +96,7 @@ } }, "TASK_SUMMARIZE": { + "instillShortDescription": "Summarize the image.", "input": { "instillUIOrder": 0, "properties": { @@ -158,6 +160,7 @@ } }, "TASK_UPLOAD_FILE": { + "instillShortDescription": "Upload file.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/bigquery/config/tasks.json b/pkg/bigquery/config/tasks.json index 234543c..aa8b026 100644 --- a/pkg/bigquery/config/tasks.json +++ b/pkg/bigquery/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_INSERT": { + "instillShortDescription": "Insert data to BigQuery.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/googlecloudstorage/config/tasks.json b/pkg/googlecloudstorage/config/tasks.json index d9d5b8e..6fc34e6 100644 --- a/pkg/googlecloudstorage/config/tasks.json +++ b/pkg/googlecloudstorage/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_UPLOAD": { + "instillShortDescription": "Upload data to Google Cloud Storage.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/googlesearch/config/tasks.json b/pkg/googlesearch/config/tasks.json index 4bb54da..15effff 100644 --- a/pkg/googlesearch/config/tasks.json +++ b/pkg/googlesearch/config/tasks.json @@ -52,6 +52,7 @@ } }, "TASK_SEARCH": { + "instillShortDescription": "Search data via Google Search Engine.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/huggingface/config/tasks.json b/pkg/huggingface/config/tasks.json index 82e5b0e..bbd2564 100644 --- a/pkg/huggingface/config/tasks.json +++ b/pkg/huggingface/config/tasks.json @@ -64,6 +64,8 @@ } }, "TASK_AUDIO_CLASSIFICATION": { + "instillShortDescription": "Audio classification is the task of assigning a label or class to a given audio.", + "description": "Audio classification is the task of assigning a label or class to a given audio. It can be used for recognizing which command a user is giving or the emotion of a statement, as well as identifying a speaker.", "input": { "instillUIOrder": 0, "properties": { @@ -130,6 +132,8 @@ } }, "TASK_CONVERSATIONAL": { + "instillShortDescription": "Conversational response modelling is the task of generating conversational text that is relevant, coherent and knowledgable given a prompt.", + "description": "Conversational response modelling is the task of generating conversational text that is relevant, coherent and knowledgable given a prompt. These models have applications in chatbots, and as a part of voice assistants", "input": { "instillUIOrder": 0, "properties": { @@ -375,6 +379,8 @@ } }, "TASK_FILL_MASK": { + "instillShortDescription": "Masked language modeling is the task of masking some of the words in a sentence and predicting which words should replace those masks.", + "description": "Masked language modeling is the task of masking some of the words in a sentence and predicting which words should replace those masks. These models are useful when we want to get a statistical understanding of the language in which the model is trained in.", "input": { "instillUIOrder": 0, "properties": { @@ -450,6 +456,8 @@ } }, "TASK_IMAGE_CLASSIFICATION": { + "instillShortDescription": "Image classification is the task of assigning a label or class to an entire image.", + "description": "Image classification is the task of assigning a label or class to an entire image. Images are expected to have only one class for each image. Image classification models take an image as input and return a prediction about which class the image belongs to.", "input": { "instillUIOrder": 0, "properties": { @@ -516,6 +524,8 @@ } }, "TASK_IMAGE_SEGMENTATION": { + "instillShortDescription": "Image Segmentation divides an image into segments where each pixel in the image is mapped to an object.", + "description": "Image Segmentation divides an image into segments where each pixel in the image is mapped to an object. This task has multiple variants such as instance segmentation, panoptic segmentation and semantic segmentation.", "input": { "instillUIOrder": 0, "properties": { @@ -590,6 +600,8 @@ } }, "TASK_IMAGE_TO_TEXT": { + "instillShortDescription": "Image to text models output a text from a given image.", + "description": "Image to text models output a text from a given image. Image captioning or optical character recognition can be considered as the most common applications of image to text.", "input": { "instillUIOrder": 0, "properties": { @@ -635,6 +647,8 @@ } }, "TASK_OBJECT_DETECTION": { + "instillShortDescription": "Object Detection models allow users to identify objects of certain defined classes.", + "description": "Object Detection models allow users to identify objects of certain defined classes. Object detection models receive an image as input and output the images with bounding boxes and labels on detected objects.", "input": { "instillUIOrder": 0, "properties": { @@ -740,6 +754,8 @@ } }, "TASK_QUESTION_ANSWERING": { + "instillShortDescription": "Question Answering models can retrieve the answer to a question from a given text, which is useful for searching for an answer in a document.", + "description": "Question Answering models can retrieve the answer to a question from a given text, which is useful for searching for an answer in a document. Some question answering models can generate answers without context!", "input": { "instillUIOrder": 0, "properties": { @@ -840,6 +856,8 @@ } }, "TASK_SENTENCE_SIMILARITY": { + "instillShortDescription": "Sentence Similarity is the task of determining how similar two texts are.", + "description": "Sentence Similarity is the task of determining how similar two texts are. Sentence similarity models convert input texts into vectors (embeddings) that capture semantic information and calculate how close (similar) they are between them. This task is particularly useful for information retrieval and clustering/grouping.", "input": { "instillUIOrder": 0, "properties": { @@ -923,6 +941,8 @@ } }, "TASK_SPEECH_RECOGNITION": { + "instillShortDescription": "Automatic Speech Recognition (ASR), also known as Speech to Text (STT), is the task of transcribing a given audio to text.", + "description": "Automatic Speech Recognition (ASR), also known as Speech to Text (STT), is the task of transcribing a given audio to text. It has many applications, such as voice user interfaces.", "input": { "instillUIOrder": 0, "properties": { @@ -969,6 +989,8 @@ } }, "TASK_SUMMARIZATION": { + "instillShortDescription": "Summarization is the task of producing a shorter version of a document while preserving its important information.", + "description": "Summarization is the task of producing a shorter version of a document while preserving its important information. Some models can extract text from the original input, while other models can generate entirely new text.", "input": { "instillUIOrder": 0, "properties": { @@ -1122,6 +1144,7 @@ } }, "TASK_TABLE_QUESTION_ANSWERING": { + "instillShortDescription": "Table Question Answering (Table QA) is the answering a question about an information on a given table.", "input": { "instillUIOrder": 0, "properties": { @@ -1230,6 +1253,8 @@ } }, "TASK_TEXT_CLASSIFICATION": { + "instillShortDescription": "Text Classification is the task of assigning a label or class to a given text.", + "description": "Text Classification is the task of assigning a label or class to a given text. Some use cases are sentiment analysis, natural language inference, and assessing grammatical correctness.", "input": { "instillUIOrder": 0, "properties": { @@ -1292,6 +1317,8 @@ } }, "TASK_TEXT_GENERATION": { + "instillShortDescription": "Generating text is the task of producing new text. These models can, for example, fill in incomplete text or paraphrase.", + "description": "Generating text is the task of producing new text. These models can, for example, fill in incomplete text or paraphrase.", "input": { "instillUIOrder": 0, "properties": { @@ -1467,6 +1494,8 @@ } }, "TASK_TEXT_TO_IMAGE": { + "instillShortDescription": "Generates images from input text.", + "description": "Generates images from input text. These models can be used to generate and modify images based on text prompts.", "input": { "instillUIOrder": 0, "properties": { @@ -1583,6 +1612,8 @@ } }, "TASK_TOKEN_CLASSIFICATION": { + "instillShortDescription": "Token classification is a natural language understanding task in which a label is assigned to some tokens in a text.", + "description": "Token classification is a natural language understanding task in which a label is assigned to some tokens in a text. Some popular token classification subtasks are Named Entity Recognition (NER) and Part-of-Speech (PoS) tagging. NER models could be trained to identify specific entities in a text, such as dates, individuals and places; and PoS tagging would identify, for example, which words in a text are verbs, nouns, and punctuation marks.", "input": { "instillUIOrder": 0, "properties": { @@ -1687,6 +1718,7 @@ } }, "TASK_TRANSLATION": { + "instillShortDescription": "Translation is the task of converting text from one language to another.", "input": { "instillUIOrder": 0, "properties": { @@ -1729,6 +1761,7 @@ } }, "TASK_ZERO_SHOT_CLASSIFICATION": { + "instillShortDescription": "Zero-shot text classification is a task in natural language processing where a model is trained on a set of labeled examples but is then able to classify new examples from previously unseen classes.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/instill/config/tasks.json b/pkg/instill/config/tasks.json index 1f77ce6..79d8398 100644 --- a/pkg/instill/config/tasks.json +++ b/pkg/instill/config/tasks.json @@ -80,6 +80,7 @@ } }, "TASK_CLASSIFICATION": { + "instillShortDescription": "Classify images into predefined categories.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -93,6 +94,7 @@ } }, "TASK_DETECTION": { + "instillShortDescription": "Detect and localize multiple objects in images.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -106,6 +108,7 @@ } }, "TASK_IMAGE_TO_IMAGE": { + "instillShortDescription": "Generate image from input text prompt and image.", "input": { "description": "Input", "instillEditOnNodeFields": [ @@ -248,6 +251,7 @@ } }, "TASK_INSTANCE_SEGMENTATION": { + "instillShortDescription": "Detect, localize and delineate multiple objects in images.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -261,6 +265,7 @@ } }, "TASK_KEYPOINT": { + "instillShortDescription": "Detect and localize multiple keypoints of objects in images.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -274,6 +279,7 @@ } }, "TASK_OCR": { + "instillShortDescription": "Detect and recognize text in images.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -287,6 +293,7 @@ } }, "TASK_SEMANTIC_SEGMENTATION": { + "instillShortDescription": "Classify image pixels into predefined categories.", "input": { "$ref": "#/$defs/common", "type": "object" @@ -300,6 +307,7 @@ } }, "TASK_TEXT_GENERATION": { + "instillShortDescription": "Generate texts from input text prompts.", "input": { "description": "Input", "instillEditOnNodeFields": [ @@ -475,9 +483,11 @@ } }, "TASK_TEXT_GENERATION_CHAT": { + "instillShortDescription": "Generate texts from input text prompts and chat history.", "$ref": "#/TASK_TEXT_GENERATION" }, "TASK_TEXT_TO_IMAGE": { + "instillShortDescription": "Generate images from input text prompts.", "input": { "description": "Input", "instillEditOnNodeFields": [ @@ -605,6 +615,7 @@ } }, "TASK_VISUAL_QUESTION_ANSWERING": { + "instillShortDescription": "Answer questions based on a prompt and an image.", "input": { "description": "Input", "instillEditOnNodeFields": [ diff --git a/pkg/numbers/config/tasks.json b/pkg/numbers/config/tasks.json index 39c6c83..b71f9af 100644 --- a/pkg/numbers/config/tasks.json +++ b/pkg/numbers/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_COMMIT": { + "instillShortDescription": "Commit a file into NumbersProtocol Chain.", "input": { "description": "Input", "instillUIOrder": 0, diff --git a/pkg/openai/config/tasks.json b/pkg/openai/config/tasks.json index ed5ead7..61fa38e 100644 --- a/pkg/openai/config/tasks.json +++ b/pkg/openai/config/tasks.json @@ -25,6 +25,7 @@ } }, "TASK_SPEECH_RECOGNITION": { + "instillShortDescription": "Turn audio into text.", "input": { "instillUIOrder": 0, "properties": { @@ -122,6 +123,7 @@ } }, "TASK_TEXT_EMBEDDINGS": { + "instillShortDescription": "Turn text into numbers, unlocking use cases like search.", "input": { "instillUIOrder": 0, "properties": { @@ -179,6 +181,8 @@ } }, "TASK_TEXT_GENERATION": { + "instillShortDescription": "Provide text outputs in response to their inputs.", + "description": "OpenAI's text generation models (often called generative pre-trained transformers or large language models) have been trained to understand natural language, code, and images. The models provide text outputs in response to their inputs. The inputs to these models are also referred to as \"prompts\". Designing a prompt is essentially how you “program” a large language model model, usually by providing instructions or some examples of how to successfully complete a task.", "input": { "instillUIOrder": 0, "properties": { @@ -397,6 +401,7 @@ } }, "TASK_TEXT_TO_IMAGE": { + "instillShortDescription": "Generate or manipulate images with DALL·E.", "input": { "instillUIOrder": 0, "properties": { @@ -527,6 +532,7 @@ } }, "TASK_TEXT_TO_SPEECH": { + "instillShortDescription": "Turn text into lifelike spoken audio", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/pinecone/config/tasks.json b/pkg/pinecone/config/tasks.json index f1c7571..ced0cb4 100644 --- a/pkg/pinecone/config/tasks.json +++ b/pkg/pinecone/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_QUERY": { + "instillShortDescription": "Retrieve the ids of the most similar items in a namespace, along with their similarity scores.", "input": { "instillUIOrder": 0, "properties": { @@ -196,6 +197,7 @@ } }, "TASK_UPSERT": { + "instillShortDescription": "Writes vectors into a namespace. If a new value is upserted for an existing vector id, it will overwrite the previous value.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/redis/config/tasks.json b/pkg/redis/config/tasks.json index e493fdb..65aa490 100644 --- a/pkg/redis/config/tasks.json +++ b/pkg/redis/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_CHAT_HISTORY_RETRIEVE": { + "instillShortDescription": "Retrieve chat history from Redis.", "input": { "instillUIOrder": 0, "properties": { @@ -68,6 +69,7 @@ } }, "TASK_CHAT_MESSAGE_WRITE": { + "instillShortDescription": "Write chat message into Redis.", "input": { "instillUIOrder": 0, "properties": { @@ -150,6 +152,7 @@ } }, "TASK_CHAT_MESSAGE_WRITE_MULTI_MODAL": { + "instillShortDescription": "Write multi-modal chat message into Redis.", "input": { "instillUIOrder": 0, "properties": { diff --git a/pkg/restapi/config/tasks.json b/pkg/restapi/config/tasks.json index 54c2509..65f2e36 100644 --- a/pkg/restapi/config/tasks.json +++ b/pkg/restapi/config/tasks.json @@ -141,6 +141,7 @@ } }, "TASK_DELETE": { + "instillShortDescription": "Send a HTTP DELETE request.", "input": { "$ref": "#/$defs/inputWithBody" }, @@ -149,6 +150,7 @@ } }, "TASK_GET": { + "instillShortDescription": "Send a HTTP GET request.", "input": { "$ref": "#/$defs/inputWithoutBody" }, @@ -157,6 +159,7 @@ } }, "TASK_HEAD": { + "instillShortDescription": "Send a HTTP HEAD request.", "input": { "$ref": "#/$defs/inputWithoutBody" }, @@ -165,6 +168,7 @@ } }, "TASK_OPTIONS": { + "instillShortDescription": "Send a HTTP OPTIONS request.", "input": { "$ref": "#/$defs/inputWithBody" }, @@ -173,6 +177,7 @@ } }, "TASK_PATCH": { + "instillShortDescription": "Send a HTTP PATCH request.", "input": { "$ref": "#/$defs/inputWithBody" }, @@ -181,6 +186,7 @@ } }, "TASK_POST": { + "instillShortDescription": "Send a HTTP POST request.", "input": { "$ref": "#/$defs/inputWithBody" }, @@ -189,6 +195,7 @@ } }, "TASK_PUT": { + "instillShortDescription": "Send a HTTP PUT request.", "input": { "$ref": "#/$defs/inputWithBody" }, diff --git a/pkg/stabilityai/config/tasks.json b/pkg/stabilityai/config/tasks.json index 8b12a15..2a6a7ba 100644 --- a/pkg/stabilityai/config/tasks.json +++ b/pkg/stabilityai/config/tasks.json @@ -1,5 +1,6 @@ { "TASK_IMAGE_TO_IMAGE": { + "instillShortDescription": "Modify an image based on a text prompt.", "input": { "additionalProperties": false, "description": "Input", @@ -235,6 +236,7 @@ } }, "TASK_TEXT_TO_IMAGE": { + "instillShortDescription": "Generate a new image from a text prompt.", "input": { "additionalProperties": false, "description": "Input", diff --git a/pkg/website/config/tasks.json b/pkg/website/config/tasks.json index 62c67b3..13c8d85 100644 --- a/pkg/website/config/tasks.json +++ b/pkg/website/config/tasks.json @@ -42,6 +42,7 @@ } }, "TASK_SCRAPE_WEBSITE": { + "instillShortDescription": "Scrape the website contents.", "input": { "instillUIOrder": 0, "properties": {