Начало работы с подключением Milvus
Milvus — это векторная база данных с открытым исходным кодом для создания AI-приложений с эмбеддингами неструктурированных данных. В ней уже встроено всё необходимое для начала работы, и она запускается на вашем локальном компьютере или размещается в Zilliz Cloud (см. блокнот connect to Zilliz Free Tier).
У Milvus есть четыре SDK: Java, Python, React и Ruby. Ниже мы покажем шаги для Python.
Установите и запустите сервер Milvus
pip install milvus pymilvus #pymilvus is the python sdk
from milvus import default_server
default_server.start()
Примечание: Если вы подключаетесь к Zilliz, вы можете пропустить установку Milvus и вместо этого запустить кластер из консоли.
Получите клиент Milvus (подключение)
from pymilvus import connections
connections.connect(
host=’127.0.0.1’,
port=default_server.listen_port)
Примечание: Чтобы подключиться к serverless Milvus, работающему в Zilliz Cloud, вместо localhost, вам нужно получить endpoint uri и token из консоли.
from pymilvus import connections
ENDPOINT=”https://endpoint.api.region.zillizcloud.com:443”
connections.connect(
uri=ENDPOINT,
token=TOKEN)
Создайте коллекцию
Коллекцию можно представить как таблицу базы данных. Это место, где вы будете хранить свои эмбеддинги, документы и любые дополнительные метаданные.
С коллекцией связаны схема и индекс.
Индекс строится с использованием векторного алгоритма поиска и метрики векторного сходства. Вы можете использовать настройки Milvus по умолчанию. Однако для оптимальной производительности вам следует настроить параметры. Выбор поискового индекса и параметров зависит от ваших данных. См. это руководство по лучшим практикам для выбора поискового индекса. В этом блокноте показано, как изменить параметры.
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”,
}
Вставьте данные в Milvus
Если у вас уже есть сгенерированные эмбеддинги из ваших неструктурированных данных, вы можете загрузить их.
Входные данные могут быть в форме pandas dataframe или списка словарей. Они должны содержать векторный эмбеддинг. Остальные поля являются необязательными: исходный текстовый фрагмент и поля метаданных.
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()
Запросите коллекцию
Вопросы необходимо эмбеддить с использованием той же модели, которая использовалась для эмбеддинга неструктурированных данных, загруженных в базу данных. Вы можете запрашивать коллекцию, используя эмбеддинги вопросов с параметрами поиска Milvus по умолчанию. Те же лучшие практики применяются к выбору правильного поискового индекса для оптимальной производительности.
Ниже Milvus вернет top_k = 3 наиболее похожих результата. Также обратите внимание, что возвращаются исходный фрагмент текста и метаданные, что может помочь с grounding (основанием сгенерированного текста на фактической информации для снижения галлюцинаций).
## 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)
В моем следующем блоге я расскажу, как создать чат-бота с использованием LangChain и Milvus. Оставайтесь на связи.
Дополнительные ресурсы для начала работы с Milvus и Zilliz
Читать далее

Zilliz Cloud Now Available in AWS Europe (Ireland)
Zilliz Cloud launches in AWS eu-west-1 (Ireland) — bringing low-latency vector search, EU data residency, and full GDPR-ready infrastructure to European AI teams. Now live across 30 regions on five cloud providers.

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.

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.



