Data Exploration Related APIs
Raw data volume
Create original data volumes
POST /CreateOriginVolume
Input parameters:
| Parameters | Required | Meaning |
|---|---|---|
| name | Yes | Original data volume name |
Example:
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/CreateOriginVolume"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "",
"uid": "2de56399-0fda-4982-a26e-580fd666914d-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin"
}
body = {
"name": "b_vol3"
}
response = requests.post(url, json=body, headers=headers)
# Check the response status
print(response.json()) # Print the returned JSON data
return:
{'code': 'OK', 'msg': 'OK'}
View original data volume list
POST /DescribeOriginVolumes
Output parameters:
| Parameters | Meaning |
|---|---|
| id | volume id |
| name | volume name |
| size | volume size |
| file_num | Number of files |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/DescribeOriginVolumes"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "ac8fd715-b39c-4edb-837b-e1ea1dae5f80-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin"
}
response = requests.post(url, headers=headers)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "OK",
"msg": "OK",
"data": {
"total": 5,
"volumes": [
{
"id": "1889223879880048640",
"name": "b-vol1",
"size": 6787457,
"file_num": 1,
"owner": "admin",
"created_at": 1739261047,
"updated_at": 1739261047
},
{
"id": "1889578498228068352",
"name": "b-vol2",
"size": 40724742,
"file_num": 6,
"owner": "admin",
"created_at": 1739345595,
"updated_at": 1739345595
},
{
"id": "1889868565396619264",
"name": "b_vol3",
"size": 0,
"file_num": 0,
"owner": "admin",
"created_at": 1739414752,
"updated_at": 1739414752
},
{
"id": "1889881472272465920",
"name": "b_vol6",
"size": 0,
"file_num": 0,
"owner": "admin",
"created_at": 1739417829,
"updated_at": 1739417829
}
]
}
}
View a raw data volume (file list)
POST /DescribeOriginVolume
Output parameters:
| Parameters | Meaning |
|---|---|
| id | file id |
| name | file name |
| type | File type |
| status | File parsing status |
| path | file path |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/DescribeOriginVolume"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "badb5c26-e335-453d-85ad-7e996bcebff4-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin",
}
body={
"id": "1889223879880048640"
}
response = requests.post(url, headers=headers,json=body)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "OK",
"msg": "OK",
"data": {
"total": 1,
"items": [
{
"id": "1889223944229060608",
"name": "Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"type": 2,
"status": 5,
"size": 6787457,
"update_time": 1739261640,
"other_metadata": "",
"reason": "",
"user": "admin",
"start_time": 1739261063,
"end_time": 1739261640,
"path": "/b-vol1/Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf"
}
]
}
}
Download the file in a raw data volume
POST /GetOriginVolumeFileLink
Input parameters:
| Parameters | Required | Meaning |
|---|---|---|
| volume_id | Yes | Raw data volume id |
| file_id | Yes | File id |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/GetOriginVolumeFileLink"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "ac8fd715-b39c-4edb-837b-e1ea1dae5f80-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin"
}
body = {
"volume_id": 1889223879880048640,
"file_id": "1889578498228068352"
}response = requests.post(url, headers=headers,json=body)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "OK",
"msg": "OK",
"data": {
"link": "https://moi-dev-test.oss-cn-hangzhou.aliyuncs.com/connector_path%2F0194dfaa-3eda-7ea5-b47c-b4f4f594xxxx%2Fb-vol2?Expires=173944xxxx&OSSAccessKeyId=LTAI5t6RX4TpSC8Z2v4nGG4Y&Signature=bCy60Or%2B%2Fr8Na1OcfMn%2Fy2jso6Y%3D"
}
}
Delete a file in a raw data volume
POST /DeleteOriginVolumeFiles
Input parameters:
| Parameters | Required | Meaning |
|---|---|---|
| volume_id | Yes | Raw data volume id |
| file_ids | Yes | File id |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/DeleteOriginVolumeFiles"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "badb5c26-e335-453d-85ad-7e996bcebff4-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin",
}
body={
"volume_id": "1889578498228068352",
"file_ids": ["1889698920437940224"]
}
response = requests.post(url, headers=headers,json=body)
if response.status_code == 200:
print(response.json())
else:
print(f"Request failed, status code: {response.status_code}, error message: {response.text}")
return:
{'code': 'OK', 'msg': 'OK', 'data': {}}
Processing data volumes
Create processing data volumes
POST /byoa/api/v1/explore/volumes
Input parameters:
| Parameters | Required | Meaning |
|---|---|---|
| name | Yes | Processing data volume name |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "ac8fd715-b39c-4edb-837b-e1ea1dae5f80-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin"
}
body = {
"name": "a_vol4"
}
response = requests.post(url, json=body, headers=headers)
print(response.json())
return:
{'code': 'ok', 'msg': 'ok', 'data': {'id': 'fb93a6c1-6d1e-4d68-bb7c-4d84facda670', 'name': 'a_vol4', 'created_at': '2025-02-13T11:44:36', 'updated_at': '2025-02-13T11:44:36'}}
View the list of processed data volumes
GET /byoa/api/v1/explore/volumes
Output parameters:
| Parameters | Meaning |
|---|---|
| name | volume name |
| id | volume id |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"Access-Token": "xxxx",
"uid": "badb5c26-e335-453d-85ad-7e996bcebff4-0194dfaa-3eda-7ea5-b47c-b4f4f5940e97:admin:accountadmin",
}
response = requests.get(url, headers=headers)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "ok",
"msg": "ok",
"data": {
"total": 4,
"volumes": [
{
"name": "a-vol1",
"created_at": "2025-02-11T16:06:55",
"updated_at": "2025-02-11T16:06:55",
"user_id": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"id": "eb42f0a1-ab18-4010-b95c-cd1716dd5e95"
},
{
"name": "a_vol4",
"created_at": "2025-02-13T11:44:36",
"updated_at": "2025-02-13T11:44:36",
"user_id": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"id": "fb93a6c1-6d1e-4d68-bb7c-4d84facda670"
}
]
}
}
View a processing data volume (file list)
POST /byoa/api/v1/explore/volumes/{volume_id}/files
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes/dbcc0d71-31f9-4799-b404-096f9e8e57f9/files"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f594xxxx",
"Access-Token": "xxxx",
"uid": "2868847d-660d-4ace-a7ca-b75c3be575ce-0194dfaa-3eda-7ea5-b47c-b4f4f594xxxx:admin:accountadmin",
}
response = requests.post(url, headers=headers)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "ok",
"msg": "ok",
"data": {
"total": 3,
"items": [
{
"id": "0194fb44-c44b-7713-b064-bff178ba30c3",
"created_at": "2025-02-12T17:46:16.000000+0000",
"updated_at": "2025-02-12T17:51:21.000000+0000",
"user_id": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"source_volume_id": "1889223879880048640",
"source_file_id": "1889223944229060608","target_volume_id": "dbcc0d71-31f9-4799-b404-096f9e8e57f9",
"file_name": "Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_type": 2,
"file_size": 6787457,
"file_path": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97/b-vol1/1889223922712281088/Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_status": 2,
"workflow_id": "5775ecd6-5918-42a1-a92f-7245fe96b2bf",
"job_id": "0194fb44-c44b-7708-aab6-c67e094d0352",
"error_message": "",
"duration": 300,
"start_time": "2025-02-12T17:46:20.000000+0000",
"end_time": "2025-02-12T17:51:21.000000+0000"
},
{
"id": "0194fb23-cd65-7688-9f0e-b24de1947f9c",
"created_at": "2025-02-12T17:10:15.000000+0000",
"updated_at": "2025-02-12T17:15:21.000000+0000",
"user_id": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"source_volume_id": "1889223879880048640",
"source_file_id": "1889223944229060608",
"target_volume_id": "dbcc0d71-31f9-4799-b404-096f9e8e57f9",
"file_name": "Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_type": 2,
"file_size": 6787457,
"file_path": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97/b-vol1/1889223922712281088/Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_status": 2,
"workflow_id": "729e7a03-652d-46e0-bdad-b05ec5b80cea",
"job_id": "0194fb23-cd65-767c-b58f-db7c4456b896",
"error_message": "",
"duration": 300,
"start_time": "2025-02-12T17:10:20.000000+0000",
"end_time": "2025-02-12T17:15:21.000000+0000"
},
{
"id": "0194fb28-61ae-7ab3-8446-a50669b8df87",
"created_at": "2025-02-12T17:15:15.000000+0000",
"updated_at": "2025-02-12T17:20:21.000000+0000",
"user_id": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97",
"source_volume_id": "1889223879880048640",
"source_file_id": "1889223944229060608",
"target_volume_id": "dbcc0d71-31f9-4799-b404-096f9e8e57f9",
"file_name": "Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_type": 2,
"file_size": 6787457,
"file_path": "0194dfaa-3eda-7ea5-b47c-b4f4f5940e97/b-vol1/1889223922712281088/Dream of the Red Chamber (Public Book) Simplified Chinese horizontal row.pdf",
"file_status": 2,
"workflow_id": "c6dcbad5-f85d-42b7-942c-2e8d3445a4e6",
"job_id": "0194fb28-61ae-7aac-8500-a4c924a68211",
"error_message": "",
"duration": 300,
"start_time": "2025-02-12T17:15:20.000000+0000",
"end_time": "2025-02-12T17:20:21.000000+0000"
}
]
}
}
Download a file in a processing data volume
GET /byoa/api/v1/explore/volumes/{volume_id}/files/{file_id}/raws
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes/eb42f0a1-ab18-4010-b95c-cd1716dd5e95/files/0194f41d-59d3-78ae-953d-7db134c83cab/raws"
headers = {
"user-id":"0194dfaa-3eda-7ea5-b47c-b4f4f594xxxx",
"Access-Token": "xxxx",
"uid": "a8b83860-da1a-46cb-96a7-dd668fadc163-0194dfaa-3eda-7ea5-b47c-b4f4f594xxxx:admin:accountadmin"
}
response = requests.get(url, headers=headers)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"total": 0,
"items": []
}
View the parsing content of a file in a processing data volume
POST /byoa/api/v1/explore/volumes/{volume_id}/files/{filed_id}/blocks
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes/7399732a-3e43-4469-8abb-7a53b99efc22/files/0194fd65-e671-7e67-ba34-66967ba0fbf0/blocks"
headers = {
"user-id":"0194e0c2-7e81-7040-ba44-f1d4f51axxxx",
"Access-Token": "xxxx",
"uid": "0401ffeb-592c-4472-bed4-fb4631c72688-0194e0c2-7e81-7040-ba44-f1d4f51axxxx:admin:accountadmin"
}
body = {
"limit": 2
}
response = requests.post(url, headers=headers,json=body)
print("Response Body:", json.dumps(response.json(), indent=4, ensure_ascii=False))
return:
Response Body: {
"code": "ok",
"msg": "ok",
"data": {
"total": 318,
"items": [
{
"id": "000a9605-733f-4335-bc72-ac9aa8351e66","content": "1. Data access and integration a. Matrix Search connects product images and inventory data from the backend management system, and realizes data synchronization and real-time update through automatic updates and API interfaces. b. Image data is managed uniformly according to single-sided type, without model words to ensure the clear and accurate search results. 2. Search index construction and optimization a. Matrix Search uses the Efficient Net model to extract features of uploaded images, generate high-precision image embedding vectors, and build image search indexes. b. Supports mixed search, and improves search accuracy and relevance of results by combining semantic search (search pictures with text) and vector search (search pictures with pictures). 3. Implementation of intelligent search functions a. Users upload pictures or enter text through the applet portal for product search. b. System call Matrix Search The search API quickly returns matching product results, and supports category filtering and series of queries to help users quickly find target products. 4. Inventory query and display a. After the search results are filtered and classified, the applet displays matching product information, including name, specification, picture, inventory, etc. b. Users can directly query product inventory status and further view other products in the same series to optimize the search experience. # Customer income Through the intelligent search platform based on Matrix Search, Jinyitao has achieved significant improvements in product search and customer experience: search efficiency is improved by $90\\%$, and sales can quickly find tiled products that meet the needs. $\\bullet$ The systematic inventory query function helps the sales team optimize inventory management and reduce manual operation time. $\\bullet$ The intelligent search function based on image features has significantly improved user satisfaction with product selection and enhanced brand stickiness. $\\bullet$ The flexible mini-program portal simplifies the user interaction process and provides customers with efficient services anytime, anywhere. #Suwen TechAgent #Customer Background",
"content_type": "text",
"file_id": "0194fd65-e671-7e67-ba34-66967ba0fbf0",
"created_at": "2025-02-13T03:45:02",
"updated_at": "2025-02-13T03:45:02"
},
{
"id": "08aaf135-f8ad-446c-9951-03e94777f608",
"content": " Next, we will analyze the scenarios of each key link, the technical requirements of data processing, and how the product capabilities in the MatrixOne Intelligence solution match the needs of this link. # Data Access and Integration # Section Overview The previous article has described in detail that when corporate customers are facing GenAI application scenarios, corporate customers generally face a new round of data silos. Various data sources may be distributed in different databases (such as relational databases, NoSQL databases), file systems (local or cloud storage), third-party SaaS applications (such as network disks, IM In environments such as tools) and edge devices. These data are not only physically scattered, but also highly heterogeneous in formats, covering structured data (such as database tables), semi-structured data (such as JSON, XML) and unstructured data (such as PDF documents, images, videos, audio, etc.). This dispersed and diverse data form brings the following key problems and needs: 1. Complex data acquisition and integration: data is distributed in multiple systems and locations, and lacks a unified access and management method, resulting in large and inefficient data integration. 2. Unstructured data processing pressure: The unstructured data volume is huge (such as videos and audio files), and the use of a centralized access method will bring bandwidth bottlenecks, high latency and high cost problems. 3. Multimodal data standardization: the data format is inconsistent, the parsing and standardization process is cumbersome, making it difficult to directly support AI modeling and applications. 4. Security and permission management: Data access across departments or across systems requires refined permission control to ensure the security and compliance of data during the access and management process. Therefore, the core goal of this link is to solve the problem of data dispersion and heterogeneity, and build an architecture that supports unified access to multiple data sources, cloud-edge collaborative processing and distributed management. By efficiently integrating structured, semi-structured and unstructured data, and providing flexible permission control and standardized processing capabilities, a solid data foundation is laid for subsequent AI modeling and intelligent applications. ",
"content_type": "text",
"file_id": "0194fd65-e671-7e67-ba34-66967ba0fbf0",
"created_at": "2025-02-13T03:45:02",
"updated_at": "2025-02-13T03:45:02"
}
]
}
}
Delete segments of a file in a processing data volume
DELETE /explore/volumes/{volume_id}/files/{filed_id}/blocks
NOTE: The status code for successful request of this interface is 204.
Output parameters:
| Parameters | Meaning |
|---|---|
| ids | block's id |
Example:
import requests
import json
url = "https://freetier-01.cn-hangzhou.cluster.cn-dev.matrixone.tech/byoa/api/v1/explore/volumes/7399732a-3e43-4469-8abb-7a53b99efc22/files/0194fd65-e671-7e67-ba34-66967ba0fbf0/blocks"
headers = {
"user-id": "0194e0c2-7e81-7040-ba44-f1d4f51axxxx",
"Access-Token": "xxxx",
"uid": "8fe335b4-2883-41b4-82eb-a17362504243-0194e0c2-7e81-7040-ba44-f1d4f51axxxx:admin:accountadmin",
}
body = {
"ids": ["03e927d3-edbe-426c-835a-0f1e4fcc39b6"]
}
response = requests.delete(url, headers=headers, json=body)
if response.status_code == 204:
print("Request succeeded, resource deleted")
else:
print(f"Request failed, status code: {response.status_code}, error message: {response.text}")
return:
Request successful, resource deleted