Full Tutorial Copy of Jetson Thor Deploying VSS (Video Search and Summarization)
Por Sharon
April 13th, 2026
vistas 2
Preparation
Device Version:
|
Jetson Core Board
|
JetPack Version
|
|
Jetson Thor T5000
|
JetPack 7.1 (L4T 38.4.0)
|
Install Docker
# docker sudo apt-get update sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # nvidia-container curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1 sudo apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION} sudo apt install -y jq jq -n --indent 4 '{"runtimes": {"nvidia": {"args": [], "path": "nvidia-container-runtime"}}}' > daemon.json && \ sudo mv daemon.json /etc/docker/daemon.json sudo systemctl daemon-reload && sudo systemctl restart docker sudo usermod -aG docker $USER newgrp docker
Obtain NGC API Key
-
Enter https://ngc.nvidia.com/ and log in to your account
-
Go to the https://org.ngc.nvidia.com/setup/api-keys page in the user configuration section
-
Go to theLegacy API Keypage, clickGenerate Legacy Keyto generate an API Key
-
Copy and save the generated API Key as prompted
Obtain Hugging Face Token
-
Log in to the Hugging Face platform: visit the URL https://huggingface.co/ , and log in to your account.
-
Navigate to the API Key page: Jump to the dedicated API Keys page.
-
Generate API Key: As shown in the figure below, click the "Generate New Token" button. Copy the generated token and securely store it in a safe location for future use.
Configure VSS Event Reviewer
-
Download Video Search and Summarization
git clone https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git -b v2.4.1 cd video-search-and-summarization/
-
Modify the API Key for the Event Reviewer feature
cd deploy/docker/event_reviewer vim .env # Update to download Cosmos-Reason2 / other models from HuggingFace HF_TOKEN=hf_*** # Update to download Cosmos-Reason1 from NGC NGC_API_KEY=nvapi-***
-
Modify the docker compose configuration (optional)
## 添加模型本地缓存 mkdir models # 打开compose.yaml vim compose.yaml
Modify the compose.yaml file
services: via-server: image: ${VSS_IMAGE:-nvcr.io/nvidia/blueprint/vss-engine:2.4.1${IS_SBSA:+-sbsa}} networks: - vss-shared-network shm_size: '16gb' runtime: nvidia ports: - "${VSS_BACKEND_PORT:-8000}:${VSS_BACKEND_PORT:-8000}" - "${VSS_FRONTEND_PORT:-9000}:${VSS_FRONTEND_PORT:-9000}" volumes: - "${MODEL_ROOT_DIR:-/dummy}${MODEL_ROOT_DIR:+:${MODEL_ROOT_DIR:-}}" ## 注释以下两行 # - via-ngc-model-cache:/root/.via/ngc_model_cache # - via-hf-cache:/tmp/huggingface ## 添加模型缓存目录 - ./models/via-ngc-model-cache:/root/.via/ngc_model_cache - ./models/via-hf-cache:/tmp/huggingface - "${ALERT_REVIEW_MEDIA_BASE_DIR:-/dummy}${ALERT_REVIEW_MEDIA_BASE_DIR:+:${ALERT_REVIEW_MEDIA_BASE_DIR:-}}" environment: BACKEND_PORT: "${VSS_BACKEND_PORT:-8000}" DISABLE_CA_RAG: "true" DISABLE_FRONTEND: "true" DISABLE_GUARDRAILS: "true" DISABLE_CV_PIPELINE: "true" FRONTEND_PORT: "${VSS_FRONTEND_PORT:-9000}" MODEL_PATH: "${MODEL_PATH:-git:https://huggingface.co/nvidia/Cosmos-Reason2-8B}" VLM_MODEL_TO_USE: "${VLM_MODEL_TO_USE:-cosmos-reason2}" VLLM_GPU_MEMORY_UTILIZATION: "${VLLM_GPU_MEMORY_UTILIZATION:-}" VLM_MAX_MODEL_LEN: "${VLM_MAX_MODEL_LEN:-}" VSS_LOG_LEVEL: "${VSS_LOG_LEVEL:-}" VSS_EXTRA_ARGS: "${VSS_EXTRA_ARGS:-}" VLM_DEFAULT_NUM_FRAMES_PER_CHUNK: "${VLM_DEFAULT_NUM_FRAMES_PER_CHUNK:-}" ALERT_REVIEW_MEDIA_BASE_DIR: "${ALERT_REVIEW_MEDIA_BASE_DIR:-}" VLM_SYSTEM_PROMPT: "You are a helpful assistant. Answer the user's question. " VLM_INPUT_WIDTH: "${VLM_INPUT_WIDTH:-}" VLM_INPUT_HEIGHT: "${VLM_INPUT_HEIGHT:-}" NVIDIA_VISIBLE_DEVICES: "${NVIDIA_VISIBLE_DEVICES:-}" NGC_API_KEY: "${NGC_API_KEY:-}" HF_TOKEN: "${HF_TOKEN:-}" ## 添加科学上网代理(如果需要) HTTP_PROXY: "http://xxx.xxx.xxx.xxx:7890" HTTPS_PROXY: "http://xxx.xxx.xxx.xxx:7890" ulimits: memlock: soft: -1 hard: -1 stack: 67108864 ipc: host healthcheck: test: ["CMD", "curl", "-f", "http://localhost:${VSS_BACKEND_PORT:-8000}/health/live"] interval: 30s timeout: 20s retries: 25 start_period: 90s
-
Run VSS Event Reviewer
# 创建VSS Event Reviewer网络 docker network create vss-shared-network # 如果升级了vss需清空vst数据 rm -rf vst/vst_volume/* # 运行VSS Event Reviewer,包含Alert Bridge, VLM Pipeline, Alert Inspector UI和Video Storage Toolkit功能 ALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose up -d
Note:
1. The first run requires downloading the docker mirroring, and some docker mirroring may fail to download properly. In such cases, you need to manually download the corresponding tar package for loading and modify the name of the docker mirroring currently in use in compose.yaml.
2. Entering the container will automatically download and load the model
-
Close VSS Event Reviewer
cd deploy/docker/event_reviewer ALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose down
After invoking the large model, it may cause memory occupation, requiring running commands for cleanup. The executable script is:
sudo sh deploy/scripts/sys_cache_cleaner.sh
Configure cv-event-detector
-
Enter the cv-event-detector directory
# change directory to example of CV detector cd video-search-and-summarization/examples/cv-event-detector
-
Modify the docker compose configuration (optional)
## 添加模型本地缓存 mkdir models # 打开compose.yaml vim compose.yaml
Modify the compose.yaml file
services: nv-cv-event-detector: image: ${NV_CV_EVENT_DETECTOR_IMAGE:-nvcr.io/nvidia/blueprint/nv-cv-event-detector:2.4.0${IS_SBSA:+-sbsa}} networks: - vss-shared-network shm_size: '16gb' runtime: nvidia ports: - "${NV_CV_EVENT_DETECTOR_API_PORT:-23491}:${NV_CV_EVENT_DETECTOR_API_PORT:-23491}" entrypoint: ["/opt/nvidia/nv-cv-event-detector/start_nv_cv_event_detector.sh"] volumes: ## 注释以下两行 # - via-ngc-model-cache:/root/.via/ngc_model_cache # - via-hf-cache:/tmp/huggingface ## 添加模型缓存目录 - ./models/via-ngc-model-cache:/root/.via/ngc_model_cache - ./models/via-hf-cache:/tmp/huggingface - "${ALERT_REVIEW_MEDIA_BASE_DIR:-/dummy}${ALERT_REVIEW_MEDIA_BASE_DIR:+:${ALERT_REVIEW_MEDIA_BASE_DIR:-}}" - cv-input-dir:/tmp - ./gdinoconfig_grpc.txt:/opt/nvidia/nv-cv-event-detector/gdinoconfig_grpc.txt environment: NV_CV_EVENT_DETECTOR_API_PORT: ${NV_CV_EVENT_DETECTOR_API_PORT:-23491} INSTALL_PROPRIETARY_CODECS: "true" USE_GDINO: "${USE_GDINO:-true}" DISABLE_SOM_OVERLAY: "${DISABLE_SOM_OVERLAY:-false}" USE_TRACKER_CONFIG: "${USE_TRACKER_CONFIG:-/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_tracker_NvDCF_perf.yml}" CLIP_CACHE_PRE_EV_TIME: "${CLIP_CACHE_PRE_EV_TIME:-5}" #5s CLIP_CACHE_POST_EV_TIME: "${CLIP_CACHE_POST_EV_TIME:-20}" #25s ENABLE_FILE_STREAMING_MODE: "${ENABLE_FILE_STREAMING_MODE:-false}" NVIDIA_VISIBLE_DEVICES: "${NVIDIA_VISIBLE_DEVICES:-}" LD_LIBRARY_PATH: "/opt/nvidia/deepstream/deepstream/lib:/opt/tritonserver/lib/" ## 添加科学上网代理(如果需要) HTTP_PROXY: "http://xxx.xxx.xxx.xxx:7890" HTTPS_PROXY: "http://xxx.xxx.xxx.xxx:7890" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65535 hard: 65535 stack: 67108864 ipc: host healthcheck: test: ["CMD", "curl", "-f", "http://localhost:${NV_CV_EVENT_DETECTOR_API_PORT:-23491}/health"] interval: 30s timeout: 20s retries: 50 start_period: 90s
-
Run cv-event-detector
# 运行cv-event-detector,包含cv-ui功能 ALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose -f compose.yaml -f compose.thor.yaml up -d
The first run requires downloading the docker mirroring, downloading, and loading the model
-
Turn off cv-event-detector
# change directory to example of CV detector cd examples/cv-event-detector ALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose down
Enter Inspector WebUI
Set up the video pipeline
-
Open the browser, enter http://0.0.0.0:7862, and access the Computer Vision Pipeline Manager page
-
Select a video file from Examples to modify Detection Parameters and Alert Prompts
-
Click Process Video to start processing the video
View Alert Results
-
Enter http://0.0.0.0:7860 in the browser to access the Alert Inspector page
-
Select the video stream you want to view in the DASHBOARD, click the Chat icon on the far right of the entry to enter the CHAT function and play the video
-
You can enter a question in the chat box and click Ask to obtain the results of VLM
/dev/null\nsudo apt-get update\nsudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\n# nvidia-container\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\\n sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\n sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list\nsudo apt-get update\nexport NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1\nsudo apt-get install -y \\\n nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \\\n nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \\\n libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \\\n libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}\n\nsudo apt install -y jq\njq -n --indent 4 '{\"runtimes\": {\"nvidia\": {\"args\": [], \"path\": \"nvidia-container-runtime\"}}}' > daemon.json && \\\n sudo mv daemon.json /etc/docker/daemon.json\nsudo systemctl daemon-reload && sudo systemctl restart docker\n\nsudo usermod -aG docker $USER\nnewgrp docker"},"attribs":{"0":"*0|4+38*0+g*0*1+18*0|4+2d*0+2a*0*2+14*0|7+82*0+b*0*3+1f*0|1+2c*0+g*0*4+2d*0|1+5*0+f*0*5+c*0+1y*0*6+a*0|g+js*0+d"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["link-id","0289b1b6-c3f5-418e-a370-0cbc5acd9ecc"],"2":["link-id","b10978f7-34de-4090-b259-9daf61e14560"],"3":["link-id","810894f2-6926-4002-8991-22e4a7e5fb65"],"4":["link-id","9e0e82ac-f229-4051-a7c3-e4d95cd9b3e9"],"5":["link-id","48a8e393-44de-4032-9c86-634da6d929c9"],"6":["link-id","7d18070e-1c3f-470d-ac7f-23f851678cbf"]},"nextNum":7}},"language":"Shell","wrap":false,"locked":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"RAkAd2gYtobw8KxCYnmcaPPbngg":{"id":"RAkAd2gYtobw8KxCYnmcaPPbngg","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"hidden":false,"locked":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"GD2KdrZKDotA2bxEXaFc0nhMnvb":{"id":"GD2KdrZKDotA2bxEXaFc0nhMnvb","snapshot":{"type":"heading3","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Obtain NGC API Key "},"attribs":{"0":"*0+j"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left","locked":false}},"ExiBdoUaGoma98xWxf3c1rZSnme":{"id":"ExiBdoUaGoma98xWxf3c1rZSnme","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"locked":false}},"SmQNdTvqGoBxHHxDw8ucopj9n0f":{"id":"SmQNdTvqGoBxHHxDw8ucopj9n0f","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Enter https://ngc.nvidia.com/ and log in to your account "},"attribs":{"0":"*0+7*0*1+p*0+t"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["link-id","7e8ac070-6839-4500-9840-933a22a2d89d"]},"nextNum":2}},"level":1,"folded":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"WXP4dIuC6oUXxBxB5rhcpgDDn2b":{"id":"WXP4dIuC6oUXxBxB5rhcpgDDn2b","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Go to the https://org.ngc.nvidia.com/setup/api-keys page in the user configuration section"},"attribs":{"0":"*0+a*0*1+15*0+13"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["link-id","1cdf6a77-bf0f-4e73-9122-f755328d68a8"]},"nextNum":2}},"level":1,"folded":false,"locked":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left"}},"BT3WduEwToB8zBxxMlocFoAmnSd":{"id":"BT3WduEwToB8zBxxMlocFoAmnSd","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Go to theLegacy API Keypage, clickGenerate Legacy Keyto generate an API Key"},"attribs":{"0":"*0+9*0*1+e*0+b*0*1+j*0+m"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["bold","true"]},"nextNum":2}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"Aym2dHcgCodCskx0lEccVnrMn9b":{"id":"Aym2dHcgCodCskx0lEccVnrMn9b","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Copy and save the generated API Key as prompted"},"attribs":{"0":"*0+1b"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left","locked":false}},"MEo7dm5HEox5h8xKSgtcQT6vnsb":{"id":"MEo7dm5HEox5h8xKSgtcQT6vnsb","snapshot":{"type":"heading3","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Obtain Hugging Face Token "},"attribs":{"0":"*0+q"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"locked":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","align":"left","hidden":false}},"OziOdxGZuoJCe3xwUKBcEoLNnTf":{"id":"OziOdxGZuoJCe3xwUKBcEoLNnTf","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"locked":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"M5JzdTOc7og8fsxo0RHcbgLKnQd":{"id":"M5JzdTOc7og8fsxo0RHcbgLKnQd","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Log in to the Hugging Face platform: visit the URL https://huggingface.co/ , and log in to your account."},"attribs":{"0":"*0+1f*0*1+n*0+u"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["link-id","b6b33fcb-812d-40c5-9804-43a34b00f59e"]},"nextNum":2}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"XDJEdX2L3oqSHpx1Zo9ctyqondg":{"id":"XDJEdX2L3oqSHpx1Zo9ctyqondg","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Navigate to the API Key page: Jump to the dedicated API Keys page. "},"attribs":{"0":"*0+1v"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"PYlPdTxg2okRFEx501mcVubonvp":{"id":"PYlPdTxg2okRFEx501mcVubonvp","snapshot":{"type":"bullet","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Generate API Key: As shown in the figure below, click the \"Generate New Token\" button. Copy the generated token and securely store it in a safe location for future use."},"attribs":{"0":"*0+4o"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"QtJrd81QuoffOYx1D5ec6uUtnnd":{"id":"QtJrd81QuoffOYx1D5ec6uUtnnd","snapshot":{"type":"heading2","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Configure VSS Event Reviewer"},"attribs":{"0":"*0+s"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false}},"UDagd5Giqokwmfx1Izrck5Y6npd":{"id":"UDagd5Giqokwmfx1Izrck5Y6npd","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"OUkhd1Na4oE6y4xN8yTcHUQMnwg":{"id":"OUkhd1Na4oE6y4xN8yTcHUQMnwg","snapshot":{"type":"bullet","children":["FyNhdfXXYoiEMUxnoOJceq0Xngf"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Download Video Search and Summarization"},"attribs":{"0":"*0+13"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"align":"left","hidden":false}},"FyNhdfXXYoiEMUxnoOJceq0Xngf":{"id":"FyNhdfXXYoiEMUxnoOJceq0Xngf","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"git clone https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git -b v2.4.1\ncd video-search-and-summarization/"},"attribs":{"0":"*0+a*0*1+22*0|1+b*0+y"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"],"1":["link-id","3e878fad-6239-413e-b797-7d512934cd11"]},"nextNum":2}},"language":"Shell","wrap":false,"parent_id":"OUkhd1Na4oE6y4xN8yTcHUQMnwg","locked":false,"hidden":false,"align":"left","caption":{"text":{"apool":{"numToAttrib":{},"nextNum":0},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"OsIMdf8jso9MDMxyKXRcLMXmnub":{"id":"OsIMdf8jso9MDMxyKXRcLMXmnub","snapshot":{"type":"bullet","children":["AqrZd0kHIo3oIHxUhTFcu5ARnzh"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Modify the API Key for the Event Reviewer feature"},"attribs":{"0":"*0+1d"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left","locked":false}},"AqrZd0kHIo3oIHxUhTFcu5ARnzh":{"id":"AqrZd0kHIo3oIHxUhTFcu5ARnzh","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"cd deploy/docker/event_reviewer\nvim .env\n\n# Update to download Cosmos-Reason2 / other models from HuggingFace\nHF_TOKEN=hf_***\n\n# Update to download Cosmos-Reason1 from NGC\nNGC_API_KEY=nvapi-***"},"attribs":{"0":"*0|7+4s*0+l"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"parent_id":"OsIMdf8jso9MDMxyKXRcLMXmnub","locked":false,"hidden":false,"align":"left","caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"IRrFdal5OopuwtxVeogcoASFnzc":{"id":"IRrFdal5OopuwtxVeogcoASFnzc","snapshot":{"type":"bullet","children":["G91RdS4Vyot2DBx2CpocUxf8nQf","LyqxdJBcmoWxHSxYEp9crnC4n8c","DeNNd7Cdiobj0bxflZKcZe0an6f"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Modify the docker compose configuration (optional)"},"attribs":{"0":"*0+1e"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"G91RdS4Vyot2DBx2CpocUxf8nQf":{"id":"G91RdS4Vyot2DBx2CpocUxf8nQf","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"## 添加模型本地缓存\nmkdir models\n\n# 打开compose.yaml\nvim compose.yaml"},"attribs":{"0":"*0|4+17*0+g"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}}}},"parent_id":"IRrFdal5OopuwtxVeogcoASFnzc","align":"left","locked":false,"hidden":false}},"LyqxdJBcmoWxHSxYEp9crnC4n8c":{"id":"LyqxdJBcmoWxHSxYEp9crnC4n8c","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Modify the compose.yaml file"},"attribs":{"0":"*0+s"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"hidden":false,"align":"left","parent_id":"IRrFdal5OopuwtxVeogcoASFnzc","locked":false}},"DeNNd7Cdiobj0bxflZKcZe0an6f":{"id":"DeNNd7Cdiobj0bxflZKcZe0an6f","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"services:\n via-server:\n image: ${VSS_IMAGE:-nvcr.io/nvidia/blueprint/vss-engine:2.4.1${IS_SBSA:+-sbsa}}\n networks:\n - vss-shared-network\n shm_size: '16gb'\n runtime: nvidia\n ports:\n - \"${VSS_BACKEND_PORT:-8000}:${VSS_BACKEND_PORT:-8000}\"\n - \"${VSS_FRONTEND_PORT:-9000}:${VSS_FRONTEND_PORT:-9000}\"\n volumes:\n - \"${MODEL_ROOT_DIR:-/dummy}${MODEL_ROOT_DIR:+:${MODEL_ROOT_DIR:-}}\"\n ## 注释以下两行\n # - via-ngc-model-cache:/root/.via/ngc_model_cache \n # - via-hf-cache:/tmp/huggingface\n ## 添加模型缓存目录\n - ./models/via-ngc-model-cache:/root/.via/ngc_model_cache\n - ./models/via-hf-cache:/tmp/huggingface\n - \"${ALERT_REVIEW_MEDIA_BASE_DIR:-/dummy}${ALERT_REVIEW_MEDIA_BASE_DIR:+:${ALERT_REVIEW_MEDIA_BASE_DIR:-}}\"\n\n environment:\n BACKEND_PORT: \"${VSS_BACKEND_PORT:-8000}\"\n DISABLE_CA_RAG: \"true\"\n DISABLE_FRONTEND: \"true\"\n DISABLE_GUARDRAILS: \"true\"\n DISABLE_CV_PIPELINE: \"true\"\n FRONTEND_PORT: \"${VSS_FRONTEND_PORT:-9000}\"\n MODEL_PATH: \"${MODEL_PATH:-git:https://huggingface.co/nvidia/Cosmos-Reason2-8B}\"\n VLM_MODEL_TO_USE: \"${VLM_MODEL_TO_USE:-cosmos-reason2}\"\n VLLM_GPU_MEMORY_UTILIZATION: \"${VLLM_GPU_MEMORY_UTILIZATION:-}\"\n VLM_MAX_MODEL_LEN: \"${VLM_MAX_MODEL_LEN:-}\"\n VSS_LOG_LEVEL: \"${VSS_LOG_LEVEL:-}\"\n VSS_EXTRA_ARGS: \"${VSS_EXTRA_ARGS:-}\"\n VLM_DEFAULT_NUM_FRAMES_PER_CHUNK: \"${VLM_DEFAULT_NUM_FRAMES_PER_CHUNK:-}\"\n ALERT_REVIEW_MEDIA_BASE_DIR: \"${ALERT_REVIEW_MEDIA_BASE_DIR:-}\"\n VLM_SYSTEM_PROMPT: \"You are a helpful assistant. Answer the user's question. \"\n VLM_INPUT_WIDTH: \"${VLM_INPUT_WIDTH:-}\"\n VLM_INPUT_HEIGHT: \"${VLM_INPUT_HEIGHT:-}\"\n NVIDIA_VISIBLE_DEVICES: \"${NVIDIA_VISIBLE_DEVICES:-}\"\n NGC_API_KEY: \"${NGC_API_KEY:-}\"\n HF_TOKEN: \"${HF_TOKEN:-}\"\n ## 添加科学上网代理(如果需要)\n HTTP_PROXY: \"http://xxx.xxx.xxx.xxx:7890\"\n HTTPS_PROXY: \"http://xxx.xxx.xxx.xxx:7890\"\n ulimits:\n memlock:\n soft: -1\n hard: -1\n stack: 67108864\n ipc: host\n healthcheck:\n test: [\"CMD\", \"curl\", \"-f\", \"http://localhost:${VSS_BACKEND_PORT:-8000}/health/live\"]\n interval: 30s\n timeout: 20s\n retries: 25\n start_period: 90s"},"attribs":{"0":"*0|1j+1pi*0+n"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"YAML","wrap":false,"align":"left","parent_id":"IRrFdal5OopuwtxVeogcoASFnzc","locked":false,"hidden":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"Ga1mdKEjQoAwZXxQlxFcOjdAnvc":{"id":"Ga1mdKEjQoAwZXxQlxFcOjdAnvc","snapshot":{"type":"bullet","children":["S6szdz4UzoDGOgxVmtlc22ASnqg","Zt26dEeOLovjTNx0445cIWoCnad","K9y1dGTOMoxYpZxgzqWcob4znwh"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Run VSS Event Reviewer"},"attribs":{"0":"*0+m"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"align":"left","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"S6szdz4UzoDGOgxVmtlc22ASnqg":{"id":"S6szdz4UzoDGOgxVmtlc22ASnqg","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"# 创建VSS Event Reviewer网络\ndocker network create vss-shared-network\n\n# 如果升级了vss需清空vst数据\nrm -rf vst/vst_volume/*\n\n# 运行VSS Event Reviewer,包含Alert Bridge, VLM Pipeline, Alert Inspector UI和Video Storage Toolkit功能\nALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose up -d"},"attribs":{"0":"*0|7+5r*0+1x"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"align":"left","hidden":false,"parent_id":"Ga1mdKEjQoAwZXxQlxFcOjdAnvc","locked":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}}}}}},"Zt26dEeOLovjTNx0445cIWoCnad":{"id":"Zt26dEeOLovjTNx0445cIWoCnad","snapshot":{"type":"quote_container","children":["DH6RdS3dpoMZY2xghETc3Kuwnkb","IHOHd3yePo2JlMx4CRVc1TTbnqd","McrLdOEPjocVrIxKWhDcIjYpnHc"],"comments":[],"revisions":[],"author":"7621476109154127049","hidden":false,"parent_id":"Ga1mdKEjQoAwZXxQlxFcOjdAnvc","locked":false}},"DH6RdS3dpoMZY2xghETc3Kuwnkb":{"id":"DH6RdS3dpoMZY2xghETc3Kuwnkb","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Note: "},"attribs":{"0":"*0+6"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"parent_id":"Zt26dEeOLovjTNx0445cIWoCnad","align":"","locked":false,"hidden":false}},"IHOHd3yePo2JlMx4CRVc1TTbnqd":{"id":"IHOHd3yePo2JlMx4CRVc1TTbnqd","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"1. The first run requires downloading the docker mirroring, and some docker mirroring may fail to download properly. In such cases, you need to manually download the corresponding tar package for loading and modify the name of the docker mirroring currently in use in compose.yaml."},"attribs":{"0":"*0+7t"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"parent_id":"Zt26dEeOLovjTNx0445cIWoCnad","locked":false,"hidden":false,"align":"left"}},"McrLdOEPjocVrIxKWhDcIjYpnHc":{"id":"McrLdOEPjocVrIxKWhDcIjYpnHc","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"2. Entering the container will automatically download and load the model"},"attribs":{"0":"*0+20"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"locked":false,"hidden":false,"align":"","parent_id":"Zt26dEeOLovjTNx0445cIWoCnad"}},"K9y1dGTOMoxYpZxgzqWcob4znwh":{"id":"K9y1dGTOMoxYpZxgzqWcob4znwh","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"hidden":false,"align":"","parent_id":"Ga1mdKEjQoAwZXxQlxFcOjdAnvc","locked":false}},"Rwuodbl9ioLBQcx3gwNcAwU9n2e":{"id":"Rwuodbl9ioLBQcx3gwNcAwU9n2e","snapshot":{"type":"bullet","children":["XopbdXvRKow7bKxCPrmcF4qrnyh"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Close VSS Event Reviewer"},"attribs":{"0":"*0+o"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"XopbdXvRKow7bKxCPrmcF4qrnyh":{"id":"XopbdXvRKow7bKxCPrmcF4qrnyh","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"cd deploy/docker/event_reviewer\n\nALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose down"},"attribs":{"0":"*0|2+x*0+1w"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"align":"left","caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}},"parent_id":"Rwuodbl9ioLBQcx3gwNcAwU9n2e","locked":false,"hidden":false}},"IFeSd2i15oRLTDx3Uczc1QNSnJg":{"id":"IFeSd2i15oRLTDx3Uczc1QNSnJg","snapshot":{"type":"quote_container","children":["E1Zed2WUgoMQJix7xhoc3J6BnUd"],"comments":[],"revisions":[],"author":"7621476109154127049","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"E1Zed2WUgoMQJix7xhoc3J6BnUd":{"id":"E1Zed2WUgoMQJix7xhoc3J6BnUd","snapshot":{"type":"text","children":["Ob5bdzrTjoGHfhx0kr5chzxMnTe"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"After invoking the large model, it may cause memory occupation, requiring running commands for cleanup. The executable script is: "},"attribs":{"0":"*0+3m"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"align":"left","parent_id":"IFeSd2i15oRLTDx3Uczc1QNSnJg","locked":false,"hidden":false}},"Ob5bdzrTjoGHfhx0kr5chzxMnTe":{"id":"Ob5bdzrTjoGHfhx0kr5chzxMnTe","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"sudo sh deploy/scripts/sys_cache_cleaner.sh"},"attribs":{"0":"*0+17"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"parent_id":"E1Zed2WUgoMQJix7xhoc3J6BnUd","align":"left","caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}},"locked":false,"hidden":false}},"OYiPd40jSo70DVxw9KKcSFRRnWf":{"id":"OYiPd40jSo70DVxw9KKcSFRRnWf","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"align":"left"}},"NtindXdOnobQB0xls7HclScFn9g":{"id":"NtindXdOnobQB0xls7HclScFn9g","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"left","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"P22AdojinoYvBxxM6L8ces8Vn4d":{"id":"P22AdojinoYvBxxM6L8ces8Vn4d","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"locked":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left"}},"ACqNdTekHoylsRxka24ccWQanDh":{"id":"ACqNdTekHoylsRxka24ccWQanDh","snapshot":{"type":"heading2","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Configure cv-event-detector"},"attribs":{"0":"*0+r"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false,"align":"left"}},"HXlkdWsIdoLEt8xtbZGcx5SjnNg":{"id":"HXlkdWsIdoLEt8xtbZGcx5SjnNg","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"left","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"HniOdbOvWoBqfzxcjfVcYqGWnGh":{"id":"HniOdbOvWoBqfzxcjfVcYqGWnGh","snapshot":{"type":"bullet","children":["EhK4dkH01oDDdYxtwxncGQoknFe"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Enter the cv-event-detector directory "},"attribs":{"0":"*0+12"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"locked":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"EhK4dkH01oDDdYxtwxncGQoknFe":{"id":"EhK4dkH01oDDdYxtwxncGQoknFe","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"# change directory to example of CV detector\ncd video-search-and-summarization/examples/cv-event-detector"},"attribs":{"0":"*0|1+19*0+1o"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"parent_id":"HniOdbOvWoBqfzxcjfVcYqGWnGh","locked":false,"hidden":false,"align":"left","caption":{"text":{"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"FtypdOaJZoqc7FxR6fXc7fLfnbp":{"id":"FtypdOaJZoqc7FxR6fXc7fLfnbp","snapshot":{"type":"bullet","children":["GfJadaifJorwBIxHYdMc9vFUn9d","Ex5Wd36T9oJGbcx3rlCcWqf2nfd","SG2mdmWwKoOyk3xxKiic3JpunGf"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Modify the docker compose configuration (optional)"},"attribs":{"0":"*0+1e"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"locked":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"GfJadaifJorwBIxHYdMc9vFUn9d":{"id":"GfJadaifJorwBIxHYdMc9vFUn9d","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"## 添加模型本地缓存\nmkdir models\n\n# 打开compose.yaml\nvim compose.yaml"},"attribs":{"0":"*0|4+17*0+g"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"hidden":false,"align":"left","parent_id":"FtypdOaJZoqc7FxR6fXc7fLfnbp","caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}},"locked":false}},"Ex5Wd36T9oJGbcx3rlCcWqf2nfd":{"id":"Ex5Wd36T9oJGbcx3rlCcWqf2nfd","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Modify the compose.yaml file"},"attribs":{"0":"*0+s"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"hidden":false,"parent_id":"FtypdOaJZoqc7FxR6fXc7fLfnbp","locked":false,"align":"left"}},"SG2mdmWwKoOyk3xxKiic3JpunGf":{"id":"SG2mdmWwKoOyk3xxKiic3JpunGf","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"services:\n\n nv-cv-event-detector:\n image: ${NV_CV_EVENT_DETECTOR_IMAGE:-nvcr.io/nvidia/blueprint/nv-cv-event-detector:2.4.0${IS_SBSA:+-sbsa}}\n networks:\n - vss-shared-network\n shm_size: '16gb'\n runtime: nvidia\n ports:\n - \"${NV_CV_EVENT_DETECTOR_API_PORT:-23491}:${NV_CV_EVENT_DETECTOR_API_PORT:-23491}\"\n entrypoint: [\"/opt/nvidia/nv-cv-event-detector/start_nv_cv_event_detector.sh\"]\n\n volumes:\n ## 注释以下两行\n # - via-ngc-model-cache:/root/.via/ngc_model_cache\n # - via-hf-cache:/tmp/huggingface\n ## 添加模型缓存目录\n - ./models/via-ngc-model-cache:/root/.via/ngc_model_cache\n - ./models/via-hf-cache:/tmp/huggingface\n - \"${ALERT_REVIEW_MEDIA_BASE_DIR:-/dummy}${ALERT_REVIEW_MEDIA_BASE_DIR:+:${ALERT_REVIEW_MEDIA_BASE_DIR:-}}\"\n - cv-input-dir:/tmp\n - ./gdinoconfig_grpc.txt:/opt/nvidia/nv-cv-event-detector/gdinoconfig_grpc.txt\n\n environment:\n NV_CV_EVENT_DETECTOR_API_PORT: ${NV_CV_EVENT_DETECTOR_API_PORT:-23491}\n INSTALL_PROPRIETARY_CODECS: \"true\"\n USE_GDINO: \"${USE_GDINO:-true}\"\n DISABLE_SOM_OVERLAY: \"${DISABLE_SOM_OVERLAY:-false}\"\n USE_TRACKER_CONFIG: \"${USE_TRACKER_CONFIG:-/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_tracker_NvDCF_perf.yml}\"\n CLIP_CACHE_PRE_EV_TIME: \"${CLIP_CACHE_PRE_EV_TIME:-5}\" #5s\n CLIP_CACHE_POST_EV_TIME: \"${CLIP_CACHE_POST_EV_TIME:-20}\" #25s\n ENABLE_FILE_STREAMING_MODE: \"${ENABLE_FILE_STREAMING_MODE:-false}\"\n NVIDIA_VISIBLE_DEVICES: \"${NVIDIA_VISIBLE_DEVICES:-}\"\n LD_LIBRARY_PATH: \"/opt/nvidia/deepstream/deepstream/lib:/opt/tritonserver/lib/\"\n ## 添加科学上网代理(如果需要)\n HTTP_PROXY: \"http://xxx.xxx.xxx.xxx:7890\"\n HTTPS_PROXY: \"http://xxx.xxx.xxx.xxx:7890\"\n ulimits:\n memlock:\n soft: -1\n hard: -1\n nofile:\n soft: 65535\n hard: 65535\n stack: 67108864\n ipc: host\n healthcheck:\n test: [\"CMD\", \"curl\", \"-f\", \"http://localhost:${NV_CV_EVENT_DETECTOR_API_PORT:-23491}/health\"]\n interval: 30s\n timeout: 20s\n retries: 50\n start_period: 90s"},"attribs":{"0":"*0|1f+1ll*0+n"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"YAML","wrap":false,"align":"left","parent_id":"FtypdOaJZoqc7FxR6fXc7fLfnbp","locked":false,"hidden":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"BSWrd0AQ2ofdfrxiMUzcXC1snyh":{"id":"BSWrd0AQ2ofdfrxiMUzcXC1snyh","snapshot":{"type":"bullet","children":["Vt1zdvEVwo6fhDxsm9qcJit5nig","EkJsd3Yj2ozLjsxJSk4cIFZknxc"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Run cv-event-detector"},"attribs":{"0":"*0+l"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","align":"left"}},"Vt1zdvEVwo6fhDxsm9qcJit5nig":{"id":"Vt1zdvEVwo6fhDxsm9qcJit5nig","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"# 运行cv-event-detector,包含cv-ui功能\nALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose -f compose.yaml -f compose.thor.yaml up -d"},"attribs":{"0":"*0|1+w*0+2y"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}},"align":"left","parent_id":"BSWrd0AQ2ofdfrxiMUzcXC1snyh","locked":false,"hidden":false}},"EkJsd3Yj2ozLjsxJSk4cIFZknxc":{"id":"EkJsd3Yj2ozLjsxJSk4cIFZknxc","snapshot":{"type":"quote_container","children":["B7LNdOsGWo07TOx2lQGcxHArnLg"],"comments":[],"revisions":[],"author":"7621476109154127049","locked":false,"hidden":false,"parent_id":"BSWrd0AQ2ofdfrxiMUzcXC1snyh"}},"B7LNdOsGWo07TOx2lQGcxHArnLg":{"id":"B7LNdOsGWo07TOx2lQGcxHArnLg","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"The first run requires downloading the docker mirroring, downloading, and loading the model "},"attribs":{"0":"*0+2k"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"parent_id":"EkJsd3Yj2ozLjsxJSk4cIFZknxc","locked":false,"hidden":false,"align":"left"}},"YWXAdHlPhoqkRZxaIaEcnEN9nkc":{"id":"YWXAdHlPhoqkRZxaIaEcnEN9nkc","snapshot":{"type":"bullet","children":["DqpedBnhqoqAD9xFwUucHiVAnHf"],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Turn off cv-event-detector"},"attribs":{"0":"*0+q"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false}},"DqpedBnhqoqAD9xFwUucHiVAnHf":{"id":"DqpedBnhqoqAD9xFwUucHiVAnHf","snapshot":{"type":"code","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"# change directory to example of CV detector\ncd examples/cv-event-detector\n\nALERT_REVIEW_MEDIA_BASE_DIR=/tmp/alert-media-dir docker compose down"},"attribs":{"0":"*0|3+24*0+1w"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"language":"Shell","wrap":false,"hidden":false,"align":"left","parent_id":"YWXAdHlPhoqkRZxaIaEcnEN9nkc","locked":false,"caption":{"text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":"|1+1"},"text":{"0":"\n"}}}}}},"TxicdaNPpoSFuwxsomscx31Jnhc":{"id":"TxicdaNPpoSFuwxsomscx31Jnhc","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"XTkxdjy0WoxvCvxDIbJcyXYgnJc":{"id":"XTkxdjy0WoxvCvxDIbJcyXYgnJc","snapshot":{"type":"heading2","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Enter Inspector WebUI "},"attribs":{"0":"*0+m"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"locked":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false}},"TduGd7wRvoTsFlxn59DcLqDNnMf":{"id":"TduGd7wRvoTsFlxn59DcLqDNnMf","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"align":"left","hidden":false}},"TgWAdNPjooJzg2xuZIicp6J4nXe":{"id":"TgWAdNPjooJzg2xuZIicp6J4nXe","snapshot":{"type":"heading3","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Set up the video pipeline"},"attribs":{"0":"*0+p"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"QznQdmDLPoioKyxppXZcwn6xnMf":{"id":"QznQdmDLPoioKyxppXZcwn6xnMf","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Open the browser, enter http://0.0.0.0:7862, and access the Computer Vision Pipeline Manager page"},"attribs":{"0":"*0+2p"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"1","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"align":"left","locked":false}},"WFWKdalweoAv5gxQx7icXK4vnTf":{"id":"WFWKdalweoAv5gxQx7icXK4vnTf","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Select a video file from Examples to modify Detection Parameters and Alert Prompts"},"attribs":{"0":"*0+2a"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"2","hidden":false,"align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false}},"RLDIdWgsxosqcixVyTFcqV4unme":{"id":"RLDIdWgsxosqcixVyTFcqV4unme","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Click Process Video to start processing the video "},"attribs":{"0":"*0+1e"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"3","align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"MabydGQUUoxcxDxWZONcGpqEnye":{"id":"MabydGQUUoxcxDxWZONcGpqEnye","snapshot":{"type":"text","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":""},"attribs":{"0":""}},"apool":{"numToAttrib":{},"nextNum":0}},"folded":false,"align":"","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false,"hidden":false}},"SvtadfPGWo6hY7xtYUMcTHYrnGb":{"id":"SvtadfPGWo6hY7xtYUMcTHYrnGb","snapshot":{"type":"heading3","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"View Alert Results"},"attribs":{"0":"*0+i"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"folded":false,"align":"left","hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","locked":false}},"OjmRdh588o2IIBx0Q3wcQJZCnMb":{"id":"OjmRdh588o2IIBx0Q3wcQJZCnMb","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Enter http://0.0.0.0:7860 in the browser to access the Alert Inspector page "},"attribs":{"0":"*0+24"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"1","align":"left","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41"}},"OcWfdZMjrodRH5xnozocyN9RnHf":{"id":"OcWfdZMjrodRH5xnozocyN9RnHf","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Select the video stream you want to view in the DASHBOARD, click the Chat icon on the far right of the entry to enter the CHAT function and play the video"},"attribs":{"0":"*0+4a"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"2","locked":false,"hidden":false,"parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","align":"left"}},"CI4Nd0qRNozzzVx5y1rcNUftnZb":{"id":"CI4Nd0qRNozzzVx5y1rcNUftnZb","snapshot":{"type":"ordered","children":[],"comments":[],"revisions":[],"author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"You can enter a question in the chat box and click Ask to obtain the results of VLM "},"attribs":{"0":"*0+2c"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"level":1,"folded":false,"seq":"3","align":"left","parent_id":"Bhc4d4CUqooIJrxZZadcpeVzn41","hidden":false,"locked":false}},"Bhc4d4CUqooIJrxZZadcpeVzn41":{"id":"Bhc4d4CUqooIJrxZZadcpeVzn41","snapshot":{"doc_info":{"editors":["7621476109154127049"],"options":["editors","edit_time"],"deleted_editors":[],"option_modified":null},"type":"page","parent_id":"","author":"7621476109154127049","text":{"initialAttributedTexts":{"text":{"0":"Full Tutorial Copy of Jetson Thor Deploying VSS (Video Search and Summarization)"},"attribs":{"0":"*0+28"}},"apool":{"numToAttrib":{"0":["author","7621476109154127049"]},"nextNum":1}},"align":"","comments":[],"revisions":[],"locked":false,"hidden":false,"children":["WtzMd5jKzoJ1akx5e71cL79jnkS","BfUldkLDKoMnyvxTQBDc7VL0n5g","Vy7tdV92poqasfxWd4nckWr9nYb","W7Eddfl94o5BltxsNjicuBbUnig","Sx1ndsHPGoKGG4xU2Jqce7Dvn4b","GVyKd4eCRoxZr7xC5VZcE3Htnne","ELQld1kYBosKqtxTKeOc2x80npp","RAkAd2gYtobw8KxCYnmcaPPbngg","GD2KdrZKDotA2bxEXaFc0nhMnvb","ExiBdoUaGoma98xWxf3c1rZSnme","SmQNdTvqGoBxHHxDw8ucopj9n0f","WXP4dIuC6oUXxBxB5rhcpgDDn2b","BT3WduEwToB8zBxxMlocFoAmnSd","Aym2dHcgCodCskx0lEccVnrMn9b","MEo7dm5HEox5h8xKSgtcQT6vnsb","OziOdxGZuoJCe3xwUKBcEoLNnTf","M5JzdTOc7og8fsxo0RHcbgLKnQd","XDJEdX2L3oqSHpx1Zo9ctyqondg","PYlPdTxg2okRFEx501mcVubonvp","QtJrd81QuoffOYx1D5ec6uUtnnd","UDagd5Giqokwmfx1Izrck5Y6npd","OUkhd1Na4oE6y4xN8yTcHUQMnwg","OsIMdf8jso9MDMxyKXRcLMXmnub","IRrFdal5OopuwtxVeogcoASFnzc","Ga1mdKEjQoAwZXxQlxFcOjdAnvc","Rwuodbl9ioLBQcx3gwNcAwU9n2e","IFeSd2i15oRLTDx3Uczc1QNSnJg","OYiPd40jSo70DVxw9KKcSFRRnWf","NtindXdOnobQB0xls7HclScFn9g","P22AdojinoYvBxxM6L8ces8Vn4d","ACqNdTekHoylsRxka24ccWQanDh","HXlkdWsIdoLEt8xtbZGcx5SjnNg","HniOdbOvWoBqfzxcjfVcYqGWnGh","FtypdOaJZoqc7FxR6fXc7fLfnbp","BSWrd0AQ2ofdfrxiMUzcXC1snyh","YWXAdHlPhoqkRZxaIaEcnEN9nkc","TxicdaNPpoSFuwxsomscx31Jnhc","XTkxdjy0WoxvCvxDIbJcyXYgnJc","TduGd7wRvoTsFlxn59DcLqDNnMf","TgWAdNPjooJzg2xuZIicp6J4nXe","QznQdmDLPoioKyxppXZcwn6xnMf","WFWKdalweoAv5gxQx7icXK4vnTf","RLDIdWgsxosqcixVyTFcqV4unme","MabydGQUUoxcxDxWZONcGpqEnye","SvtadfPGWo6hY7xtYUMcTHYrnGb","OjmRdh588o2IIBx0Q3wcQJZCnMb","OcWfdZMjrodRH5xnozocyN9RnHf","CI4Nd0qRNozzzVx5y1rcNUftnZb"]}}},"payloadMap":{"BfUldkLDKoMnyvxTQBDc7VL0n5g":{"level":1},"Vy7tdV92poqasfxWd4nckWr9nYb":{"level":1},"MNzsdbPguoUtrzxgvlLcGreOn9g":{"level":1},"R7vqdpQEQoGBMVxr9pscjrLjneg":{"level":1},"TF8Qd342BoPPPhxHFqXcRm9Inub":{"level":1},"OTxtdUM6doooO0xZl9NcWWqcndf":{"level":1},"GVyKd4eCRoxZr7xC5VZcE3Htnne":{"level":1},"RAkAd2gYtobw8KxCYnmcaPPbngg":{"level":1},"ExiBdoUaGoma98xWxf3c1rZSnme":{"level":1},"OziOdxGZuoJCe3xwUKBcEoLNnTf":{"level":1},"UDagd5Giqokwmfx1Izrck5Y6npd":{"level":1},"LyqxdJBcmoWxHSxYEp9crnC4n8c":{"level":2},"DH6RdS3dpoMZY2xghETc3Kuwnkb":{"level":1},"IHOHd3yePo2JlMx4CRVc1TTbnqd":{"level":1},"McrLdOEPjocVrIxKWhDcIjYpnHc":{"level":1},"K9y1dGTOMoxYpZxgzqWcob4znwh":{"level":2},"E1Zed2WUgoMQJix7xhoc3J6BnUd":{"level":1},"OYiPd40jSo70DVxw9KKcSFRRnWf":{"level":1},"NtindXdOnobQB0xls7HclScFn9g":{"level":1},"P22AdojinoYvBxxM6L8ces8Vn4d":{"level":1},"HXlkdWsIdoLEt8xtbZGcx5SjnNg":{"level":1},"Ex5Wd36T9oJGbcx3rlCcWqf2nfd":{"level":2},"B7LNdOsGWo07TOx2lQGcxHArnLg":{"level":1},"TxicdaNPpoSFuwxsomscx31Jnhc":{"level":1},"TduGd7wRvoTsFlxn59DcLqDNnMf":{"level":1},"MabydGQUUoxcxDxWZONcGpqEnye":{"level":1}},"extra":{"channel":"saas","pasteRandomId":"7e002680-ebe2-4990-a958-2df227ef0c44","mention_page_title":{},"external_mention_url":{},"isEqualBlockSelection":true},"isKeepQuoteContainer":false,"selection":[{"id":478,"type":"text","selection":{"start":0,"end":11},"recordId":"WtzMd5jKzoJ1akx5e71cL79jnkS"},{"id":479,"type":"text","selection":{"start":0,"end":0},"recordId":"BfUldkLDKoMnyvxTQBDc7VL0n5g"},{"id":480,"type":"text","selection":{"start":0,"end":15},"recordId":"Vy7tdV92poqasfxWd4nckWr9nYb"},{"id":481,"type":"block","recordId":"W7Eddfl94o5BltxsNjicuBbUnig"},{"id":490,"type":"text","selection":{"start":0,"end":15},"recordId":"Sx1ndsHPGoKGG4xU2Jqce7Dvn4b"},{"id":491,"type":"text","selection":{"start":0,"end":0},"recordId":"GVyKd4eCRoxZr7xC5VZcE3Htnne"},{"id":492,"type":"block","recordId":"ELQld1kYBosKqtxTKeOc2x80npp"},{"id":493,"type":"text","selection":{"start":0,"end":0},"recordId":"RAkAd2gYtobw8KxCYnmcaPPbngg"},{"id":494,"type":"text","selection":{"start":0,"end":19},"recordId":"GD2KdrZKDotA2bxEXaFc0nhMnvb"},{"id":495,"type":"text","selection":{"start":0,"end":0},"recordId":"ExiBdoUaGoma98xWxf3c1rZSnme"},{"id":496,"type":"text","selection":{"start":0,"end":61},"recordId":"SmQNdTvqGoBxHHxDw8ucopj9n0f"},{"id":497,"type":"text","selection":{"start":0,"end":90},"recordId":"WXP4dIuC6oUXxBxB5rhcpgDDn2b"},{"id":498,"type":"text","selection":{"start":0,"end":75},"recordId":"BT3WduEwToB8zBxxMlocFoAmnSd"},{"id":499,"type":"text","selection":{"start":0,"end":47},"recordId":"Aym2dHcgCodCskx0lEccVnrMn9b"},{"id":500,"type":"text","selection":{"start":0,"end":26},"recordId":"MEo7dm5HEox5h8xKSgtcQT6vnsb"},{"id":501,"type":"text","selection":{"start":0,"end":0},"recordId":"OziOdxGZuoJCe3xwUKBcEoLNnTf"},{"id":502,"type":"text","selection":{"start":0,"end":104},"recordId":"M5JzdTOc7og8fsxo0RHcbgLKnQd"},{"id":503,"type":"text","selection":{"start":0,"end":67},"recordId":"XDJEdX2L3oqSHpx1Zo9ctyqondg"},{"id":504,"type":"text","selection":{"start":0,"end":168},"recordId":"PYlPdTxg2okRFEx501mcVubonvp"},{"id":505,"type":"text","selection":{"start":0,"end":28},"recordId":"QtJrd81QuoffOYx1D5ec6uUtnnd"},{"id":506,"type":"text","selection":{"start":0,"end":0},"recordId":"UDagd5Giqokwmfx1Izrck5Y6npd"},{"id":507,"type":"text","selection":{"start":0,"end":39},"recordId":"OUkhd1Na4oE6y4xN8yTcHUQMnwg"},{"id":508,"type":"block","recordId":"FyNhdfXXYoiEMUxnoOJceq0Xngf"},{"id":509,"type":"text","selection":{"start":0,"end":49},"recordId":"OsIMdf8jso9MDMxyKXRcLMXmnub"},{"id":510,"type":"block","recordId":"AqrZd0kHIo3oIHxUhTFcu5ARnzh"},{"id":511,"type":"text","selection":{"start":0,"end":50},"recordId":"IRrFdal5OopuwtxVeogcoASFnzc"},{"id":512,"type":"block","recordId":"G91RdS4Vyot2DBx2CpocUxf8nQf"},{"id":513,"type":"text","selection":{"start":0,"end":28},"recordId":"LyqxdJBcmoWxHSxYEp9crnC4n8c"},{"id":514,"type":"block","recordId":"DeNNd7Cdiobj0bxflZKcZe0an6f"},{"id":515,"type":"text","selection":{"start":0,"end":22},"recordId":"Ga1mdKEjQoAwZXxQlxFcOjdAnvc"},{"id":516,"type":"block","recordId":"S6szdz4UzoDGOgxVmtlc22ASnqg"},{"id":517,"type":"block","recordId":"Zt26dEeOLovjTNx0445cIWoCnad"},{"id":521,"type":"text","selection":{"start":0,"end":0},"recordId":"K9y1dGTOMoxYpZxgzqWcob4znwh"},{"id":522,"type":"text","selection":{"start":0,"end":24},"recordId":"Rwuodbl9ioLBQcx3gwNcAwU9n2e"},{"id":523,"type":"block","recordId":"XopbdXvRKow7bKxCPrmcF4qrnyh"},{"id":524,"type":"block","recordId":"IFeSd2i15oRLTDx3Uczc1QNSnJg"},{"id":527,"type":"text","selection":{"start":0,"end":0},"recordId":"OYiPd40jSo70DVxw9KKcSFRRnWf"},{"id":528,"type":"text","selection":{"start":0,"end":0},"recordId":"NtindXdOnobQB0xls7HclScFn9g"},{"id":529,"type":"text","selection":{"start":0,"end":0},"recordId":"P22AdojinoYvBxxM6L8ces8Vn4d"},{"id":530,"type":"text","selection":{"start":0,"end":27},"recordId":"ACqNdTekHoylsRxka24ccWQanDh"},{"id":531,"type":"text","selection":{"start":0,"end":0},"recordId":"HXlkdWsIdoLEt8xtbZGcx5SjnNg"},{"id":532,"type":"text","selection":{"start":0,"end":38},"recordId":"HniOdbOvWoBqfzxcjfVcYqGWnGh"},{"id":533,"type":"block","recordId":"EhK4dkH01oDDdYxtwxncGQoknFe"},{"id":534,"type":"text","selection":{"start":0,"end":50},"recordId":"FtypdOaJZoqc7FxR6fXc7fLfnbp"},{"id":535,"type":"block","recordId":"GfJadaifJorwBIxHYdMc9vFUn9d"},{"id":536,"type":"text","selection":{"start":0,"end":28},"recordId":"Ex5Wd36T9oJGbcx3rlCcWqf2nfd"},{"id":537,"type":"block","recordId":"SG2mdmWwKoOyk3xxKiic3JpunGf"},{"id":538,"type":"text","selection":{"start":0,"end":21},"recordId":"BSWrd0AQ2ofdfrxiMUzcXC1snyh"},{"id":539,"type":"block","recordId":"Vt1zdvEVwo6fhDxsm9qcJit5nig"},{"id":540,"type":"block","recordId":"EkJsd3Yj2ozLjsxJSk4cIFZknxc"},{"id":542,"type":"text","selection":{"start":0,"end":26},"recordId":"YWXAdHlPhoqkRZxaIaEcnEN9nkc"},{"id":543,"type":"block","recordId":"DqpedBnhqoqAD9xFwUucHiVAnHf"},{"id":544,"type":"text","selection":{"start":0,"end":0},"recordId":"TxicdaNPpoSFuwxsomscx31Jnhc"},{"id":545,"type":"text","selection":{"start":0,"end":22},"recordId":"XTkxdjy0WoxvCvxDIbJcyXYgnJc"},{"id":546,"type":"text","selection":{"start":0,"end":0},"recordId":"TduGd7wRvoTsFlxn59DcLqDNnMf"},{"id":547,"type":"text","selection":{"start":0,"end":25},"recordId":"TgWAdNPjooJzg2xuZIicp6J4nXe"},{"id":548,"type":"text","selection":{"start":0,"end":97},"recordId":"QznQdmDLPoioKyxppXZcwn6xnMf"},{"id":549,"type":"text","selection":{"start":0,"end":82},"recordId":"WFWKdalweoAv5gxQx7icXK4vnTf"},{"id":550,"type":"text","selection":{"start":0,"end":50},"recordId":"RLDIdWgsxosqcixVyTFcqV4unme"},{"id":551,"type":"text","selection":{"start":0,"end":0},"recordId":"MabydGQUUoxcxDxWZONcGpqEnye"},{"id":552,"type":"text","selection":{"start":0,"end":18},"recordId":"SvtadfPGWo6hY7xtYUMcTHYrnGb"},{"id":553,"type":"text","selection":{"start":0,"end":76},"recordId":"OjmRdh588o2IIBx0Q3wcQJZCnMb"},{"id":554,"type":"text","selection":{"start":0,"end":154},"recordId":"OcWfdZMjrodRH5xnozocyN9RnHf"},{"id":555,"type":"text","selection":{"start":0,"end":84},"recordId":"CI4Nd0qRNozzzVx5y1rcNUftnZb"}],"pasteFlag":"137ef727-5911-4a96-a846-2794276b1ef6"}" data-lark-record-format="docx/record" class="lark-record-clipboard">
Anterior
The Role of A206 Carrier Boards in Edge Computing Solutions
Leer más