임베디드 Milvus를 사용하여 Python으로 Milvus를 즉시 설치 및 실행하기
표지
Milvus는 AI 애플리케이션을 위한 오픈 소스 벡터 데이터베이스입니다. 소스 코드에서 빌드하는 방법, Docker Compose/Helm/APT/YUM/Ansible로 Milvus를 설치하는 방법 등 다양한 설치 방법을 제공합니다. 사용자는 운영 체제와 환경 설정에 따라 설치 방법 중 하나를 선택할 수 있습니다. 그러나 Milvus 커뮤니티의 많은 데이터 과학자와 AI 엔지니어들은 Python으로 작업하며 현재 사용 가능한 설치 방법보다 훨씬 간단한 설치 방법을 갈망하고 있습니다.
따라서 Milvus 2.1과 함께 Python 사용자 친화적인 버전인 임베디드 Milvus를 출시하여 커뮤니티의 더 많은 Python 개발자에게 힘을 실어드리고자 합니다. 이 문서에서는 임베디드 Milvus가 무엇인지 소개하고 설치 및 사용 방법에 대한 지침을 제공합니다.
건너뛰기:
임베디드 Milvus 개요
임베디드 Mil vus를 사용하면 Python으로 Milvus를 빠르게 설치하고 사용할 수 있습니다. Milvus 인스턴스를 빠르게 불러올 수 있으며, 원할 때마다 Milvus 서비스를 시작 및 중지할 수 있습니다. 임베디드 Milvus를 중지하더라도 모든 데이터와 로그는 유지됩니다.
임베디드 Milvus 자체에는 내부 종속성이 없으며 etcd, MinIO, Pulsar 등과 같은 타사 종속성을 사전 설치 및 실행할 필요가 없습니다.
임베디드 Milvus로 수행하는 모든 작업과 이를 위해 작성하는 모든 코드는 독립형, 클러스터, 클라우드 버전 등 다른 Milvus 모드로 안전하게 마이그레이션할 수 있습니다. 이는 임베디드 Milvus의 가장 큰 특징 중 하나인 "한 번 작성하면 어디서나 실행"을 반영합니다.
임베디드 Milvus는 언제 사용하나요?
임베디드 Milvus와 PyMilvus는 서로 다른 목적을 위해 만들어졌습니다. 다음 시나리오에서는 임베디드 Milvus를 선택하는 것을 고려할 수 있습니다:
여기에 제공된 방법으로 Milvus를 설치하지 않고 Milvus를 사용하려는 경우.
머신에서 장기간 실행되는 Milvus 프로세스를 유지하지 않고 Milvus를 사용하려는 경우.
별도의 Milvus 프로세스 및 etcd, MinIO, Pulsar 등과 같은 기타 필수 구성 요소를 시작하지 않고 Milvus를 빠르게 사용하고자 하는 경우.
임베디드 Milvus를 사용하지 않는 것이 좋습니다:
프로덕션 환경에서.(프로덕션 환경에서 Milvus를 사용하려면 Milvus 클러스터 또는 완전 관리형 Milvus 서비스인 Zilliz 클라우드를 고려하세요.)
성능에 대한 요구가 높은 경우.(상대적으로 임베디드 Milvus는 최상의 성능을 제공하지 못할 수 있습니다.)
Milvus의 다양한 모드 비교
아래 표는 독립형, 클러스터, 임베디드 Milvus, 그리고 완전 관리형 Milvus 서비스인 Zilliz Cloud의 여러 Milvus 모드를 비교한 것입니다.
비교
임베디드 Milvus는 어떻게 설치하나요?
임베디드 Milvus를 설치하기 전에 먼저 Python 3.6 이상을 설치했는지 확인해야 합니다. 임베디드 Milvus는 다음 운영 체제를 지원합니다:
Ubuntu 18.04
Mac x86_64 >= 10.4
Mac M1 >= 11.0
요구 사항을 충족하는 경우 $ python3 -m pip install milvus
을 실행하여 임베디드 Milvus를 설치할 수 있습니다. 명령에 버전을 추가하여 특정 버전의 임베디드 Milvus를 설치할 수도 있습니다. 예를 들어 2.1.0 버전을 설치하려면 $ python3 -m pip install milvus==2.1.0
을 실행합니다. 나중에 임베디드 Milvus의 새 버전이 출시되면 $ python3 -m pip install --upgrade milvus
을 실행하여 임베디드 Milvus를 최신 버전으로 업그레이드할 수도 있습니다.
이전에 이미 파이밀버스를 설치한 적이 있는 기존 Milvus 사용자로서 임베디드 Milvus를 설치하고자 하는 경우 $ python3 -m pip install --no-deps milvus
을 실행할 수 있습니다.
설치 명령을 실행한 후 다음 명령을 실행하여 /var/bin/e-milvus
아래에 임베디드 Milvus용 데이터 폴더를 만들어야 합니다:
sudo mkdir -p /var/bin/e-milvus
sudo chmod -R 777 /var/bin/e-milvus
임베디드 Milvus 시작 및 중지
설치가 완료되면 서비스를 시작할 수 있습니다.
임베디드 Milvus를 처음 실행하는 경우 먼저 Milvus를 가져와서 임베디드 Milvus를 설정해야 합니다.
$ python3
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import milvus
>>> milvus.before()
please do the following if you have not already done so:
1. install required dependencies: bash /var/bin/e-milvus/lib/install_deps.sh
2. export LD_PRELOAD=/SOME_PATH/embd-milvus.so
3. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/var/bin/e-milvus/lib/
>>>
이전에 임베디드 Milvus를 성공적으로 실행한 후 다시 시작하려면 Milvus를 가져온 후 milvus.start()
를 바로 실행하면 됩니다.
$ python3
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwinType "help", "copyright", "credits" or "license" for more information.
>>> import milvus
>>> milvus.start()
>>>
임베디드 Milvus 서비스가 성공적으로 시작되었다면 다음과 같은 출력을 확인할 수 있습니다.
---Milvus Proxy successfully initialized and ready to serve!---
서비스가 시작되면 다른 터미널 창을 열고 "Hello Milvus"의 예제 코드를 실행하여 임베드된 Milvus를 사용해 볼 수 있습니다!
# Download hello_milvus script
$ wget https://raw.githubusercontent.com/milvus-io/pymilvus/v2.1.0/examples/hello_milvus.py
# Run Hello Milvus
$ python3 hello_milvus.py
임베디드 밀버스 사용이 끝나면 다음 명령을 실행하거나 Ctrl-D를 눌러 서비스를 정상적으로 종료하고 환경 변수를 정리하는 것이 좋습니다.
>>> milvus.stop()
if you need to clean up the environment variables, run:
export LD_PRELOAD=
export LD_LIBRARY_PATH=
>>>
>>> exit()
다음 단계
Milvus 2.1의 공식 출시와 함께 새로운 기능을 소개하는 블로그 시리즈를 준비했습니다. 이 블로그 시리즈에서 자세히 읽어보세요:
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word