Elasticsearch 向量数据库,原生支持 Google Cloud Vertex AI 平台
作者:来自 Elastic Valerio Arvizzigno
Elasticsearch 将作为第一个第三方原生语义对齐引擎,支持 Google Cloud 的 Vertex AI 平台和 Google 的 Gemini 模型。这使得联合用户能够基于企业数据构建完全可定制的生成式 AI 体验,并借助 Elasticsearch 的顶级搜索 AI 能力提供支持。
Elastic 欣然宣布,Elasticsearch 向量数据库现已集成进 Google Cloud 的 Vertex AI 平台,作为原生支持的信息检索引擎。这项集成让用户能够结合 Google Gemini 模型的多模态能力,以及 Elasticsearch 所提供的先进 AI 驱动语义搜索与混合搜索能力。
开发者现在可以在一个统一的流程中构建 RAG 应用,将聊天体验基于私有数据进行语义对齐,方式灵活、低代码。无论你是为客户或内部员工构建 AI 智能体,还是在软件中集成 LLM 生成能力,Vertex AI 平台都能以极简配置将 Elasticsearch 的相关性能力触手可及。该集成使得 Gemini 模型在生产场景中的应用变得更加简单高效,加速从原型验证(PoC)到实际落地的全过程。
在本文中,我们将逐步演示如何将 Elasticsearch 与 Google Cloud 的 Vertex AI 平台集成,实现数据语义对齐,并构建完全可定制的生成式 AI 应用。让我们一起探索其中的奥秘。
Google Cloud 的 Vertex AI 与 Gemini 模型,结合 Elasticsearch 实现基于你数据的语义对齐
使用 Vertex AI 服务和工具来构建生成式 AI 应用的用户,现在可以通过全新的 “Grounding(语义对齐)” 选项,将私有数据自动引入对话交互中。Elasticsearch 现已成为该功能的一部分,并可通过以下两种方式使用:
-
Vertex AI LLM API:在生成阶段直接增强 Google 的 Gemini 模型(推荐方式);
-
Grounded Generation API:在 Vertex AI Agent Builder 生态中用于构建智能体体验。
通过此次集成,Elasticsearch —— 全球下载量与部署量最多的向量数据库 —— 将你的关键企业数据引入面向内部或客户的聊天系统中,这是生成式 AI 实际落地到业务流程中的关键。
上述 API 使开发者能够在代码中使用这项新的合作特性。然而,提示词设计(prompt engineering)和测试仍然是开发流程中不可或缺的一步,是产品开发前期探索的核心。为此,Elasticsearch 支持在 Vertex AI Studio 控制台工具中便捷评估,助力快速实验和迭代。
只需在 UI 中的 “Customize Grounding(自定义语义对齐)” 标签页内,配置 Elastic 端点及所需参数(如搜索的索引、检索的文档数量、搜索模板等),即可轻松启用。现在,你可以基于私有知识开始生成内容了!
准备就绪的生产级 GenAI 应用程序轻松构建
Elastic 和 Google Cloud 致力于提供面向开发者、全面且高效的体验。在 Vertex AI 上构建 GAI 应用时,借助 LLM API 和 Grounding Generation API 原生连接 Elastic,可以降低复杂性和开发负担,无需额外 API 和数据编排,只需一次统一调用即可实现数据落地。
我们来看一下它在两种场景中的具体应用方式。
第一个示例是通过 LLM API 执行的:
curl -X POST \-H "Authorization: Bearer $(gcloud auth print-access-token)" \-H "Content-Type: application/json" \https://us-central1-aiplatform.googleapis.com/v1beta1/projects/<PROJECT_ID>/locations/us-central1/publishers/google/models/gemini-2.0-flash-001:generateContent \-d '
{"contents": [{"role": "user","parts": [{"text": "What's my company car policy?"}]}],"tools": [{"retrieval": {"externalApi": {"api_spec": "ELASTIC_SEARCH","endpoint": "https://<my-elastic-cluster>.gcp.elastic-cloud.com:9243","apiAuth": {"apiKeyConfig": {"apiKeyString": "ApiKey <API_KEY>"}},"elasticSearchParams": {"index": "<my-index>","searchTemplate": "<my-search-template>"}}}}]
}
在上述示例中,通过 API 的检索字段向 Gemini 2.0 Flash 发出内容生成请求时,我们可以为该请求设置一个上下文检索引擎。将 api_spec
设置为 "ELASTIC_SEARCH"
,即可启用其他配置参数,例如 API Key、集群 endpoint(用于将请求路由到你的 Elastic 集群)、用于检索数据的索引,以及用于搜索逻辑的 Search 模板。
同样的结果也可以通过 Grounding Generation API 实现,只需设置 groundingSpec
参数即可:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-discoveryengine.googleapis.com/v1alpha/projects/<PROJECT_ID>/locations/global:generateGroundedContent -d '
{"contents": [{"role": "user","parts": [{"text": "What do I need to patch a hole in my drywall?"}]}],"groundingSpec": {"groundingSources": [{"elasticSource": {"endpoint": "https://<my-elastic-cluster>.gcp.elastic-cloud.com:9243","index": "<my-index>","searchTemplate": "<my-search-template","apiKey": "projects/<PROJECT_ID>/secrets/api-key/versions/latest"}}]}
}
'
无论使用哪种方式,响应都会返回在 Elasticsearch(及其相关数据源)中找到的最相关的私有文档,以支持你的查询。
不过,简单性不应被误解为无法个性化以满足你的具体需求和使用场景。正因如此,我们的设计允许你灵活地调整搜索配置,从而完美适配你的使用场景。
完全可定制的搜索尽在指尖:搜索模板
为了为你的搜索场景提供最大的定制化能力,我们与 Google Cloud 合作,在我们广为人知的 搜索模板 基础上构建了这一体验。Elasticsearch 的搜索模板是创建动态、可重用和易维护搜索查询的极佳工具。它们允许你预定义并重用查询结构,尤其适用于需要使用不同参数执行相似查询的情况,不仅节省开发时间,还能降低出错概率。模板中可以包含变量占位符,使查询具备动态性,能适应不同的搜索需求。
在使用 Vertex AI API 和 Elasticsearch 进行 grounding 时,你必须引用一个目标搜索模板(如前面的代码片段所示),搜索逻辑就在这个模板中实现,并由 Elasticsearch 执行。Elastic 的高级用户可以异步管理、配置和更新搜索策略,并根据特定的索引、模型和数据进行定制,而 Vertex AI 用户、Web 应用开发者或 AI 工程师只需要在 grounding API 中指定模板名称即可。
这种设计提供了完全的自定义能力,在 Google Cloud AI 环境中将 Elasticsearch 强大的检索能力交到你手中,同时为不同类型的开发者(即使对 Elastic 不熟悉)保证了模块化、透明度和易用性。
无论你需要 BM25 搜索、语义搜索,还是两者之间的混合方式(你已经了解 retrievers 了吗?可以在单次 Search API 调用中组合使用不同的检索技术),你都可以在搜索模板中定义自定义逻辑,而 Vertex AI 会自动利用它。
这也适用于你选择的 embedding 模型和 reranking 模型,无论是用来管理向量,还是排序结果。根据你的使用场景,你可以选择将模型部署在 Elastic 的 ML 节点上,通过 Inference API 使用第三方服务端点,或者在本地部署模型。这些都可以通过搜索模板实现,我们将在下一节中讲解其工作方式。
从参考模板开始,再构建你自己的模板
为了帮助你快速入门,我们提供了一组兼容的搜索模板示例,作为初始参考;你可以在此基础上进行修改并构建你自己的自定义模板:
-
使用 ELSER 模型的语义搜索(稀疏向量 + 分块)
-
使用 e5 多语言模型的语义搜索(稠密向量 + 分块)
-
使用 Vertex AI 文本嵌入模型的混合搜索
你可以在这个 GitHub 仓库中找到它们。
我们来看一个示例:使用 Google Cloud 的 Vertex AI API 在产品目录上创建 embeddings。首先,我们需要在 Elasticsearch 中创建如下所示的搜索模板:
PUT _scripts/google-template-knn
{"script": {"lang": "mustache","source": {"_source": {"excludes": [ "title_embedding", "description_embedding", "images" ]},"size": "{{num_hits}}","knn" : [{ "field": "description_embedding","k": 5,"num_candidates": 10,"query_vector_builder": {"text_embedding": {"model_id": "googlevertexai_embeddings_004","model_text": "{{query}}"}},"boost": 0.4},{"field": "title_embedding","k": 5,"num_candidates": 10,"query_vector_builder": {"text_embedding": {"model_id": "googlevertexai_embeddings_004","model_text": "{{query}}"}},"boost": 0.6}]} }
}
在这个示例中,我们将在一次搜索中对两个字段执行 KNN 搜索:title_embedding
(包含产品名称的向量字段)和 description_embedding
(包含其描述表示的字段)。
你可以使用 excludes
语法避免返回不必要的字段给 LLM,这些字段可能会对其处理造成干扰,从而影响最终答案的质量。在我们的示例中,我们排除了包含向量和图片 URL 的字段。
向量是在查询时通过提交的输入动态生成的,使用的是 Vertex AI embeddings API 的推理端点 googlevertexai_embeddings_004
,该端点之前已定义如下:
PUT /_inference/text_embedding/googlevertexai_embeddings_004
{"service": "googlevertexai","service_settings": {"service_account_json": "<your_service_account_key>","model_id": "text-embedding-004","location": "us-central1","project_id": "<your_gcp_project>"}
}
你可以在这里找到关于如何使用 Elastic 的 Inference API 的更多信息。
现在我们已经准备好测试我们的模板化搜索了:
GET product-catalog-with-embeddings/_search/template
{"id": "google-template-knn","params": {"query": "What do I need to patch a hole in my drywall?","index_name": "product-catalog-with-embeddings","num_hits": 3}
}
参数字段会替换我们在模板脚本中用双大括号设置的变量。目前,Vertex AI 的 LLM 和 Grounded Generation API 可以向 Elastic 发送以下输入变量:
-
“query” —— 用户要搜索的查询内容
-
“index_name” —— 要搜索的索引名称
-
“num_hits” —— 我们希望在最终输出中检索到的文档数量
以下是一个示例输出:
{"_index": "product-catalog-with-embeddings","_id": "9ZQCm5IBcrGI1ivqV-f_","_score": 0.4925191,"_ignored": ["description.keyword","images.keyword"],"_source": {"description": "DAP Eclipse Rapid Wall Repair Patch is a new, revolutionary product solution for repairing drywall damage. No more waiting for spackling to dry or messy sanding. DAP Eclipse allows you to patch drywall damage and paint immediately, allowing you to finish your project faster. This all-in-1, mess free solution not only provides a permanent, long-lasting repair but also superior impact resistance for areas that may see reoccurring impact, such as behind a door.","availability": "InStock","model_id": "googlevertexai_embeddings_004","title": "4 in. Eclipse Wall Repair Patch (2-Pack)","url": "https://www.myDIYwebsite.com/p/DAP-4-in-Eclipse-Wall-Repair-Patch-2-Pack-7079809164/317967195","price": 23.96,"product_id": 317967195,"currency": "USD","brand": "DAP"}
上述查询正是 Google Cloud 的 Vertex AI 在后台运行时会调用的 Elasticsearch 查询模板。Gemini 模型将使用这些返回的文档来支撑它的回答:当你问 “What do I need to patch my drywall?” 时,聊天代理不会给出笼统的建议,而是会推荐具体的产品!
端到端的 GenAI 体验:Elastic 携手 Google Cloud
Elastic 与 Google Cloud 合作,打造可用于生产环境的端到端 GenAI 体验和解决方案。正如我们刚才看到的,Elastic 是首个直接集成到 Vertex AI 平台 UI 和 SDK 中的独立软件供应商(ISV),通过我们强大的向量检索功能,实现与 Gemini 模型无缝集成的上下文提示和智能代理。此外,Elastic 还与 Vertex AI 以及 Google AI Studio 的 embedding、重排序和生成模型集成,在 Google Cloud 环境中即可完成向量的创建与排序,确保符合 Responsible AI 原则。
通过支持多模态方式,我们共同促进了适用于多种数据格式的应用构建。
你可以通过我们的 Playground 来调优、测试并导出你的 GenAI 搜索代码。
但这不仅仅是构建搜索应用:Elastic 利用 Gemini 模型增强 IT 运维,例如在 Elastic AI 助手、攻击发现和自动导入功能中,减少安全分析师和 SRE 在低价值任务上的日常疲劳,让他们可以专注于提升业务。Elastic 还支持对 Vertex AI 使用情况的全面监控,跟踪响应时间、令牌和资源等指标和日志,以确保最佳性能。通过这种方式,我们共同管理完整的 GenAI 生命周期,从数据摄取和嵌入生成到使用混合搜索进行关联,同时确保 GenAI 工具的强大可观察性和安全性,依托 LLM 驱动的操作。
探索更多并试用!
你有兴趣试试吗?该功能目前已在公共预览中提供!
如果你还没有,开始使用 Elastic Search AI 平台并探索我们的能力的最简单方法之一是通过你的免费 Elastic Cloud 试用,或通过 Google Cloud Marketplace 订阅。
本文中描述的任何功能或功能的发布及时间由 Elastic 完全自主决定。任何当前不可用的功能可能无法按时交付或根本不交付。Elastic、Elasticsearch 及相关商标是 Elasticsearch N.V. 在美国及其他国家的商标、徽标或注册商标。所有其他公司和产品名称是其各自所有者的商标、徽标或注册商标。
Elasticsearch 与行业领先的 Gen AI 工具和服务提供商有本地集成。查看我们的网络研讨会,了解如何超越 RAG 基础,或如何构建生产就绪应用 Elastic 向量数据库。
为了构建最适合你的用例的搜索解决方案,现在就开始免费云试用,或在本地机器上尝试 Elastic。
原文:Elasticsearch vector database for native grounding in Google Cloud’s Vertex AI Platform - Elasticsearch Labs
相关文章:
Elasticsearch 向量数据库,原生支持 Google Cloud Vertex AI 平台
作者:来自 Elastic Valerio Arvizzigno Elasticsearch 将作为第一个第三方原生语义对齐引擎,支持 Google Cloud 的 Vertex AI 平台和 Google 的 Gemini 模型。这使得联合用户能够基于企业数据构建完全可定制的生成式 AI 体验,并借助 Elastics…...
《算法笔记》3.1小节——入门模拟->简单模拟
1001 害死人不偿命的(3n1)猜想 #include <iostream> using namespace std;int main() {int n,count0;cin>>n;while(n!1){if(n%20) n/2;else n(3*n1)/2;count1;}std::cout <<count;return 0; }1032 挖掘机技术哪家强 #include <iostream> using namespa…...
每日一题(小白)暴力娱乐篇24
由题已知这是一个匹配题目,题目已经说了三阶幻方是给定的,经过镜像和旋转,镜像*2旋转*4; 总共八种方案,然后接收每次的数据去匹配(跳过0),如果匹配就输出匹配的数组,如果…...
C++:函数模板类模板
程序员Amin 🙈作者简介:练习时长两年半,全栈up主 🙉个人主页:程序员Amin 🙊 P S : 点赞是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全…...
第18章:基于Global Context Vision Transformers(GCTx_unet)网络实现的oct图像中的黄斑水肿和裂孔分割
1. 网络概述 GCTx-UNET是基于传统UNet架构的改进版本,主要引入了以下几个关键创新: GCT模块:全局上下文变换器(Global Context Transformer)模块 多尺度特征融合:增强的特征提取能力 改进的跳跃连接:优化编码器与解…...
深入理解 Spring 的 MethodParameter 类
MethodParameter 是 Spring 框架中一个非常重要的类,它封装了方法参数(或返回类型)的元数据信息。这个类在 Spring MVC、AOP、数据绑定等多个模块中都有广泛应用。 核心功能 MethodParameter 主要提供以下功能: 获取参数类型信息…...
Docker部署HivisionIDPhotos1分钟生成标准尺寸证件照实操指南
文章目录 前言1. 安装Docker2. 本地部署HivisionIDPhotos3. 简单使用介绍4. 公网远程访问制作照片4.1 内网穿透工具安装4.2 创建远程连接公网地址 5. 配置固定公网地址 前言 相信大部分人办驾照、护照或者工作证时都得跑去照相馆,不仅费时还担心个人信息泄露。好消…...
python多线程+异步编程让你的程序运行更快
多线程简介 多线程是Python中实现并发编程的重要方式之一,它允许程序在同一时间内执行多个任务。在某些环境中使用多线程可以加快我们代码的执行速度,例如我们通过爬虫获得了一个图片的url数组,但是如果我们一个一个存储很明显会非常缓慢&…...
HDCP(五)
HDCP 2.2 测试用例设计详解 基于HDCP 2.2 CTS v1.1规范及协议核心机制,以下从正常流程与异常场景两大方向拆解测试用例设计要点,覆盖认证、密钥管理、拓扑验证等关键环节: 1. 正常流程测试 1.1 单设备认证 • 测试目标:验证源设…...
datagrip如何连接数据库
datagrip连接数据库的步骤 2025版本 想要链接数据库是需要一个jar包的,所以将上面进行删除之后,需要下载一个jar包 那么这个时候需要链接上传一个mysql链接的jar包 选择核心驱动类 上述操作完成之后,然后点击apply再点击ok即可 如下图说明my…...
Spring Boot 自动配置与启动原理全解析
下面分两部分系统讲解: 第一部分:Spring Boot 自动配置原理(核心是自动装配) 一、Spring Boot 的自动配置是干嘛的? 传统 Spring 开发时,你要写一堆 XML 或配置类,非常麻烦。Spring Boot 引入…...
python 基础:句子缩写
n int(input()) for _ in range(n):words input().split()result ""for word in words:result word[0].upper()print(result)知识点讲解 input()函数 用于从标准输入(通常是键盘)读取用户输入的内容。它返回的是字符串类型。例如在代码中…...
QML 中 Z 轴顺序(z 属性)
在 QML 中,z 属性用于控制元素的堆叠顺序(Z 轴顺序),决定元素在视觉上的前后层次关系。 基本概念 默认行为: 所有元素的默认 z 值为 0 同层级元素后声明的会覆盖先声明的 父元素的 z 值会影响所有子元素 核心规则…...
Redis快的原因
1、基于内存实现 Redis将所有数据存储在内存中,因此它可以非常快速地读取和写入数据,而无需像传统数据库那样将数据从磁盘读取和写入磁盘,这样也就不受I/O限制。 2、I/O多路复用 多路指的是多个socket连接;复用指的是复用一个线…...
蓝桥杯c ++笔记(含算法 贪心+动态规划+dp+进制转化+便利等)
蓝桥杯 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; //常使用的头文件动态规划 小蓝在黑板上连续写下从 11 到 20232023 之间所有的整数,得到了一个数字序列: S12345…...
每日算法-250410
今天分享两道 LeetCode 题目,它们都可以巧妙地利用二分查找来解决。 275. H 指数 II 问题描述 思路:二分查找 H 指数的定义是:一个科学家有 h 篇论文分别被引用了至少 h 次。 题目给定的 citations 数组是升序排列的。这为我们使用二分查找…...
swagger + Document
swagger 虽然有了api接口,对于复杂接口返回值说明,文档还是不能少。如果是一个人做的还简单一点,现在都搞前后端分离,谁知道你要取那个值呢...
线程同步与互斥(下)
线程同步与互斥(中)https://blog.csdn.net/Small_entreprene/article/details/147003513?fromshareblogdetail&sharetypeblogdetail&sharerId147003513&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link我们学习了互斥…...
MySQL 优化教程:让你的数据库飞起来
文章目录 前言一、数据库设计优化1. 合理设计表结构2. 范式化与反范式化3. 合理使用索引 二、查询优化1. 避免使用 SELECT *2. 优化 WHERE 子句3. 优化 JOIN 操作 三、服务器配置优化1. 调整内存分配2. 调整并发参数3. 优化磁盘 I/O 四、监控与分析1. 使用 EXPLAIN 分析查询语句…...
SD + Contronet,扩散模型V1.5+约束条件后续优化:保存Canny边缘图,便于视觉理解——stable diffusion项目学习笔记
目录 前言 背景与需求 代码改进方案 运行过程: 1、Run编辑 2、过程: 3、过程时间线: 4、最终效果展示: 总结与展望 前言 机器学习缺点之一:即不可解释性。最近,我在使用stable diffusion v1.5 Co…...
位掩码、哈希表、异或运算、杨辉三角、素数查找、前缀和
1、位掩码 对二进制数操作的方法,(mask1<<n),将数mask的第n位置为1,其它位置为0,即1000...2^n,当n较小时,可以用于解决类似于0/1背包的问题,要么是0,要么是1&…...
安装OpenJDK1.8 17 (macos M芯片)
安装OpenJDK 1.8 下载完后,解压,打开 环境变量的配置文件即可 vim ~/.zshrc #export JAVA_HOME/Users/xxxxx/jdk-21.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-17.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-11.jdk/Contents…...
Spring Boot 自动加载流程详解
前言 Spring Boot 是一个基于约定优于配置理念的框架,它通过自动加载机制大大简化了开发者的配置工作。本文将深入探讨 Spring Boot 的自动加载流程,并结合源码和 Mermaid 图表进行详细解析。 一、Spring Boot 自动加载的核心机制 Spring Boot 的自动加…...
2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制
流水线上也有每个位置的温度、压力、流量等诸多参数。只有参数处于正常范 围时,最终的产物才是合格的。这些参数很容易受到外部随机因素的干扰,所 以需要实时调控。但由于参数众多,测量困难,很多参数想要及时调整并不容 易&#x…...
Richardson-Lucy (RL) 反卷积算法 —— 通过不断迭代更新图像估计值
文章目录 一、RL反卷积算法(1)主要特点(2)基本原理(3)关键步骤(4)优化算法 二、项目实战(1)RL 反卷积(2)优化:RL 反卷积 …...
2025.04.10-拼多多春招笔试第四题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 04. 优惠券最优分配问题 问题描述 LYA是一家电商平台的运营经理,负责促销活动的策划。现在平台上有 n n n...
------------------V2024-2信息收集完结------------------
第二部分信息收集完结撒花*★,*:.☆( ̄▽ ̄)/$:*.★* 。 进入开发部分,工具要求:phpstorm Adobe Navicat16 小皮 准备完毕 php开发起飞起飞~~~~~...
Java Lambda与方法引用:函数式编程的颠覆性实践
在Java 8引入Lambda表达式和方法引用后,函数式编程范式彻底改变了Java开发者的编码习惯。本文将通过实战案例和深度性能分析,揭示如何在新项目中优雅运用这些特性,同时提供传统代码与函数式代码的对比优化方案。 文章目录 一、Lambda表达式&a…...
2025年常见渗透测试面试题- PHP考察(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 PHP考察 php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘&am…...
【在校课堂笔记】南山 - 第 10 节课 总结
- 第 92 篇 - Date: 2025 - 04 - 10 Author: 郑龙浩/仟墨 【Python 在校课堂笔记】 南山 - 第 10 节课 文章目录 南山 - 第 10 节课一 in –> 存在性测试 - 基础介绍二 in –> 例题 - 火车票 - 使用 in 优化**问题**【代码 - 以前的代码】【代码 - 使用存在性测试 in】 …...
GaussDB ECPG与Oracle Pro_C深度对比:嵌入式SQL开发者的迁移指南
GaussDB ECPG与Oracle Pro*C深度对比:嵌入式SQL开发者的迁移指南 一、体系架构差异 关键组件对比表 二、语法兼容性分析 核心语法差异对比 c /* Pro*C示例 */ EXEC SQL SELECT empno INTO :emp_id FROM employees WHERE ename :name;/* ECPG等效实现 */ EXEC…...
debian系统中文输入法失效解决
在 Debian 9.6 上无法切换中文输入法的问题通常与输入法框架(如 Fcitx 或 IBus)的配置或依赖缺失有关。以下是详细的解决步骤: 1. 安装中文语言包 确保系统已安装中文语言支持: sudo apt update sudo apt install locales sudo…...
2025年危化品安全管理人员备考指南|智能题库+核心考点解析
作为危化品生产单位安全管理人员(主要负责人),考试内容主要涵盖三大模块: 法律法规体系 《安全生产法》修订要点(2023版) 危险化学品重大危险源辨识标准(GB 18218) 最新《化工过…...
我为女儿开发了一个游戏网站
大家好,我是星河。 自从协助妻子为女儿开发了算数射击游戏后,星河就一直有个想法:为女儿打造一个专属的学习游戏网站。之前的射击游戏虽然有趣,但缺乏难度分级,无法根据女儿的学习进度灵活调整。而且,仅仅…...
SpringBoot企业级开发之【用户模块-更新用户基本信息】
接口文档: 开发前我们先看一下接口文档: 这是实现的预想结果: 实现思路: 设计一下我们的实现思路 拿起家伙实操: 1.controller 定义一个方法去修改用户: 注意!是【put请求】 //更改用户信…...
循环神经网络 - 长短期记忆网络的门控机制
长短期记忆网络(LSTM)的门控机制是其核心设计,用来解决普通 RNN 在长程依赖中遇到的梯度消失与信息混淆问题。为了更进一步理解长短期记忆网络,本文我们来深入分析一下其门控机制。 一、理解长短期记忆网络的“三个门” 所谓门控…...
AutoKeras 处理图像回归预测
AutoKeras 是一个自动机器学习库,在处理图像回归预测问题时,它可以自动选择最佳的模型架构和超参数,从而简化深度学习模型的构建过程。 AutoKeras 主要用于分类和回归任务,它同样可以进行图像数据的回归预测。 步骤 1: 安装 Auto…...
批量清空图片的相机参数、地理位置等敏感元数据
我们在使用相机或者手机拍摄照片的时候,照片中都会带有一些敏感元数据信息,比如说相机的型号,参数,拍摄的时间地点等等。这些信息虽说不是那么引人注意,但是在某些时候他是非常隐私非常重要的。如果我们将这些信息泄露…...
驱动-字符设备驱动框架
简要了解 字符设备驱动框架 整个流程 文章目录 基本知识:实际应用效果说明 参考资料字符设备驱动框架基本结构关键数据结构 - 文件操作结构体(file_operations)struct module *ownerssize_t (*read) (struct file *, char __user *, size_t, loff_t *);ssize_t (*wr…...
RK3588芯片NPU的使用:Windows11 Docker中运行PPOCRv4例子
本文的目标 本文将在RKNN Docker环境中练习PPOCR示例,并通过adb工具部署到RK3588开发板。 开发环境说明 主机系统:Windows11目标设备:搭载RK3588芯片的安卓开发板核心工具:包含rknn-toolkit2、rknn_model_zoo等工具的Docker镜像…...
88.高效写入文件—StringBuilder C#例子 WPF例子
在处理文件写入操作时,选择合适的方法可以显著影响程序的性能。本文将通过两个示例代码,对比使用 StringBuilder 和直接写入文件的性能差异,并提供具体的实现步骤。 问题背景 在实际开发中,我们经常需要将大量数据写入文件。然而…...
redis 延迟双删
Redis延迟双删是一种用于解决缓存与数据库数据一致性问题的策略,通常在高并发场景下使用。以下是其核心内容: 1. 问题背景 当更新数据库时,如果未及时删除或更新缓存,可能导致后续读请求仍从缓存中读取旧数据,造成数…...
如何在CentOS部署青龙面板并实现无公网IP远程访问本地面板
青龙面板的功能多多,可以帮助我们自动化处理很多需要手动操作的事情,比如京东领京豆,阿里云盘签到白嫖 vip、掘金签到等等,本教程使用 Docker 搭建青龙面板,并结合 cpolar 内网穿透实现使用公网地址远程访…...
VectorBT量化入门系列:第五章 VectorBT性能评估与分析
VectorBT量化入门系列:第五章 VectorBT性能评估与分析 本教程专为中高级开发者设计,系统讲解VectorBT技术在量化交易中的应用。通过结合Tushare数据源和TA-Lib技术指标,深度探索策略开发、回测优化与风险评估的核心方法。从数据获取到策略部署…...
新能源商用车能耗终极优化指南:悬架、制动、电驱桥全链路硬核拆解(附仿真代码)
引言:新能源商用车的“续航战争”与工程师的破局点 1.1 行业现状:政策红利与技术瓶颈的博弈 数据冲击: 2023年中国新能源商用车销量突破50万辆,但平均续航仅为燃油车的55%(数据来源:中汽协)。…...
Maven笔记
Maven作用 依赖管理、版本控制标准化项目结构、自动化构建项目生命周期管理细分项目模块自动化构建、通过插件拓展构建过程 Maven下载及配置 https://blog.csdn.net/qq_29689343/article/details/135566775 使用IDEA 构建Maven工程 https://blog.csdn.net/qq_29689343/art…...
Java——接口扩展
JDK8开始接口中新增的方法 JDK7以前:接口中只能定义抽象方法。 JDK8的新特性:接口中可以定义有方法体的方法。(默认、静态) JDK9的新特性:接口中可以定义私有方法。 默认方法 需要使用关键字default修饰 作用: 解决接口升级的问题 接口中默认方法的定义格式: 格式: public d…...
COD任务论文--MAMIFNet
摘要 提示:论文机翻 由于难以从复杂背景中区分高度相似的目标,伪装物体检测(COD)仍然是计算机视觉领域的一项具有挑战性的任务。现有的伪装物体检测方法往往在场景理解和信息利用方面存在困难,导致精度不足,…...
基于MCP协议调用的大模型agent开发04
目录 MCP客户端Client开发流程 uv工具 uv安装流程 uv的基本用法介绍 MCP极简客户端搭建流程 MCP客户端接入OpenAI、DeepSeek在线模型流程 参考来源及学习推荐: Anthropic MCP发布通告:https://www.anthropic.com/news/model-context-protocol MC…...
ComfyUI_Echomimic部署问题集合
本博客总结自己在从WebUI转到ComfyUI的过程配置Echomimic遇到的一些问题和解决方法。 默认大家已经成功安装ComfyUI,我之前装的是ComfyU桌面版,现在用的是B站秋葉大佬的整合包。但内核都一样,错误也是通用的。遇到问题时,应该先去…...