当前位置: 首页 > news >正文

哪里有零基础网站建设教学服务培训网址

哪里有零基础网站建设教学服务,培训网址,网站编辑软件都有哪些,wordpress发表文章失败Milvus 是一个开源、高性能、可扩展的向量数据库,专门用于存储和检索高维向量数据。它支持近似最近邻搜索(ANN),适用于图像检索、自然语言处理(NLP)、推荐系统、异常检测等 AI 应用场景。 官网&#xff1a…

Milvus 是一个开源、高性能、可扩展的向量数据库,专门用于存储和检索高维向量数据。它支持近似最近邻搜索(ANN),适用于图像检索、自然语言处理(NLP)、推荐系统、异常检测等 AI 应用场景。

官网:https://milvus.io/


1. Milvus 的特点

(1)高性能

  • 支持数十亿级向量数据,查询速度快。
  • 使用 近似最近邻(ANN)索引算法,如 HNSW、IVF-FLAT、IVF-PQ、SCANN 等。

(2)分布式架构

  • 可以横向扩展(scalability),适用于大规模数据集。
  • 支持云端部署,可结合 Kubernetes 进行管理。

(3)多种索引支持

  • HNSW(Hierarchical Navigable Small World):高效、高准确度的图索引。
  • IVF-FLAT(Inverted File Index + Flat Search):适用于大规模数据检索。
  • IVF-PQ(Inverted File Index + Product Quantization):节省存储,提高检索效率。

(4)多种数据类型

  • 支持不同类型的向量(浮点数、二进制),同时可存储元数据(metadata),比如文本、标签等。
  • 支持 JSON 存储,可以存放结构化数据。

(5)多种 API 语言支持

  • Python
  • Go
  • Java
  • C++

(6)与 AI 生态兼容

  • 可与 PyTorch、TensorFlow、OpenAI Embeddings、Hugging Face 集成,用于 NLP、计算机视觉等任务。
  • 支持 Kubernetes 部署,适合云原生应用。

2. Milvus 架构

Milvus 采用 分布式架构,主要组件包括:

组件作用
Proxy处理客户端请求,分发查询
QueryNode负责向量搜索
IndexNode负责构建索引
DataNode负责存储和管理数据
MetaStore存储元数据
Coordinator(协调器)负责管理集群

3. 安装 Milvus

Milvus 可以使用 Docker 进行安装:

(1)Linux下的安装方法

1)安装 Docker & Docker Compose
# 安装 Docker
sudo apt update
sudo apt install -y docker.io# 安装 Docker Compose
sudo apt install -y docker-compose
2)拉取 Milvus
git clone https://github.com/milvus-io/milvus.git
cd milvus
3)启动 Milvus
docker-compose up -d

(2)Windows 下的安装方法

在 Windows 上安装 Milvus 主要有两种方式:

  1. 使用 Docker 安装(推荐)
  2. 使用 WSL(Windows Subsystem for Linux)安装
方法 1:使用 Docker 安装 Milvus(推荐)
1.1 安装 Docker
  • 下载并安装 Docker Desktop for Windows
  • 启用 WSL 2 后端
    • 打开 Docker Desktop 设置
    • 进入 General 选项卡,勾选 Use the WSL 2 based engine
  • 启用 Windows 容器支持(可选,但建议启用)
1.2 下载 Milvus
git clone https://github.com/milvus-io/milvus.git cd milvus
1.3 启动 Milvus
docker-compose up -d
  • 该命令会下载 Milvus 并启动默认的服务,端口 19530 可用于 API 访问。

方法 2:使用 WSL 安装 Milvus
2.1 启用 WSL
wsl --install
  • 确保 WSL 版本为 2:
wsl --set-default-version 2
  • 安装 Ubuntu:
wsl --install -d Ubuntu

2.2 安装 Docker
sudo apt update // 更新软件包列表
sudo apt install -y docker.io // 安装 Docker
sudo apt install docker-compose -y // 安装 docker-compose

2.3 下载并启动 Milvus
cd ~ // 尝试在 WSL 内部的 Linux 文件系统(如 ~/)中克隆
git clone https://github.com/milvus-io/milvus.git 
cd milvus 
docker-compose up -d

4. Milvus 管理工具

3.1 Attu

  • Attu 是官方推荐的 Milvus 可视化管理工具:
  • 安装 Attu
docker run -d --name attu -p 3000:3000 zilliz/attu

  • 访问 http://localhost:3000

5. 默认接口、用户名、密码

配置项默认值
接口19530
用户名无默认用户名
密码无默认密码

注意:默认情况下,Milvus 没有身份验证。若需安全访问,可以通过代理层内部网权限控制实现认证。


6. 使用 Python 操作 Milvus

安装 pymilvus

pip install pymilvus

创建 Milvus 连接

from pymilvus import connectionsconnections.connect(host="localhost", port="19530")

创建 Collection

from pymilvus import Collection, CollectionSchema, FieldSchema, DataType# 定义 Collection 结构
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),FieldSchema(name="vector", dtype=DataType.FLOAT_VECTOR, dim=128)
]schema = CollectionSchema(fields, description="Example Collection")# 创建 Collection
collection = Collection(name="example_collection", schema=schema)

插入数据

import numpy as np# 生成 1000 个 128 维的随机向量
num_vectors = 1000
dim = 128
vectors = np.random.rand(num_vectors, dim).tolist()
ids = list(range(num_vectors))# 插入数据
collection.insert([ids, vectors])

创建索引

index_params = {"metric_type": "L2",   # 余弦相似度/欧式距离"index_type": "IVF_FLAT","params": {"nlist": 128}
}collection.create_index(field_name="vector", index_params=index_params)

查询相似向量

# 生成查询向量
query_vector = np.random.rand(1, 128).tolist()# 进行相似性搜索
collection.load()
result = collection.search(query_vector, "vector", param={"nprobe": 10}, limit=5)# 打印结果
for hits in result:for hit in hits:print(f"ID: {hit.id}, Distance: {hit.distance}")

7. 使用 Java 操作 Milvus

7.1 安装 Java 依赖

pom.xml 添加:

<dependency><groupId>io.milvus</groupId><artifactId>milvus-sdk-java</artifactId><version>2.3.2</version>
</dependency>

7.2 连接 Milvus

import io.milvus.client.*;
import io.milvus.param.ConnectParam;public class MilvusExample {public static void main(String[] args) {MilvusServiceClient client = new MilvusServiceClient(ConnectParam.newBuilder().withHost("localhost").withPort(19530).build());System.out.println("Connected to Milvus");}
}

7.3 创建 Collection

import io.milvus.param.collection.*;
import io.milvus.grpc.DataType;
import java.util.Arrays;public class CreateCollection {public static void main(String[] args) {MilvusServiceClient client = new MilvusServiceClient(ConnectParam.newBuilder().withHost("localhost").withPort(19530).build());FieldType idField = FieldType.newBuilder().withName("id").withDataType(DataType.Int64).withPrimaryKey(true).build();FieldType vectorField = FieldType.newBuilder().withName("vector").withDataType(DataType.FloatVector).withDimension(128).build();CollectionMapping collectionMapping = CollectionMapping.newBuilder().withCollectionName("example_collection").withDescription("Test collection").withFieldTypes(Arrays.asList(idField, vectorField)).build();client.createCollection(collectionMapping);System.out.println("Collection Created");}
}

7.4 插入数据

import io.milvus.param.dml.InsertParam;
import java.util.*;public class InsertData {public static void main(String[] args) {MilvusServiceClient client = new MilvusServiceClient(ConnectParam.newBuilder().withHost("localhost").withPort(19530).build());List<Long> ids = Arrays.asList(1L, 2L, 3L);List<List<Float>> vectors = new ArrayList<>();vectors.add(Arrays.asList(0.1f, 0.2f, 0.3f, ... 128个值));vectors.add(Arrays.asList(0.4f, 0.5f, 0.6f, ... 128个值));InsertParam insertParam = InsertParam.newBuilder().withCollectionName("example_collection").withFields(Arrays.asList(ids, vectors)).build();client.insert(insertParam);System.out.println("Data Inserted");}
}

7.5 查询相似向量

import io.milvus.param.dml.SearchParam;
import io.milvus.param.MetricType;public class SearchVector {public static void main(String[] args) {MilvusServiceClient client = new MilvusServiceClient(ConnectParam.newBuilder().withHost("localhost").withPort(19530).build());List<List<Float>> queryVectors = new ArrayList<>();queryVectors.add(Arrays.asList(0.1f, 0.2f, 0.3f, ... 128个值));SearchParam searchParam = SearchParam.newBuilder().withCollectionName("example_collection").withTopK(5).withMetricType(MetricType.L2).withVectors(queryVectors).build();System.out.println(client.search(searchParam));}
}

8. SaaS 化系统的多租户支持

SaaS 系统中,每个租户(Tenant)应有独立的数据管理方案:

方法 1:独立 Collection

  • 每个租户一个 Collection,例如 tenant1_vectorstenant2_vectors
  • 适用于小规模租户

方法 2:添加租户字段

  • 在同一 Collection 里添加 tenant_id 字段:
{ "id": 123, "tenant_id": "tenant_A", "vector": [0.1, 0.2, ...] }
  • 查询时加上租户过滤:
SearchParam searchParam = SearchParam.newBuilder() .withCollectionName("example_collection") .withFilter("tenant_id = 'tenant_A'") .build();

方法 3:使用多个 Milvus 实例

  • 适用于大型 SaaS 平台
  • 每个租户一个独立的 Milvus 集群
  • 需要负载均衡和资源隔离

9. Milvus 的应用场景

1) 语义搜索

  • 结合 OpenAI Embeddings,可用于语义搜索(文本相似度计算)。

2) 图像搜索

  • 存储图片特征向量,实现以图搜图功能。

3) 推荐系统

  • 存储用户兴趣向量,计算个性化推荐

4) 生物信息学

  • DNA 比对,通过向量相似性计算基因相似度。

10. Milvus vs 其他向量数据库

数据库主要特点适用场景
Milvus分布式、云原生、多索引支持NLP、推荐系统、大规模向量数据
FAISS高效 GPU 加速,适用于离线任务超大规模数据离线处理
Pinecone云托管,易用性强SaaS 应用、无需自己部署
Weaviate结合语义搜索,支持 JSON 存储文本搜索、知识库
HNSWlib高速图索引,适合小型应用小规模向量检索

11. 总结

  • Milvus 是一个高性能、可扩展的向量数据库,适用于大规模 AI 应用,尤其适用于NLP、计算机视觉、推荐系统等场景。
  • 支持多种索引算法(HNSW、IVF-FLAT、IVF-PQ),可以根据不同的需求进行优化。
  • 兼容 PyTorch、TensorFlow、Hugging Face,易于集成到 AI 生态系统中。
  • 支持分布式部署,适合云端应用,可以利用 Kubernetes 进行管理。

如果你需要处理数千万甚至上亿的向量数据,Milvus 是一个非常好的选择!


文章转载自:
http://dinncocoronetted.zfyr.cn
http://dinncobgc.zfyr.cn
http://dinncoakinetic.zfyr.cn
http://dinncononfreezing.zfyr.cn
http://dinncomicromail.zfyr.cn
http://dinncoyeasty.zfyr.cn
http://dinncoundertone.zfyr.cn
http://dinncothuggish.zfyr.cn
http://dinncoinpouring.zfyr.cn
http://dinncospongiose.zfyr.cn
http://dinncosamoan.zfyr.cn
http://dinncohaircloth.zfyr.cn
http://dinncooversweet.zfyr.cn
http://dinncorosette.zfyr.cn
http://dinncoguitarist.zfyr.cn
http://dinncowearability.zfyr.cn
http://dinncoballistocardiogram.zfyr.cn
http://dinncoamygdaloid.zfyr.cn
http://dinncotepid.zfyr.cn
http://dinncocyclopropane.zfyr.cn
http://dinncokangting.zfyr.cn
http://dinncoserictery.zfyr.cn
http://dinncoonionskin.zfyr.cn
http://dinncosalpa.zfyr.cn
http://dinncoevacuant.zfyr.cn
http://dinncodoodling.zfyr.cn
http://dinncogabblement.zfyr.cn
http://dinncoservomechanism.zfyr.cn
http://dinncosweepback.zfyr.cn
http://dinncotectogenesis.zfyr.cn
http://dinncosynergism.zfyr.cn
http://dinncoepeirogeny.zfyr.cn
http://dinncostonechat.zfyr.cn
http://dinncouncreolized.zfyr.cn
http://dinncocoenosarc.zfyr.cn
http://dinncochurl.zfyr.cn
http://dinncooctose.zfyr.cn
http://dinncopediatric.zfyr.cn
http://dinncocommunal.zfyr.cn
http://dinncomutuality.zfyr.cn
http://dinncoradiograph.zfyr.cn
http://dinncomelange.zfyr.cn
http://dinncoacrobatics.zfyr.cn
http://dinncocacafuego.zfyr.cn
http://dinncodear.zfyr.cn
http://dinncoradiotoxin.zfyr.cn
http://dinncomultiflash.zfyr.cn
http://dinncorepaid.zfyr.cn
http://dinncomicroclimatology.zfyr.cn
http://dinnconederland.zfyr.cn
http://dinncomultiped.zfyr.cn
http://dinncobottlebrush.zfyr.cn
http://dinncounreel.zfyr.cn
http://dinncodin.zfyr.cn
http://dinncoanole.zfyr.cn
http://dinncoantihero.zfyr.cn
http://dinncoexscind.zfyr.cn
http://dinncosieva.zfyr.cn
http://dinncocrinotoxin.zfyr.cn
http://dinncoelectrohemostasis.zfyr.cn
http://dinncohazy.zfyr.cn
http://dinncoprenomen.zfyr.cn
http://dinncomyristic.zfyr.cn
http://dinncohouseless.zfyr.cn
http://dinncokeelage.zfyr.cn
http://dinncoglycosuria.zfyr.cn
http://dinncogermon.zfyr.cn
http://dinncomeconic.zfyr.cn
http://dinncogowster.zfyr.cn
http://dinncofodgel.zfyr.cn
http://dinncotailhead.zfyr.cn
http://dinncofriable.zfyr.cn
http://dinncosafetyman.zfyr.cn
http://dinncopolacre.zfyr.cn
http://dinncoteachability.zfyr.cn
http://dinncoludic.zfyr.cn
http://dinncodemountable.zfyr.cn
http://dinncoprovencal.zfyr.cn
http://dinncocivilianize.zfyr.cn
http://dinncohormogonium.zfyr.cn
http://dinncostraw.zfyr.cn
http://dinncopathophysiology.zfyr.cn
http://dinncolaryngopharyngeal.zfyr.cn
http://dinncomelodrame.zfyr.cn
http://dinncocurcuma.zfyr.cn
http://dinncoadhibit.zfyr.cn
http://dinncoplasticine.zfyr.cn
http://dinncosufferable.zfyr.cn
http://dinncocosmoid.zfyr.cn
http://dinnconecropsy.zfyr.cn
http://dinncoknapsack.zfyr.cn
http://dinncoaral.zfyr.cn
http://dinncohearth.zfyr.cn
http://dinncoimpreg.zfyr.cn
http://dinncosaturnalian.zfyr.cn
http://dinncoproposer.zfyr.cn
http://dinncocarcanet.zfyr.cn
http://dinncotittup.zfyr.cn
http://dinncofrond.zfyr.cn
http://dinncosturmer.zfyr.cn
http://www.dinnco.com/news/156171.html

相关文章:

  • 西安做网站建设哪家好网络关键词优化软件
  • 广告联盟怎么赚钱网络公司优化关键词
  • 公司网页模板免费下载重庆seo网站
  • 网站 做购物车信息发布平台推广有哪些
  • 网站开发报价技巧网页设计与制作学什么
  • 电商网站开发的现状济南seo排名搜索
  • 做网站一般注册商标哪个类东莞seo网络推广专
  • 网站如何做微信支付宝支付宝移动优化课主讲:夫唯老师
  • 盘锦做网站谁家好各大搜索引擎网址
  • 做网站的抬头怎么做最新搜索关键词
  • 苏州园区公积金管理中心网站推广优化外包公司哪家好
  • 一流的上海网站建设网站排名优化价格
  • 衡水网站建设服务商怎么做网站赚钱
  • 济南手机网站建设电话百度seo排名查询
  • 台州网站推广排名b2b电商平台
  • 网站怎样做外链建站模板平台
  • 可以做任务的网站有哪些外链工厂
  • 网站设置的用途深圳网站做优化哪家公司好
  • 网站后台如何做广州网站建设推广专家
  • 整形医院网站建设app推广软文范文
  • 宜春网站推广优化新闻稿发布
  • 企业网站的设计要求有哪些搜索引擎关键词竞价排名
  • 网站建设销售话术900句买卖交易平台
  • wordpress浮动条件百度seo服务方案
  • 连云港做网站制作株洲百度seo
  • 怎么做网站赚钱软件中文搜索引擎大全
  • 重庆潼南网站建设哪家便宜免费卖货平台
  • 银川做网站的 公司有哪些网络推广渠道都有哪些
  • 网页制作工具中文版公司关键词排名优化
  • 网络营销第二板斧是什么整站seo怎么做