探索Milvus数据库:新手入门指南(tencent云)

开启向量数据库的奇妙之旅

在数据科学和机器学习领域,Milvus是一个专为向量数据设计的开源数据库。它以其高性能和易于使用的特点,成为了处理大规模向量搜索任务的理想选择。如果你是Milvus的新手,这篇文章将带你一步步了解如何开始你的Milvus之旅。

什么是Milvus?

Milvus是一个开源的向量数据库,专为处理大规模向量数据而设计。它支持多种类型的向量搜索任务,包括但不限于最近邻搜索(Nearest Neighbor Search)。Milvus通过优化存储和计算资源的使用,使得在大数据环境下进行高效的向量搜索成为可能。它与主流的机器学习框架如TensorFlow和PyTorch兼容,使得数据科学家和开发者能够轻松地将Milvus集成到他们的工作流程中。

为什么选择Milvus?

选择Milvus的理由有很多。首先,它提供了高性能的向量搜索能力,这对于需要快速检索相似项的应用场景至关重要。其次,Milvus支持多种索引类型,包括Faiss、Annoy、HNSW等,这些索引技术可以帮助用户根据不同的需求选择合适的索引策略。此外,Milvus还提供了一个友好的用户界面和一个完整的API集,使得即使是初学者也能快速上手。

如何开始使用Milvus?

要开始使用Milvus,你需要遵循以下步骤:

  1. 安装 :访问官方GitHub页面下载并安装适合你操作系统的版本。
    具体操作请查看https://milvus.io/docs/install_standalone-docker-compose.md,这里在安装之前请查看安装此款软件对应的一些requirements,

我这边选择的是tencent云(ubuntu 22.04LTS),docker形式安装docker 版本:27.4.1。安装完成之后输入sudo docker-compose ps,可以看到我装的是2.5.1的版本

  1. 数据库连接

在python 的命令行中输入pip install pymilvus==2.5.1,一会儿我们要用python进行连接

验证导包是否成功:

python 复制代码
python3 -c "from pymilvus import Collection"

初次尝试连接

首先在vscode中连接tencent云

点击remote connecting 也就是最后一个,输入

python 复制代码
ssh -i /path/to/your-private-key.pem root@your-server-public-ip

后面这个root@your-server-public-ip替换成

然后按照要求一直下一步就可以,下面开始使用milvus

新建数据库

python 复制代码
name1="zibo_bbq"
from pymilvus import MilvusClient, DataType
#创建连接
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus"
)
#建表
schema = MilvusClient.create_schema(
    auto_id=False,
    enable_dynamic_field=True,
)
#给表中增加字段,包含字段名称,字段类型,是否是主键等信息
schema.add_field(field_name="my_id", datatype=DataType.INT64, is_primary=True)
schema.add_field(field_name="emb", datatype=DataType.FLOAT_VECTOR, dim=3)
schema.add_field(field_name="my_varchar", datatype=DataType.VARCHAR, max_length=512)

##对向量进行检索需要增加这个index_params,不过新版的2.5这个是可选项

python 复制代码
index_params = client.prepare_index_params()
index_params.add_index(
    field_name="emb", 
    index_type="AUTOINDEX",
    metric_type="COSINE"
)
##创建name1数据库,并建表
client.create_collection(
    collection_name=name1,
    schema=schema,
    index_params=index_params
)

#准备数据

复制代码
data = [
    {"my_id": 0, "emb": [0.1, 0.2, 0.3], "my_varchar": "今天天气真好"},
    {"my_id": 1, "emb": [0.3, 0.2, 0.2], "my_varchar": "天气真好"}
]
#插入数据
client.insert(
    collection_name=name1,
    data=data
)

#加载数据库并进行检索

复制代码
client.load_collection(name1)

##这个是输出"my_varchar字段的内容

复制代码
client.search(name1,[[0.2,0.3,0.3]],output_fields=["my_varchar"])

执行之后,你可以看到结果被正确的检索出来

现在你已经知道了如何开始使用Milvus了。赶快动手实践吧!

相关推荐
ACP广源盛1392462567319 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
进击的女IT19 小时前
通过mysql中的Data目录恢复数据库数据
数据库·mysql
yuezhilangniao19 小时前
AI工具全家桶:从开发到运维,从数据库到产品经理-含魔塔社区简介
运维·数据库·人工智能
gb421528719 小时前
ChromaDB向量数据库的特点
数据库
IvorySQL20 小时前
PostgreSQL 日报| GiST 索引扫描可见性缺陷(8 月 3 日)
数据库·人工智能·postgresql·开源
xiaoxiangsiyan20 小时前
LNMP + Redis Sentinel 高可用架构部署手册(续)
运维·网络·数据库·redis·缓存·架构·sentinel
刘婉晴20 小时前
【Web漏洞】SQL 注入实战技巧
前端·数据库·sql
CodeHackerBhx20 小时前
Spring Boot 4 防重复提交:从接口幂等到 Redis 分布式锁的完整实践
java·数据库·spring boot·redis·分布式
xlxxy_21 小时前
外部系统调用SAP接口遇到的一些报错
开发语言·数据库·sap·abap
麦聪聊数据21 小时前
连锁零售全域数据管控(下):API 化服务输出,释放全域数据业务价值
数据库