为您的照片提供本地 AI 视觉:使用 Llama Vision 和 ChromaDB 构建 AI 图像标记器

news2025/4/24 2:11:37

有没有花 20 分钟浏览您的文件夹以找到心中的特定图像或屏幕截图?您并不孤单。

作为工作中的产品经理,我总是淹没在竞争对手产品的屏幕截图、UI 灵感以及白板会议或草图的照片的海洋中。在我的个人生活中,我总是捕捉我在生活中遇到的事物,比如我的晚餐、我可爱的猫,或者秋天随机的美丽树叶。我太了解这种挣扎了。有时很难找到一张你知道自己保存在某个地方的特定图像。

随着开源视觉语言模型 Llama 3.2 Vision 的发布,我想出了一个解决这个问题的方法:一个在本地运行的 AI 工具,它可以自动描述和标记图像,以便于语义搜索,同时保持照片和标签完全在本地(并且 API 费用为零)

在本文中,我将介绍如何构建 AI 图像标记器/管理器,包括设置和运行本地视觉语言模型矢量数据库以进行语义搜索。无论您是对运行本地视觉语言模型感到好奇的 AI 爱好者,还是只是厌倦了在图像文件夹中痛苦搜索的人,这对您来说都是一个有趣且有用的项目。让我们开始吧!

(此项目在 https://github.com/Troyanovsky/llama-vision-image-tagger 上开源。随意克隆并试用!

查看实际作

前端对于管理图像集合相对简单。它使用 Vue3 构建以实现交互性,并使用 TailwindCSS 构建用于样式。它通过 FastAPI 服务器与后端通信,该服务器在视觉模型、矢量数据库和文件系统之间进行协调。让我们看看它是如何工作的。

文件夹中未标记的图像将用橙色轮廓标记。

当它启动时,它会要求您提供一个包含您的图像的文件夹。只需复制并粘贴文件夹路径,它就会开始扫描文件夹和子文件夹中的图像。第一次打开文件夹时,它还会初始化一个 vector database 来存储数据,这可能需要一段时间。

Llama3.2 Vision 会自动从图像中生成描述、标签和文本 OCR。

加载图像后,您可以单击单个图像以开始标记。它将向本地后端服务器发送请求并为映像生成标签。如果您对结果不满意,还可以手动编辑结果。所有生成/编辑的标签都将同步到矢量数据库

对于批处理,您只需按此 全部处理 按钮,它将发送所有图像进行处理。速度取决于您的计算机。如果您的 GPU 具有足够的 VRAM 来运行模型,则比在具有 RAM 的 CPU 上运行要快得多。已处理的图像将具有绿色轮廓,而尚未处理的图像将以橙色显示。

您可以使用模糊的搜索词进行搜索以进行语义匹配。

处理和标记图像后,您只需在搜索栏中键入要搜索的内容即可。它将执行包含全文搜索和向量相似性搜索的混合搜索。在这里,我们可以搜索带有模糊描述“man doing winter sport”的单板滑雪图片。

了解堆栈

在这个项目中,我们使用了 Llama 3.2 Vision、Ollama 和 ChromaDB。对于那些还不熟悉它们的人,让我快速概述一下。

Llama 3.2 Vision 是 Meta 几个月前于 2024 年 9 月发布的视觉语言模型 (VLM)。它有两种不同的尺寸,11B 和 90B。11B 版本可以在消费级计算机上本地运行。作为 VLM,它不仅可以像大型语言模型 (LLM) 一样理解文本,还可以理解上下文中的图像。它可以描述场景,理解对象之间的关系,并根据您的指示根据图像生成文本。在这个模型的帮助下,我们可以生成丰富的语义标签,而不仅仅是简单的对象检测。

Ollama 是一个开源项目,它使我们能够在本地计算机上轻松运行语言模型。它可在 Windows、MacOS 和 Linux 上使用,并支持几乎所有 GGUF 格式的本地语言模型,这使其成为在您自己的计算机上运行本地模型的最方便的选择。它还提供 Python 和 JavaScript 中的绑定,以便您可以在代码中以编程方式调用模型。更棒的是,它最近增加了对生成结构化输出(如 JSON)的支持,从而可以更轻松地处理文本生成。

(如果您对运行本地 LLM 感兴趣,可以阅读本文或访问此 GitHub 存储库,其中提供了有关如何运行本地 LLM 的资源,并为许多 LLM 提供了易于尝试的 Web UI。

至于我们的语义搜索,我们将使用 ChromaDB。这是一个开源矢量数据库,允许您保存文本嵌入数据,并使用自然语言以闪电般的速度查询它们。例如,您可以使用 “water sport”、“aquatics” 或 “snorkeling” ,而不必使用 “swimming” 等确切的关键字进行搜索。像 ChromaDB 这样的向量数据库通过将我们的图像描述转换为捕获语义含义并计算嵌入之间的相似性的高维向量来实现这一点。

现在您已经了解了此项目的组件,在下一节中,我们将深入探讨这些组件如何协同工作以创建我们的图像标记和搜索系统。

深入研究代码

让我们分解一下这些组件如何协同工作来创建我们的图像管理系统。由于在浏览器中访问文件系统的限制,我将应用程序分为前端和后端。前端用于查看和管理图片,后端主要包含两个流水线:图片标注流水线和图片查询流水线。

使用 Ollama 和 Llama3.2 Vision 的图像标记管道

选择文件夹后,我们将在该文件夹中扫描该文件夹中的所有图像。然后用户可以选择一个图像进行标记或标记所有图像。它本质上是具有结构化输出的简单提示工程。让我们引导您了解如何在您自己的本地计算机上使用 Ollama 运行 Llama 3.2 Vision 模型。

首先,您需要在您的机器上安装 Ollama。感谢出色的 Ollama 团队,他们为 Windows、MacOS 和 Linux 提供轻松下载 (https://ollama.com/download)。只需下载并安装可执行文件,您就可以使用 Ollama 命令行。然后,您可以使用以下命令下载 Llama3.2 Vision:

OLLAMA Run LLAMA3.2-vision
 如果你有一台非常强大的机器,你可以使用 OLLAMA Run LLAMA3.2-vision:90B 来获得更大的版本

拉取模型后,您可以通过命令行或 Python 库使用它。在我们的项目中,我们将使用 ollama-python 库,您可以使用以下方法安装该库:

pip install ollama

安装后,我们可以使用 Python 与模型进行交互。Ollama 最近增加了对结构化输出 (JSON) 的支持,因此我们可以使用 Pydantic 定义一个 JSON 模式,以传递给模型以进行类型安全和验证。

import ollama
from pydantic import BaseModel
from pathlib import 路径
from typing import List, Dict

class ImageTags(BaseModel):
 tags: List[str]

def process_image(image_path: Path) -> Dict:
 try:
 # 如果不存在,请确保图像路径存在
   image_path exists():
 raise FileNotFoundError(f“Image not found: {image_path}”)

 # 将图像路径转换为 Ollama
 的字符串 image_path_str = str(image_path)

 # 获取标签
 tags_response = get_tags(image_path_str)
 
 return {
 “tags”: tags_response.tags
 }

 except Exception as e:
 raise

def get_tags(image_path: str) -> ImageTags:
 “”“获取图像的结构化标签。
 response = query_ollama(
 “列出此图像的 5-10 个相关标签。包括两个对象、艺术风格、图像类型、颜色等“,
image_path,ImageTags.model_json_schema
()
 )
 返回 ImageTags.model_validate_json(响应)

在这里,我只展示了get_tags函数来获取标签列表,但也可以添加其他数据,如描述、图像中的对象、图像上的 OCR 文本等。您只需为每个提示编写不同的提示,然后调用 Ollama,类似于调用 OpenAI 的 API 的方式。

def query_ollama(prompt: str, image_path: str, format_schema: dict) -> str:
 “”“向 Ollama 发送带有结构化输出图像的查询。
 try:
 response = ollama.chat(
 model='llama3.2-vision',
 messages=[{
 '角色': '用户',
 '内容': 提示符,
 'images': [image_path],
 'options': {
 'num_gpu': 41
 }
 }],
 format=format_schema
 )
 return response['message']['content']
 except Exception as e:
 raise

通过类似的设置,您可以在自己的计算机上使用 Ollama 轻松运行其他 LLM 或视觉语言模型。您可以在 Ollama 模型库 (library) 中找到可用模型的列表。

具有向量数据库的语义查询管道

标记所有图像后,我们可以保存它以便于查询。对于全文搜索,我们可以简单地将数据保存到 JSON 或关系数据库。但是,如果只有全文搜索,仍然很难找到相关的图像——有时您可能只是对您想要的图像有一个模糊的概念,而不是确切的标签,例如,您可能记得您有一张吃一顿丰盛晚餐的照片,但您不记得确切的菜肴。因此,我们将标签和描述保存到向量数据库中,并通过可以捕获语义含义的嵌入的相似性搜索来检索它们。

ChromaDB 易于设置,您可以完全离线运行。我们的向量存储实现的核心是 VectorStore 类。它处理与 ChromaDB 的所有交互,包括添加新图像、更新现有图像和执行语义搜索。

设置数据并将其保存到 ChromaDB 非常简单:

def add_or_update_image(self, image_path: str, metadata: Dict) -> None:
 # 合并所有文本字段进行嵌入
 text_to_embed = f“{metadata.get('description', '')} {' '.join(metadata.get('tags', []))} {metadata.get('text_content', '')}”
 
 # 准备元数据字典 - ChromaDB 需要字符串值
 meta_dict = {
 “description”: metadata.get(“description”, “”),
 “tags”: “,”.join(metadata.get(“tags”, [])),
 “text_content”: metadata.get(“text_content”, “”),
 “is_processed”: str(metadata.get(“is_processed“, False))
 }
 
 # 检查文档是否存在并相应地更新或添加
 results = self.collection.get(ids=[image_path])
 if results and results['ids']:
 self.collection.update(
 ids=[image_path],
 documents=[text_to_embed],
 metadatas=[meta_dict]
 )
 否则:
 self.collection.add(
 ids=[image_path],
 documents=[text_to_embed],
 metadatas=[meta_dict]
        )

在这个函数中,我们做了一些重要的事情:

  1. 将所有文本字段(描述、标记、文本内容)合并为一个字符串以进行嵌入
  2. 将元数据转换为 ChromaDB 可以存储的格式(所有值都必须是字符串)
  3. 如果不在数据库中,则添加图像数据,如果图像数据已存在,则更新图像数据

现在我们已经存储了数据,让我们看看我们如何搜索它。ChromaDB 提供了简单的方法来查询数据库:

def search_images(self, query: str, limit: int = 5) -> List[str]:
 results = self.collection.query(
 query_texts=[query],
 n_results=limit,
 include=['documents', 'metadatas', 'distances']
 )
 
 filtered_results = []
 for image_id, distance in zip(results['ids'][0], results['distances'][0]):
 如果距离< 1.1: # 仅包含高置信度匹配项
 filtered_results.append(image_id)
 
 return filtered_results[:limit]

ChromaDB 在后台使用相同的嵌入模型将您的搜索查询和存储的图像描述转换为高维向量。然后,它会根据相似性查找最接近的匹配项。这意味着搜索“beach vacation”可能会匹配带有“tropical paradise”或“seaside resort”标签的图片,即使您的查询中没有这些确切的字词。我还添加了对最大距离的检查,以便过滤掉不真正相关的结果。

通过结合全文搜索和矢量搜索的混合搜索方法,如果我们对全文搜索有把握,我们可以确保准确找到我们想要的内容,并在不太确定时找到相关图像。

这是后端的两个主要组件,用于处理图像标记和语义查询。通过了解它们的工作原理,您还将学习如何使用 Ollama 在本地计算机上运行多模态视觉语言模型(或任何 LLM),以及如何设置向量数据库并使用 ChromaDB 等向量数据库对文本进行语义查询。这些对于许多其他基于 LLM 的本地项目非常有用。

一些进一步的改进

当前版本只是初始版本,非常适合我个人用于查找屏幕截图和个人照片。有很多方法可以改进它:

  1. 图像相似性搜索:用户不仅可以按文本搜索,还可以选择图像并找到视觉上相似的图像。但遗憾的是,Ollama 目前不支持多模态嵌入。我们可以使用其他嵌入模型(如 CLIP)并将嵌入保存到 ChromaDB。
  2. 可自定义的标记:目前,标记提示在代码中是硬编码的,但我们可以允许更灵活的方法来定义提示,以便不同的用户可以拥有符合他们需求的不同标签。例如,UI 设计人员可能希望专门标记界面元素,而摄影师可能更关心构图和光照。
  3. 更强大的视觉模型:我发现较小的 11B 版本的 llama 3.2 视觉有时会误解图像。幸运的是,模型公司不断推出新的开源模型,例如 Qwen 最近发布的 QvQ 模型。我们可以允许交换视觉模型,以便对图像进行更准确和详细的标记。
  4. 允许 Vision Model API。对于那些不太关心将图像发送到模型提供商的人,我们可以允许他们使用视觉语言模型的 API,以便更快地进行标记过程(Gemini、Qwen、OpenAI 等)。

结论:释放局部视觉模型的潜力

这个项目最让我兴奋的不仅仅是为自己解决了图像搜索问题,还在于开源多模态 AI 模型的可访问性。就像本地大型语言模型允许我们创建完全在本地机器上运行的基于文本的有趣应用程序一样,视觉语言模型开辟了更多的可能性。

这只是本地视觉语言模型可能性的一个示例。相同的基本组件:使用 Ollama + 向量数据库运行本地模型可以适应更多用例。

如果你一直对构建 AI 驱动的应用程序感到好奇,但担心复杂性、隐私或 API 成本,我希望这个项目向你展示它比你想象的要平易近人得多。请随意提取代码来试用它,或者更好的是,为这个项目做出贡献。您还可以对其进行修改,让它成为您自己项目的起点。

命令备注

Uvicorn 使用方法

bash

pip install uvicorn

在开始之前,你需要确保你的开发环境中安装了 Python 3.7 或更高版本。你还需要安装 FastAPI 和 Uvicorn。可以通过以下命令安装:

bash

pip install fastapi uvicorn

安装ChromaDB


要安装ChromaDB,你需要先安装Python 3.6或更高版本,然后用pip命令安装chromadb包:

pip install chromadb

ChromaDB python 使用教程及记录 - 知乎

mark bei

小编实测  基本上是英文 对中文不友好

这是AI自己加的tag 

{
    "Snipaste_2025-04-18_09-12-26.png": {
        "description": "This is a photograph of a solid gray British Shorthair cat with yellow eyes standing on a beige floor and facing the camera.",
        "tags": [
            "cute cat",
            "photography",
            "pet photography",
            "cat portrait",
            "cat eyes",
            "whiskers",
            "furry coat"
        ],
        "text_content": "",
        "is_processed": true
    },
    "Snipaste_2025-04-18_09-12-40.png": {
        "description": "The image shows a close-up of the head and upper body of what appears to be a British Shorthair cat lying down on a white fur blanket. The cat has orange eyes, a gray face with white markings around its nose and mouth, and a white body.",
        "tags": [
            "cat",
            "animal",
            "fur",
            "white",
            "gray",
            "close-up",
            "portrait",
            "pet",
            "feline",
            "photography",
            "indoor",
            "studio",
            "lighting"
        ],
        "text_content": "",
        "is_processed": true
    },
    "Snipaste_2025-04-18_09-12-50.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-13-06.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-13-13.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-13-21.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-13-34.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-13-40.png": {
        "description": "The image depicts a partially sliced cucumber on a light-colored cutting board. A basket of additional cucumbers sits above it to the left, while a partial view of another cucumber is visible behind the cutting board.",
        "tags": [
            "food",
            "cucumber",
            "cutting board",
            "kitchen",
            "photography",
            "still life",
            "vegetable",
            "slicing",
            "raw food",
            "healthy eating",
            "cooking",
            "ingredients"
        ],
        "text_content": "",
        "is_processed": true
    },
    "Snipaste_2025-04-18_09-13-55.png": {
        "description": "The photo is a low-resolution image of a sandy beach and body of water, with white clouds on the horizon.",
        "tags": [
            "beach",
            "ocean",
            "clouds",
            "sky",
            "water",
            "sand",
            "people",
            "blue"
        ],
        "text_content": "",
        "is_processed": true
    },
    "Snipaste_2025-04-18_09-14-01.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-18-34.png": {
        "description": "",
        "tags": [],
        "text_content": "",
        "is_processed": false
    },
    "Snipaste_2025-04-18_09-19-01.png": {
        "description": "\u4e00\u7fa4\u548c\u5c1a",
        "tags": [],
        "text_content": "\u4e00\u7fa4\u548c\u5c1a",
        "is_processed": true
    }
}

缺点 识别处理的很慢 很容易卡死有可能是慢 不能识别为中文的

不支持高版本的Python

------------

C# WPF 图像处理 使用

LabelSharp: 深度学习计算机视觉标注工具/PascalVOC/YOLO

 GPL-2.0

YOLO11 旋转目标检测 | OBB定向检测 | ONNX模型推理 | 旋转NMS_yolo11 obb-CSDN博客

yolo11n.onnx模型

YOLO(You Only Look Once)系列模型是目标检测领域的经典算法,由 Joseph Redmon 等人首次提出,后续经过多次迭代,目前官方最新版本为 YOLOv8(2023 年发布,由 Ultralytics 公司维护)。以下是 YOLO 系列的核心版本梳理及最新进展:

一、YOLO 系列核心版本回顾

1. YOLOv1(2016)
  • 特点:首次提出端到端单阶段目标检测框架,将目标检测视为回归问题,直接输出目标的位置和类别,速度极快(45 FPS),但精度较低,小目标检测效果差。
  • 缺点:定位误差大,召回率低,依赖手工特征提取。
2. YOLOv2(2017)
  • 改进:引入 锚框(Anchor Boxes)批归一化(Batch Normalization)高分辨率训练(HRNet),使用 Darknet-19 作为骨干网络,精度和速度均有提升(mAP 28.2,67 FPS)。
  • 创新:提出 K-means 锚框聚类 和 跨阶段特征融合(Feature Fusion)
3. YOLOv3(2018)
  • 核心升级:采用 多尺度检测(3 种尺度特征图),支持不同大小目标检测;使用 Darknet-53 骨干网络,结合残差连接(Residual Connections),平衡速度和精度(mAP 33,32 FPS)。
  • 优势:在保持实时性的同时,显著提升小目标检测能力。
4. YOLOv4(2020)
  • 优化:由 Alexey Bochkovskiy 团队开发,引入大量优化技巧,如 Mish 激活函数马赛克数据增强(Mosaic Augmentation)路径聚合网络(PAN) 等,精度大幅提升(mAP 43.5,65 FPS)。
  • 特点:更适合工业级应用,对 GPU 算力要求较高。
5. YOLOv5(2020 至今)
  • 商业化:Ultralytics 公司推出,非官方但广泛流行,基于 PyTorch 重构,代码更简洁灵活。
  • 特性:支持 模型缩放(N/S/M/L/X 不同尺寸),适应不同算力设备;引入 Focus 结构CSPNet(跨阶段局部网络),速度更快(YOLOv5s 在 COCO 上 26.2 mAP,140 FPS)。
  • 生态:支持数据增强、模型导出(ONNX/TensorRT)、自定义训练,社区活跃。
6. YOLOv8(2023)
  • 官方最新版本:Ultralytics 正式推出的首个官方 YOLO 版本(此前 v5 为非官方),支持 目标检测、实例分割、分类、姿态估计 四大任务。
  • 关键改进
    • 骨干网络:使用 YOLO-NAS(基于神经架构搜索) 改进的骨干,引入 深度聚合网络(Deep Aggregation Network, PAN++)
    • 损失函数:优化 CIoU Loss 和 分类损失,提升边界框回归精度。
    • 效率:比 v5 更快更强,YOLOv8n 在 COCO 上实现 50.1 mAP(640×640),推理速度 170 FPS(RTX 3090)。
    • 部署:支持多平台(CPU/GPU/Edge),导出格式丰富(ONNX/TensorRT/OpenVINO 等)。

三、YOLO 系列核心优势与应用场景

  1. 优势

    • 速度快:单阶段检测框架,适合实时应用(如视频监控、自动驾驶)。
    • 易用性:端到端训练,支持自定义数据集,部署流程成熟。
    • 多任务支持:v8 版本扩展到实例分割和姿态估计,适用场景更广泛。
  2. 典型应用

    • 安防领域:实时目标检测与跟踪。
    • 智能交通:车辆、行人检测与违章识别。
    • 工业质检:产品缺陷检测与分拣。
    • 无人机 / 机器人:环境感知与避障。

 

-----------

阿里云通用图像打标

通用图像打标常用语言和示例有哪些_视觉智能开放平台(VIAPI)-阿里云帮助中心

如何创建AccessKey_视觉智能开放平台(VIAPI)-阿里云帮助中心

TaggingImage_视觉智能开放平台-图像识别_API调试-阿里云OpenAPI开发者门户

通用图像打标常用语言和示例有哪些_视觉智能开放平台(VIAPI)-阿里云帮助中心

这个SKD 文档找了好久 丢如何下载安装、使用视觉智能开放平台C#SDK及代码示例_视觉智能开放平台(VIAPI)-阿里云帮助中心

代码和图像打标结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2341156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S节点出现Evicted状态“被驱逐”

在Kubernetes集群中&#xff0c;Pod状态为“被驱逐&#xff08;evicted&#xff09;”表示Pod无法在当前节点上继续运行&#xff0c;已被集群从节点上移除。 问题分析&#xff1a; 节点磁盘空间不足 &#xff0c;使用df -h查看磁盘使用情况 可以看到根目录 / 已100%满&#x…

重学React(一):描述UI

背景&#xff1a;React现在已经更新到19了&#xff0c;文档地址也做了全面的更新&#xff0c;上一次系统性的学习还是在16-17的大版本更新。所以&#xff0c;现在就开始重新学习吧&#xff5e; 学习内容&#xff1a; React官网教程&#xff1a;https://zh-hans.react.dev/lea…

遨游通讯发布国产化旗舰三防手机AORO AU1:以自主可控重塑工业安全

在全球产业链加速重构的背景下&#xff0c;国产化技术突破已成为工业领域高质量发展的核心驱动力。作为专精特新中小企业&#xff0c;遨游通讯始终以“让世界更安全、更高效、更简单”为使命&#xff0c;深耕“危、急、特”场景智能通信设备的研发。近日&#xff0c;遨游通讯正…

【Python】Selenium切换网页的标签页的写法(全!!!)

在使用selenium做网站爬取测试的时候&#xff0c;我们经常会遇到一些需要点击的元素&#xff0c;才能点击到我们想要进入的页面&#xff0c; 于是我们就要模拟 不断地 点点点击 鼠标的样子。 这个时候网页上就会有很多的标签页&#xff0c;你的浏览器网页标签栏 be like: 那…

DeepSeek和Excel结合生成动态图表

文章目录 一、前言二、3D柱状图案例2.1、pyecharts可视化官网2.2、Bar3d-Bar3d_puch_card2.3、Deepseek2.4、WPS2.5、动态调整数据 一、前言 最近在找一些比较炫酷的动态图表&#xff0c;用于日常汇报&#xff0c;于是找到了 DeepseekExcel王牌组合&#xff0c;其等同于动态图…

Ubuntu20.04 部署llama-factory问题集

llama3 微调教程之 llama factory 的 安装部署与模型微调过程&#xff0c;模型量化和gguf转换。_llamafactory 部署-CSDN博客 1.跟着教程 llama-factory下载不下来 来&#xff0c;试着换源&#xff0c;多试几次&#xff0c;就可以成功了。。。 2.跟着教程&#xff0c;发现无法…

大语言模型助力 Support Case 分析,提升云服务效率

1. 背景 技术工单&#xff08;Support Case&#xff09;是企业在进行云平台操作的时候通常会用到的一种技术支持类型&#xff0c;提供的技术支持通常包括所有的云服务的使用问题、账单问题、限制额度提升等等。对于云平台的管理者而言&#xff0c;对各个 BU 所提的工单进行统计…

ubuntu磁盘挂载

1、‌查看磁盘设备及分区‌ 命令‌&#xff1a;列出所有块设备&#xff08;磁盘及分区&#xff09; lsblk 0表示此块未挂载 2、格式化分区 sudo mkfs.ext4 /dev/sdb 注意sdb换成自己的块名称 3、创建挂载点目录‌ sudo mkdir -p /mnt/data4、永久挂载 sudo blkid /dev…

chili3d调试笔记8 打印零件属性 浏览器元素展开

无效&#xff0c; 返回的是节点不是坐标啥的&#xff0c; 找他的属性 把document和selectednote&#xff08;空集&#xff09;传给handleshowproperty方法 怎么获得selectnotes和selectnotes的property值 有selectnotes运行这段就行了 明天再搞 ----------------------------…

新书速览|DeepSeek移动端AI应用开发:基于Android与iOS

《DeepSeek移动端AI应用开发&#xff1a;基于Android与iOS》 1 本书内容 《DeepSeek移动端AI应用开发:基于Android与iOS》深入剖析了DeepSeek平台的架构原理、API调用及开发实践等核心内容&#xff0c;助力读者在Android与iOS移动端高效集成DeepSeek API&#xff0c;打造出契…

Android调用springboot接口上传大字段,偶现接口超时的优化

介绍 最近有个功能&#xff0c;Android通过okhttp上传实体类&#xff0c;实体类包含一个大字段&#xff0c;上传的字符串长度达到300k&#xff0c;偶现接口超时的情况&#xff0c;大概100次有5次&#xff0c;看日志发现数据并没有到达接口&#xff0c;可能在网络传输中就超时了…

react组件之间如何使用接收到的className(封装一个按钮案例)

带有hover渐变效果 一、父组件 import LineGradientBox from ../line-gradient-box; import styles from ./index.module.scss;<LineGradientBoxfontSize{20}className{styles.btn_height}textSign upwidth"100%"onClick{() > {navigate(/sign-up);}} /> …

JavaScript 数组常用方法解析

1. concat - 合并数组 语法&#xff1a; const newArray oldArray.concat(value1, value2, ..., arrayN); 作用&#xff1a; 将当前数组与其他数组或值合并&#xff0c;返回一个新数组&#xff0c;原数组不变。 测试案例&#xff1a; const arr1 [1, 2, 3]; const arr2…

09.传输层协议 ——— TCP协议

文章目录 TCP协议 谈谈可靠性TCP协议格式 序号与确认序号窗口大小六个标志位 确认应答机制&#xff08;ACK&#xff09;超时重传机制连接管理机制 三次握手四次挥手 流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP的应用层协议 TCP协…

数字化转型“变形记”:中钧科技经营帮如何让企业长出“智慧骨骼”

数字化转型就像给企业安装一个"智慧引擎"&#xff0c;而中钧科技的经营帮平台就是这台引擎的智能控制系统。让我们用"人体"来打个比方——当企业的数据、流程、决策像神经脉络般打通&#xff0c;才能真正实现灵活运转。下面就以经营帮的五大核心板块为例&a…

【问题解决】centos7已经不维护了,如何继续使用yum源?

背景 CentOS 7 已于2024年6月30日停止维护&#xff0c;在停止维护后我们之前配置的国内镜像源大多都是空目录了&#xff0c;即在线国内镜像源不可用,就像下边这样提示&#xff1a; [rootbogon yum.repos.d]# yum install vim 已加载插件&#xff1a;fastestmirror Loading mi…

Redis 接收连接

阅读本文前&#xff0c;建议先看&#xff1a;Redis 事件循环&#xff08;Event Loop&#xff09;。 Redis 6 支持接收 3 种连接&#xff0c;对应的接收处理器如下&#xff1a; TCP&#xff1a;acceptTcpHandler&#xff1b;TLS&#xff1a;acceptTLSHandler&#xff1b;Unix …

【计算机视觉】CV实战项目- Face-and-Emotion-Recognition 人脸情绪识别

Face-and-Emotion-Recognition 项目详细介绍 项目概述项目功能项目目录结构项目运行方式1. 环境准备2. 数据准备3. 模型训练4. 模型运行 常见问题及解决方法1. **安装依赖问题**2. **数据集问题**3. **模型训练问题**4. **模型运行问题** 项目实战建议项目参考文献 项目概述 F…

基于国产 FPGA+ 龙芯2K1000处理器+翼辉国产操作系统继电保护装置测试装备解决方案

0 引言 近年来&#xff0c;我国自主可控芯片在国家政策和政 府的支持下发展迅速&#xff0c;并在电力、军工、机械、 通信、电子、医疗等领域掀起了国产化替代之 风&#xff0c;但在芯片自主可控和国产化替代方面还有明 显的不足之处。 2022年我国集成电路进口量多 达 5 3…

如何批量为多个 Word 文档添加水印保护

在日常办公中&#xff0c;Word文档添加水印是一项重要的操作&#xff0c;特别是在需要保护文件内容的安全性和版权时。虽然Office自带了添加水印的功能&#xff0c;但当需要一次性给多个Word文档添加水印时&#xff0c;手动操作显得非常繁琐且低效。为了提高效率&#xff0c;可…