Introdução a uma conexão com o Milvus
Milvus é um banco de dados vetorial de código aberto para criar aplicações de IA com embeddings de dados não estruturados. Ele vem com tudo de que você precisa para começar já integrado e é executado na sua máquina local ou hospedado no Zilliz Cloud (veja o notebook connect to Zilliz Free Tier).
O Milvus tem quatro SDKs: Java, Python, React, e Ruby. Abaixo, mostraremos os passos para Python.
Instale e inicie um servidor Milvus
pip install milvus pymilvus #pymilvus is the python sdk
from milvus import default_server
default_server.start()
Nota: Se você estiver se conectando ao Zilliz, pode pular a instalação do Milvus e iniciar o cluster a partir do console.
Obtenha o cliente Milvus (conexão)
from pymilvus import connections
connections.connect(
host=’127.0.0.1’,
port=default_server.listen_port)
Nota: Para se conectar ao Milvus serverless em execução no Zilliz Cloud em vez de localhost, você precisa obter o uri do endpoint e o token no console.
from pymilvus import connections
ENDPOINT=”https://endpoint.api.region.zillizcloud.com:443”
connections.connect(
uri=ENDPOINT,
token=TOKEN)
Crie uma collection
Você pode pensar em uma collection como uma tabela de banco de dados. É onde você armazenará seus embeddings, documentos e quaisquer metadados adicionais.
Associados a uma collection estão um schema e um índice.
O índice é criado usando um algoritmo de busca vetorial e uma métrica de similaridade vetorial. Você pode usar os padrões do Milvus. No entanto, para desempenho ideal, você deve configurar os parâmetros. A escolha do índice de busca e dos parâmetros depende dos seus dados. Veja este guia de melhores práticas para escolher um índice de busca. Este notebook mostra como modificar os parâmetros.
from pymilvus import (
FieldSchema, DataType,
CollectionSchema, Collection)
## 1. Define a minimum expandable schema.
fields = [
FieldSchema(“pk”, DataType.INT64, is_primary=True, auto_id=True),
FieldSchema(“vector”, DataType.FLOAT_VECTOR, dim=768),
]
schema = CollectionSchema(
fields,
enable_dynamic_field=True,
)
## 2. Create a collection.
mc = Collection(“my_collection_name”, schema)
## 3. Index the collection.
mc.create_index(
field_name=”vector”,
index_params={
“Index_type”: “AUTOINDEX”,
“Metric_type”: “COSINE”,
}
Insira dados no Milvus
Se você já gerou embeddings a partir dos seus dados não estruturados, pode carregá-los.
Os dados de entrada podem estar na forma de um dataframe pandas ou de uma lista de dicionários. Eles devem conter um embedding vetorial. Os campos restantes são opcionais: trecho de texto original e campos de metadados.
from pymilvus import connections
## 1. Input data can be pandas dataframe or list of dicts.
data_rows = []
data_rows.extend([
{“vector”: np.random.randn(768).tolist(),
“text”: “This is a document”,
“source”: “source_url_1”},
{“vector”: np.random.randn(768).tolist(),
“text”: “This is another document”,
“source”: “source_url_2”},
])
## 2. Insert data into milvus.
mc.insert(data_rows)
mc.flush()
Consulte a collection
As perguntas precisam ser transformadas em embeddings usando o mesmo modelo usado para gerar embeddings dos dados não estruturados carregados no banco de dados. Você pode consultar a collection usando os embeddings das perguntas com os parâmetros de busca padrão do Milvus. As mesmas melhores práticas se aplicam à escolha do índice de busca correto para desempenho ideal.
Abaixo, o Milvus retornará os top_k = 3 resultados mais semelhantes. Além disso, observe que o fragmento de texto original e os metadados são retornados, o que pode ajudar com a fundamentação (basear o texto gerado em informações factuais para reduzir alucinações).
## 1. Search for answers to your embedded questions.
mc.load()
results = mc.search(
data=encoder([“my_question_1”]),
anns_field=”vector”,
output_fields-[“text”, “source”], #optional return fields
limit=3,
param={}, #no params if using milvus defaults
)
## 2. View the answers.
for n, hits in enumerate(results):
print(f”{n}th result:”)
for hit in hits:
print(hit)
No meu próximo blog, abordarei como criar um chatbot usando LangChain e Milvus. Fique ligado.
Mais recursos para começar a usar o Milvus e a Zilliz
Continue lendo

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.



