2024年精选推荐的16个向量数据库:提升你的AI应用性能

在人工智能时代,向量数据库已成为数据管理和AI模型不可或缺的一部分。向量数据库是一种专门设计用来存储和查询向量嵌入数据的数据库。这些向量嵌入是AI模型用于识别模式、关联和潜在结构的关键数据表示。随着AI和机器学习应用的普及,这些模型生成的嵌入包含大量属性或特征,使得它们的表示难以管理。这就是为什么数据从业者需要一种专门为处理这种数据而开发的数据库,这就是向量数据库的用武之地。

向量库与向量数据库的区别

向量库和向量数据库之间的主要区别在于,向量库用于对向量进行数学运算和几何计算,而向量数据库用于存储、搜索和管理大规模向量数据集,例如嵌入,用于机器学习和数据科学应用。 向量库,如NumPy,提供广泛的数学运算和函数,用于处理向量、矩阵和高维数组。它们优化了性能,并在科学计算、数据分析和学习中被广泛使用。向量库适用于小到中等规模的数据集,并且不提供内置的高维向量相似性搜索或大规模数据管理的支持。 另一方面,向量数据库,如Milvus、Pinecone和Weaviate,旨在处理大规模向量数据集,并提供高效的向量相似性搜索和管理功能。它们支持高维向量,并提供先进的索引技术,如HNSW、IVF和PQ,以实现快速和准确的向量相似性搜索。向量数据库还提供可扩展性和容错性,使其适合生产环境和实际应用。

向量数据库为向量嵌入的独特结构提供了高效的存储和查询能力。它们通过发现相似性,为简单搜索、高速度、可扩展性和数据检索打开了大门。

16个最佳向量数据库推荐

1. Pinecone

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023_pinecone-1024x538.png

  • Pinecone: www.pinecone.io/

  • 没有开源

  • 解决问题

    • Pinecone是一个托管的、云原生的向量数据库,具有简单的API,无需任何基础设施要求。用户可以快速启动、操作和扩展他们的AI解决方案,无需进行任何基础设施维护、服务监控或算法调试。

    • 该解决方案能够快速处理数据,并允许用户使用元数据过滤器和稀疏-密集索引支持来实现高质量的相关性,确保在各种搜索需求下都能快速准确地获得结果。

  • Pinecone的关键特性包括

    • 重复检测:帮助用户识别和删除重复的数据
    • 排名跟踪:跟踪数据在搜索结果中的排名,有助于优化和调整搜索策略
    • 数据搜索:快速搜索数据库中的数据,支持复杂的搜索条件
    • 分类:对数据进行分类,便于管理和检索
    • 去重:自动识别和删除重复数据,保持数据集的纯净和一致性

2. MongoDB

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2024/03/mongodb-vector-search-1-1024x530.jpg

  • MongoDB: www.mongodb.com/

  • GitHub stars: 25.2k

  • 解决问题

    • 处理多种事务性和搜索工作负载:MongoDB Atlas是托管的开发者数据平台,能够处理各种复杂的数据管理任务。
    • 向量搜索功能:Atlas Vector Search使用专门的向量索引,可以与核心数据库自动同步,提供集成数据库的独立扩展优势。
  • MongoDB Atlas的关键特性包括:

    • 集成数据库+向量搜索能力:提供强大的数据库功能和向量搜索能力
    • 独立提供数据库和搜索索引:允许用户独立配置和扩展数据库和搜索索引
    • 数据存储:每个文档可存储高达16 MB的数据
    • 高可用性、强事务保证、多级数据持久性、存档和备份:确保数据的安全和可靠性
    • 行业领先的交易数据加密:保护数据免受未授权访问
    • 混合搜索:结合多种搜索功能,提供灵活和强大的搜索体验

3. Milvus

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023_milvus-1024x538.png

  • Milvus: milvus.io/

  • GitHub stars: 21.1k

  • 解决问题

    • Milvus是一个开源的向量数据库,旨在促进向量嵌入、高效相似搜索和AI应用。它于2019年10月以开源Apache 2.0许可证发布,目前是LF AI & Data Foundation赞助的毕业项目。
    • 该工具简化了非结构化数据的搜索,并提供了与部署环境无关的统一用户体验。为了提高弹性和适应性,Milvus 2.0重构版本中的所有组件都是无状态的。
    • Milvus的应用案例包括图像搜索、聊天机器人和化学结构搜索。
  • Milvus的关键特性包括:

    • 毫秒级搜索万亿级向量数据集
    • 简单管理非结构化数据
    • 可靠的向量数据库,始终可用
    • 高度可扩展和适应性强
    • 混合搜索
    • 统一的Lambda结构
    • 受到社区支持,得到行业认可

4. Chroma

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023_chroma-1024x538.png

  • Chroma: www.trychroma.com/

  • GitHub stars: 7k

  • 解决问题

    • Chroma DB是一个开源的、AI本地的嵌入式向量数据库,旨在简化通过使知识、事实和技能对大型语言模型(LLM)规模上的机器学习模型可插拔,从而创建由自然语言处理驱动的LLM应用程序的过程,同时避免幻觉。
    • 许多工程师都希望能够拥有一个“为数据设计的ChatGPT”,Chroma通过基于嵌入的文档检索提供了这种链接。它还提供了一站式服务,团队需要存储、嵌入和查询数据的一切都在其中,包括强大的过滤功能,还有如智能分组和查询相关性等更多功能即将推出。
  • Chroma的关键特性包括:

    • 功能丰富:支持查询、过滤、密度估计等多种功能
    • 即将添加的语言链(LangChain)、LlamaIndex等更多功能
    • 相同的API可以在Python笔记本中运行,也可以扩展到集群,用于开发、测试和生产

5. Weaviate

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023_weaviate-1024x538.png

  • Weaviate: github.com/weaviate/we…

  • GitHub stars: 6.7k

  • 解决问题

    • Weaviate是一个云原生的、开源的向量数据库,具有弹性、可扩展性和快速性。该工具可以使用先进的机器学习模型和算法将文本、照片和其他数据转换为可搜索的向量数据库。
    • 可以对数百万项进行10-NN邻居搜索,在个位数毫秒内完成。工程师可以使用它来在导入过程中向量化他们的数据,或提交自己的向量,最终创建问答提取、总结和分类系统。
    • Weaviate模块支持使用如OpenAI、Cohere或HuggingFace等知名服务和模型中心,以及使用本地和定制模型。Weaviate在设计时考虑了规模、复制和安全。
  • Weaviate的关键特性包括:

    • 内置AI驱动的搜索、问答、将LLM与您的数据结合和自动分类模块
    • 完整的CRUD(创建、读取、更新、删除)功能
    • 云原生、分布式,能够随着工作负载的增长而扩展,并在Kubernetes上运行良好
    • 能够无缝地将机器学习模型转移到MLOps

6. Deep Lake

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023-deeplake-1024x538.png

  • Deep Lake: github.com/activeloopa…
  • GitHub stars: 6.4k
  • 解决问题
    • Deep Lake是一个由专有存储格式驱动的AI数据库,专为深度学习和基于大型语言模型(LLM)的应用程序设计,这些应用程序利用自然语言处理。它通过向量存储和一系列功能帮助工程师更快地部署企业级的LLM产品。
    • Deep Lake可以处理任何大小的数据,是无服务器的,允许您在单一位置存储所有数据。
    • 它还提供工具集成,以帮助简化深度学习操作。例如,使用Deep Lake和Weights & Biases,可以跟踪实验并实现模型的完全可重复性。集成将数据集相关信息(URL、提交哈希、视图ID)自动传递到W&B运行中。
  • Deep Lake的关键特性包括:
    • 存储所有类型的数据(嵌入、音频、文本、视频、图像、PDF等)。
    • 查询和向量搜索功能。
    • 在训练模型时实时流式传输数据。
    • 数据版本控制和工作负载线程。
    • 与工具如LangChain、LlamaIndex、Weights & Biases等的集成。

7. Qdrant

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023-qdrant-1024x538.png

  • Qdrant: github.com/qdrant/qdra…

  • GitHub stars: 11.5k

  • 解决问题

    • Qdrant是一个开源的向量相似性搜索引擎和数据库。它提供了一个生产就绪的服务和一个易于使用的API,用于存储、搜索和管理点向量和高维向量,以及额外的负载。
    • 该工具旨在提供广泛的过滤支持。Qdrant的多功能性使其成为神经网络或语义匹配、面搜索和其他应用的不错选择。
  • Qdrant的关键特性包括:

    • JSON负载可以与向量连接,允许基于负载的存储和过滤
    • 支持多种数据类型和查询条件,如文本匹配、数值范围、地理位置等
    • 查询计划器利用缓存的负载信息来提高查询执行效率
    • 断电期间进行写入前处理,更新日志记录所有操作,便于重建最新的数据库状态
    • Qdrant独立于外部数据库或编排控制器运行,简化了配置

8. Elasticsearch

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023-elasticsearch-1024x538.png

  • Elasticsearch: www.elastic.co/elasticsear…

  • GitHub stars: 64.4k

  • 解决问题

    • Elasticsearch是一个开源的、分布式的、RESTful的分析引擎,可以处理文本、数值、地理、结构化和非结构化数据。基于Apache Lucene,最初于2010年由Elasticsearch N.V.(现称Elastic)发布。Elasticsearch是Elastic堆栈的一部分,这是一套免费且开源的工具,用于数据摄入、丰富、存储、分析和可视化。
    • Elasticsearch可以处理各种用例——它集中存储数据,以实现快速搜索、微调相关性以及可轻松扩展的高级分析。它可以水平扩展以容纳每秒数十亿的事件,同时自动控制索引和查询在整个集群中的分布,以实现流畅的操作。
  • Elasticsearch的关键特性包括:

    • 集群和高可用性:确保系统的可靠性和数据的安全性
    • 自动节点恢复和数据再平衡:在节点失败时自动恢复,并重新平衡数据负载
    • 水平可扩展性:能够轻松扩展以处理大量数据和请求
    • 跨集群和数据中心复制:允许第二个集群作为热备份运行
    • 跨数据中心复制:提高数据的可靠性和可用性
    • Elasticsearch识别错误以保持集群(和数据)的安全性和可访问性
    • 分布式架构:从底层构建,旨在提供持续的安心感

9. Vespa

|inline

  • Vespa: vespa.ai/
  • GitHub stars: 4.5k
  • 解决问题
    • Vespa是一个开源的数据服务引擎,允许用户在服务时存储、搜索、组织和在大量数据上进行机器学习判断。
    • 庞大的数据集必须分散在多个节点上,并并行检查,而Vespa是一个能够处理这些任务的平台,同时保持出色的可用性和性能。
  • Vespa的关键特性包括:
    • 写入确认:向客户端确认写入,并在数据持久且在查询中可见时,在几毫秒内发出
    • 持续的写入速率:在服务请求时,每个节点每秒可以交付数千到数万次写入
    • 数据冗余复制:可以配置冗余复制
    • 查询组合:查询可以包括结构化过滤器、自由文本搜索运算符和向量搜索运算符,以及巨大的张量和向量
    • 基于查询定义的匹配分组和聚合
    • 包括所有匹配:即使它们同时在多个机器上运行

10. Vald

|inline

  • Vald: vald.vdaas.org/

  • GitHub stars: 1274

  • 解决问题

    • Vald是一个分布式、可扩展且快速的向量搜索引擎。它旨在构建为云原生应用,并采用最快的近似最近邻(ANN)算法NGT,以帮助找到邻居。
    • Vald提供自动化的向量索引和索引备份,以及水平扩展,允许它搜索数十亿个特征向量数据。它易于使用且非常可配置——例如,您可以自定义高度可配置的Ingress/Egress过滤器,以与gRPC接口配合使用。
  • Vald的关键特性包括:

    • 通过对象存储或持久卷提供自动备份,实现灾难恢复
    • 将向量索引分发到多个代理,每个代理保留一个唯一的索引
    • 通过在多个代理中存储每个索引来复制索引。当Vald代理失败时,自动重新平衡副本
    • 高度适应性——可以自定义向量维数、副本数量等
    • 支持Python、Golang、Java、Node.js等多种编程语言

11. ScaNN

ScaNN

  • ScaNN: github.com/google-rese…

  • GitHub stars: -

  • 解决问题

    • ScaNN(可扩展最近邻)是一种在大量数据中高效搜索向量相似性的方法。Google的ScaNN提出了一种全新的压缩方法,显著提高了准确性。这使得它在ann-benchmarks.com上比其他向量相似性搜索库的性能提高了两倍。
    • 它包括最大内积搜索的搜索空间修剪和量化,以及欧几里得距离等额外的距离函数。该实现旨在支持AVX2的x86处理器上。
  • ScaNN的关键特性包括:

    • 可扩展性:SCANN专为处理大规模数据集而设计,能够有效处理包含数亿个数据点的数据集。它使用了一种分层数据结构和并行计算的方法,以提高搜索速度和内存效率
    • 多样的相似度度量:SCANN支持多种相似度度量,包括欧氏距离、余弦相似度和Jaccard相似度等。这使得它适用于各种应用领域,如图像检索、推荐系统和自然语言处理等
    • 高效的近邻搜索:SCANN采用了一种基于局部敏感哈希(Locality Sensitive Hashing,LSH)的方法,能够在保证较高准确性的同时,显著提高近邻搜索的速度。它利用了哈希函数将数据点映射到哈希桶中,从而加速搜索过程
    • 可定制的参数和配置:SCANN提供了一系列可定制的参数和配置选项,以满足不同应用场景的需求。用户可以根据自己的数据集和查询要求进行调整,以获得最佳的性能和准确性
    • 易于使用的API:SCANN提供了简洁而直观的API,使得用户可以轻松地集成它到自己的应用程序中。它支持多种编程语言,包括Python、C++和TensorFlow等

12. Pgvector

1715655458582.png

  • Pgvector: github.com/pgvector/pg…
  • GitHub stars: 9.6k
  • 解决问题
    • pgvector是一个用于搜索向量相似性的PostgreSQL扩展,也可以用于存储嵌入。pgvector最终帮助你将所有应用程序数据存储在一个地方。
    • 其用户可以受益于ACID合规性、时间点恢复、JOIN等所有其他优秀特性。
  • pgvector的关键特性包括:
    • 精确和近似最近邻搜索
    • L2距离、内积和余弦距离
    • 任何带有PostgreSQL客户端的语言

13. Faiss

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/07/12-vector-databases-2023-faiss-1024x538.png

  • Faiss: github.com/facebookres…

  • GitHub stars: 23k

  • 解决问题

    • 由Facebook AI Research开发的Faiss是一个开源库,用于快速、密集向量相似性搜索和分组。它包括用于搜索任何大小向量集的方法,包括可能不适合放入RAM的大小。它还提供了用于评估和参数调整的代码。
    • Faiss基于一种索引类型,它维护一组向量,并使用L2和/或点积向量比较通过它们进行搜索。一些索引类型,如精确搜索,是简单的基准线。
  • Faiss的关键特性包括:

    • 不仅返回最近的邻居,还返回第二近、第三近和第k近的邻居
    • 可以同时搜索多个向量,而不仅仅是单个向量(批量处理)
    • 使用最大内积搜索而不是最小欧几里得搜索
    • 也支持其他距离度量(如L1、L∞等),但程度较低。
    • 返回查询位置附近指定半径内的所有元素(范围搜索)
    • 可以将索引存储在磁盘上,而不仅仅是RAM中

14. ClickHouse

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/11/click-house-vector-database.png

  • ClickHouse: clickhouse.com/
  • GitHub stars: 31.8k
  • 解决问题
    • ClickHouse是一个开源的列式数据库管理系统(DBMS),用于在线分析处理,允许用户通过运行SQL查询实时生成分析报告。ClickHouse的独特之处在于其实际的列式DBMS设计。这种独特的设计提供了紧凑的存储,没有不必要的数据伴随值,这显著提高了处理性能。
    • 它使用向量来处理数据,这提高了CPU效率,并有助于ClickHouse的卓越速度。
  • ClickHouse的关键特性包括:
    • 数据压缩:显著提高了ClickHouse的性能
    • ClickHouse结合了低延迟数据提取和标准硬盘的高效成本
    • 它使用多核和多服务器设置来加速大规模查询,这在列式DBMS中是罕见的特性
    • 强大的SQL支持,ClickHouse擅长处理各种查询
    • ClickHouse的连续数据添加和快速索引满足实时需求
    • 低延迟提供了快速查询处理,这对于在线活动至关重要

15. OpenSearch

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/11/open-search-vector-database-1024x516.png

  • OpenSearch: opensearch.org/
  • GitHub stars: 8.8k
  • 解决问题
    • OpenSearch将经典搜索、分析和向量搜索的威力融合在一个解决方案中,是其他向量数据库中的一个有趣选择。OpenSearch的向量数据库特性通过最小化开发人员操作、管理和集成AI生成资产所需的工作,加速了AI应用开发。
    • 可以将模型、向量和信息引入,以启用向量、词汇和混合搜索和分析,内置性能和可扩展性。
  • OpenSearch的关键特性包括:
    • 作为向量数据库,OpenSearch可用于多种目的,如搜索、个性化、数据质量和向量数据库引擎
    • 在其搜索用例中,可以找到多模态搜索、语义搜索、视觉搜索和生成式AI代理
    • 您可以使用协同过滤技术创建产品和用户嵌入,并用OpenSearch为您的推荐引擎提供动力
    • OpenSearch用户可以使用相似性搜索来自动化数据中的模式匹配和重复,以帮助数据质量操作
    • 解决方案允许创建一个集成的、Apache 2.0许可的向量数据库平台,提供可靠和可扩展的嵌入和向量搜索解决方案

16. Apache Cassandra

https://cdn-kfpfp.nitrocdn.com/LPJTcQItTfFXIvmLmluGDpHNkMGCVcPt/assets/images/optimized/rev-207564e/lakefs.io/wp-content/uploads/2023/11/apache-cassandra-vector-database-1024x332.png

  • Apache Cassandra: cassandra.apache.org/
  • GitHub stars: 8.3k
  • 解决问题
    • Cassandra是一个分布式、宽列存储的NoSQL数据库管理系统,它是免费和开源的。它被设计用来在许多商用服务器上处理大量数据,同时保持高可用性,没有单点故障。
    • Cassandra即将配备向量搜索功能,这展示了Cassandra社区致力于快速提供可靠创新的努力。随着AI开发者和处理大数据量的企业对Cassandra的兴趣日益增长,Cassandra在人工智能开发者和企业中的受欢迎程度也在上升,因为它为他们提供了构建复杂、数据驱动应用程序的能力。
  • Cassandra的关键特性包括:
    • Cassandra将有一个新的数据类型,用于存储高维向量,这将允许操作和存储在AI应用中广泛使用的Float32嵌入
    • 该工具还将提供一个名为“VectorMemtableIndex”的新存储附加索引(SAI),以支持近似最近邻(ANN)搜索功能
    • 它将提供一个新Cassandra查询语言(CQL)运算符,ANN OF,使用户更容易在他们的数据上运行ANN搜索
    • Cassandra的新向量搜索功能是作为现有SAI框架的扩展设计的,消除了重新设计基础索引引擎的需要

如何选型向量数据库

在选择适合项目的向量数据库时,需要根据项目的具体需求、团队的技术背景和资源情况来综合评估。以下是一些建议和注意事项:

  • 工程团队与托管服务
    • 如果有一个强大的工程团队,并希望对数据库有更多的控制权,可以选择自托管(Self-hosted)的解决方案
    • 如果资源有限,或者希望专注于核心业务而非数据库管理,那么完全托管(Fully-managed)的数据库服务可能是更好的选择
  • 向量嵌入的生成
    • 如果已经有了自己的向量嵌入生成模型,那么需要的是一个能够高效存储和查询这些向量的数据库
    • 如果需要数据库服务来生成向量嵌入,那么应该选择提供这类功能的产品
  • 延迟要求
    • 对于需要实时响应的应用程序,低延迟是关键。需要选择能够提供快速查询响应的数据库
    • 如果应用程序允许批量处理,那么可以选择那些优化了大批量数据处理的数据库
  • 开发人员的经验
    • 根据团队的技术栈和经验,选择一个易于集成和使用的数据库
    • 如果团队成员对某些技术或框架更熟悉,那么选择一个能够与之无缝集成的数据库会更有利
  • 工具的学习曲线
    • 考虑到团队成员的学习时间,选择一个学习曲线平缓的工具可以提高项目的开发效率
  • 解决方案的可靠性
    • 确保所选数据库有良好的稳定性和故障恢复能力
    • 查看用户评价、社区活跃度和厂商支持情况
  • 实施和维护成本
    • 根据预算评估不同解决方案的成本,包括软硬件投入、人员培训和长期维护费用
  • 安全性和合规性
    • 确保所选数据库符合相关的数据保护法规和行业标准,特别是在处理敏感数据时

综合这些因素,可以对市场上的向量数据库进行初步筛选,然后通过测试和评估来确定最适合项目的解决方案。此外还需要确保所选服务符合国家相关法律法规,如《网络安全法》和《数据安全法》等。

总结

随着人工智能技术的不断进步,向量数据库在现代数据管理和机器学习应用中扮演着越来越重要的角色。它们提供了处理和检索高维向量数据的能力,这对于构建高效的AI模型和搜索引擎至关重要。

上述探讨了16个2024年最值得关注的向量数据库,这些数据库在性能、可扩展性、易用性和特定应用场景的支持方面各有特色。无论是在寻找一个托管的解决方案还是一个可以自托管的开源项目,无论需求是处理图像、文本还是其他类型的数据,这些向量数据库都能提供支持。

在选择适合项目的向量数据库时,要考虑具体需求、团队技能、预算以及对数据安全和合规性的要求至关重要。随着向量数据库技术的不断成熟和优化,可以期待它们在未来几年内将在各种数据密集型应用中发挥更大的作用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

聊一聊领域驱动和贫血

写在前面 前段时间跟领导讨论技术债概念时不可避免地提到了代码的质量,而影响代码质量的因素向来都不是单一的,诸如项目因素、管理因素、技术选型、人员素质等等,因为是技术债务,自然就从技术角度来分析,单纯从技术角…

UOS系统中JavaFx笔锋功能

关于笔锋功能,网上找了很久,包括Java平台客户端,Android端,相关代码资料比较少,找了很多经过测试效果都差强人意,自己也搓不出来,在UOS平台上JavaFX也获取不到压力值,只能用速度的变…

c++习题07-求小数的某一位

目录 一,问题 二,思路 三,代码 一,问题 二,思路 被除数a的类型设置为long long类型,a变量需要变大,需要更大的数据类型来存储除数b和指定的小数位置n为int类型,这两个变量的的…

计算机图形学入门23:蒙特卡洛路径追踪

1.前言 前面几篇文章介绍了Whitted-style光线追踪,还介绍了基于物理渲染的基础知识,包括辐射度量学、BRDF以及渲染方程,但并没有给出解渲染方程的方法,或者说如何通过该渲染方程计算出屏幕上每一个坐标的像素值。 Whitted-style光…

未来的钥匙在于过去:学历史的真正意义,震惊!历史竟然是偶然的?从历史中寻找未来的方向!

我们自幼接受的教育是,学历史是为了相信历史是必然的。中国人民必然战胜日寇的侵略,解放思想和改革开放必定会发生,和平和发展必定是世界的主题,中国经济必定是高速增长…… 然而,在真正的历史学家眼中,历史…

1分钟了解,预写日志WAL的核心思路...

上一篇《刷盘,还是不刷盘,是一个问题》中我们遇到了哪些问题? 1. 已提交事务未提交事务的ACID特性怎么保证? 画外音:上一篇中遇到的问题,主要是原子性与持久性。 2. 数据库崩溃,怎么实施故障恢复…

新声创新20年:无线技术给助听器插上“娱乐”的翅膀

听力损失并非现代人的专利,古代人也会有听力损失。助听器距今发展已经有二百多年了,从当初单纯的声音放大器到如今的全数字时代助听器,助听器发生了翻天覆地的变化,现代助听器除了助听功能,还具有看电视,听…

AD导入.step 3D封装

在网站查找想要的3D封装 https://www.3dcontentcentral.cn/ 下载 AD导入 在封装库下导入

融云上线 HarmonyOS NEXT 版 SDK,全面适配「纯血鸿蒙」生态

6 月 21 日,“2024 华为开发者大会”正式发布使用自研内核的原生鸿蒙系统 HarmonyOS NEXT,即 “纯血鸿蒙”。 同时,华为宣布开放“鸿蒙生态伙伴 SDK 市场”,甄选各类优质、安全的 SDK 加入聚合平台,助力各行业开发者轻…

数据结构初阶 堆的问题详解(三)

题目一 4.一棵完全二叉树的节点数位为531个,那么这棵树的高度为( ) A 11 B 10 C 8 D 12 我们有最大的节点如下 假设最大高度为10 那么它的最多节点应该是有1023 假设最大高度为9 那么它的最多节点应该是 511 所以说这一题选B 题目二 …

08 docker Registry搭建docker私仓

目录 本地镜像发布流程 1. docker pull registry 下载镜像 2. docker run 运行私有库registry 3. docker commit 构建镜像 4. docker tag 修改新镜像,使之符合私服规范tag 5. 修改配置文件使之支持http 6. curl验证私服库上有什么镜像 7. push推送 pull拉取 …

Jenkins教程-13-参数化任务构建

上一小节我们学习了发送html邮件测试报告的方法,本小节我们讲解一下Jenkins参数化任务构建的方法。 很多时候我们需要根据不同的条件去执行构建,如自动化测试中执行test、stg、prod环境的构建,Jenkins是支持参数化构建的。 以下是Jenkins官…

kaggle量化赛金牌方案(第七名解决方案)(下)

— 无特征工程的神经网络模型(得分 5.34X) 比赛进入最后阶段,现在是时候深入了解一些关于神经网络模型的见解了。由于 Kaggle 讨论区的需求,我在这里分享两个神经网络模型。第一个是 LSTM 模型,第二个是卷积网络&…

pmp顺利通关总结

目录 一、背景二、总结三、过程 一、背景 人活着总是想去做一些事情,通过这些事情来证明自己还活着。 而我证明自己还会活着并且活得很好的方式和途径,是通过这些东西去让自己有一个明确的边界节点;借此知识来验证自己的学习能力。 我坚定认…

汇凯金业:投资交易如何才能不亏损

投资交易中永不亏损是一个理想化的目标,现实中无法完全避免亏损。然而,通过科学的方法、合理的策略和严格的风险管理,投资者可以大幅减少亏损,并提高长期盈利的概率。以下是一些关键策略和方法,帮助投资者在交易中尽量…

Android线性布局的概念与属性

线性布局(LinearLayout)是Android中最简单的布局方式,线性布局方式会使得所有在其内部的控件或子布局按一条水平或垂直的线排列。如图所示,图a是纵向线性布局示意图,图b是横向线性布局示意图。 a)纵向线性布局示意图 …

2024年电子信息工程与电气国际学术会议 (EIEEE 2024)

2024年电子信息工程与电气国际学术会议 (EIEEE 2024) 2024 International Academic Conference on Electronic Information Engineering and Electrical Engineering 【重要信息】 大会地点:北京 大会官网:http://www.iceieee.co…

昂科烧录器支持MindMotion灵动微电子的32位微控制器MM32L052NT

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中MindMotion灵动微电子的32位微控制器MM32L052NT已经被昂科的通用烧录平台AP8000所支持。 MM32L052NT使用高性能的ARM Cortex-M0为内核的32位微控制器,最高工作频率…

语音唤醒入门(基于ESP-skainet)

主要参考资料: ESP-SR 用户指南: https://docs.espressif.com/projects/esp-sr/zh_CN/latest/esp32s3/index.html 目录 ESP提供的模型直接初始化和使用模型AFE声学前端算法 使用模型 自定义模型 ESP提供的模型 乐鑫提供了经过训练的 WakeNet 和 MultiNet 模型&…

【C++】多态(详解)

前言:今天学习的内容可能是近段时间最难的一个部分的内容了,C的多态,这部分内容博主认为难度比较大,各位一起慢慢啃下来。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&#xff23…