python中milvus插入数据
时间: 2025-05-16 07:56:20 浏览: 24
### 如何在 Python 中使用 Milvus 插入数据
要在 Python 中通过 Milvus 向量数据库插入数据,通常会借助 `pymilvus` 工具包完成操作。以下是具体方法及其细节:
#### 使用 pymilvus 的基本流程
1. **创建 Collection**: 需要先定义一个集合 (Collection),并指定其字段结构以及向量维度等参数。
2. **准备数据**: 数据应按照预设的字段格式组织好,支持多种类型的字段组合(如整数、浮点数组成的向量等)。
3. **执行插入**: 调用相应的 API 将数据批量或逐条写入到目标 Collection。
下面是一个完整的代码示例展示如何实现上述过程:
```python
from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection
# 建立连接至 Milvus 实例
connections.connect("default", host="localhost", port="19530")
# 定义字段模式
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=8) # 设定向量维数为8
]
schema = CollectionSchema(fields)
# 创建一个新的 collection 名称为 'example_collection'
collection_name = "example_collection"
try:
milvus_collection = Collection(name=collection_name, schema=schema)
except Exception as e:
print(f"Collection already exists or error occurred: {e}")
milvus_collection = Collection(name=collection_name)
# 准备待插入的数据
data_to_insert = [
[i for i in range(10)], # id 列表
[[float(i)] * 8 for i in range(10)] # embedding 向量列表
]
# 执行插入动作
result = milvus_collection.insert(data=data_to_insert)
print(result)
# 查看当前状态
milvus_collection.flush()
num_entities = milvus_collection.num_entities
print(f"Number of entities after insertion: {num_entities}")
```
此脚本展示了从建立与远程服务器之间的链接到最后确认插入数量的一系列步骤[^1]。
值得注意的是,在实际应用场景下可能还会涉及更多配置选项比如设置索引类型等等[^3]。
另外,Milvus 不仅限于单独作为向量搜索引擎存在;当它与其他技术栈相结合时能发挥更大价值例如配合 vLLM 和 Llama 构建检索增强生成(Retrieval-Augmented Generation,RAG)系统用于自然语言处理领域内的问答任务等方面都有出色表现[^2].
####
阅读全文
相关推荐


















