소개

Completed

AI 애플리케이션은 지능적이고 컨텍스트 인식 환경을 제공하기 위해 고차원 임베딩에 대해 빠르고 정확한 유사성 검색이 필요합니다. 이 모듈에서는 AZURE Managed Redis를 사용하여 벡터 스토리지 및 검색을 구현하여 AI 솔루션에서 의미 체계 검색, 권장 사항 및 RAG(검색 보강 세대)를 사용하도록 설정하는 방법을 안내합니다.

대기업을 위한 AI 기반 지식 관리 시스템을 빌드하는 개발자라고 상상해 보십시오. 시스템은 수백만 개의 기술 문서를 저장하며, 사용자는 키워드 일치뿐만 아니라 진정한 의미 체계 이해를 통해 자연어 질문을 통해 관련 정보를 찾아야 합니다. 문서와 쿼리를 1536차원 벡터로 변환하기 위해 포함 API를 통합했지만, 이제 이러한 수백만 개의 벡터를 저장하고 사용자를 계속 참여시키기 위해 밀리초 단위로 검색해야 합니다. 적절한 벡터 스토리지가 없으면 대규모로 고차원 유사성 검색을 효율적으로 처리할 수 없는 기존 데이터베이스를 사용하거나(2초 쿼리 시간이 발생함) 복잡한 분산 검색 인프라를 처음부터 빌드(몇 달의 개발 필요)할 수 없습니다. 또한 메타데이터 필터링(예: "엔지니어링 부서에서만 유사한 문서 찾기")을 처리하고, 문서가 변경되면 벡터를 업데이트하고, 다양한 데이터 구조와 인덱싱 알고리즘 중에서 선택하여 정확도, 속도 및 메모리 사용량의 균형을 유지해야 합니다. 클라이언트는 수백만 개의 벡터, 메타데이터를 기준으로 필터링하는 기능 및 데이터 세트가 증가함에 따라 정확한 검색과 근사 검색 간에 전환할 수 있는 유연성이 있더라도 100ms 미만의 쿼리 응답을 기대합니다. 올바른 벡터 데이터베이스 인프라가 없으면 성능이 뛰어난 확장성 있는 의미 체계 검색 시스템을 제공하려면 광범위한 사용자 지정 인덱싱 코드를 빌드해야 합니다.

이 모듈을 완료하면 다음을 수행할 수 있습니다.

  • Redis를 벡터 데이터베이스로 사용하여 유사성 검색을 위해 벡터 인덱스를 만들고 포함을 쿼리하는 방법을 설명합니다.
  • 데이터 세트 크기 및 정확도 요구 사항에 따라 적절한 벡터 형식, 거리 메트릭 및 인덱싱 알고리즘 선택
  • 메타데이터를 사용하여 벡터를 저장하기 위한 최적의 Redis 데이터 구조(해시 및 JSON) 선택
  • Azure Managed Redis를 사용하여 고차원 포함을 인덱싱하고 쿼리하는 Python 애플리케이션 빌드

비고

이 모듈의 모든 코드 예제는 작성 당시 라이브러리의 redis-py 최신 버전을 기반으로 합니다. 라이브러리는 자주 업데이트되며 가장 up-to-date 정보를 보려면 redis-py GitHub 사이트를 방문하는 것이 좋습니다.

비고

우리는 다른 사람들이 다른 방법으로 배우는 것을 좋아한다는 것을 알고 있습니다. 이 모듈을 비디오 기반 형식으로 완료하도록 선택하거나 콘텐츠를 텍스트 및 이미지로 읽을 수 있습니다. 텍스트는 비디오보다 더 자세한 내용을 포함하므로 경우에 따라 비디오 프레젠테이션에 대한 추가 자료로 참조할 수 있습니다.