Milvus를 사용한 지식 테이블
WhyHow AI에서 개발한Knowledge Table은 비정형 문서에서 정형 데이터를 쉽게 추출하고 탐색할 수 있도록 설계된 오픈 소스 패키지입니다. 사용자에게 스프레드시트와 같은 인터페이스를 제공하며 자연어 쿼리 인터페이스를 통해 표와 그래프와 같은 지식 표현을 만들 수 있습니다. 이 패키지에는 사용자 정의 가능한 추출 규칙, 서식 지정 옵션, 출처를 통한 데이터 추적 기능이 포함되어 있어 다양한 애플리케이션에 적용할 수 있습니다. 사용자 친화적인 인터페이스가 필요한 비즈니스 사용자와 효율적인 문서 처리를 위한 유연한 백엔드가 필요한 개발자 모두를 만족시킬 수 있도록 RAG 워크플로우와의 원활한 통합을 지원합니다.
기본적으로 지식 테이블은 Milvus 데이터베이스를 사용하여 추출된 데이터를 저장하고 검색합니다. 이를 통해 사용자는 Milvus의 강력한 기능을 사용하여 데이터를 쉽게 검색, 필터링 및 분석할 수 있습니다. 이 튜토리얼에서는 지식창고와 Milvus를 시작하는 방법을 보여드리겠습니다.
전제 조건
- Docker
- 도커 컴포즈
프로젝트 복제
$ git clone https://github.com/whyhow-ai/knowledge-table.git
환경 설정하기
프로젝트 루트 디렉터리에서 .env.example
파일을 찾을 수 있습니다. 이 파일을 .env
에 복사하고 필요한 환경 변수를 입력합니다.
Milvus의 경우 MILVUS_DB_URI
및 MILVUS_DB_TOKEN
환경 변수를 설정해야 합니다. 다음은 몇 가지 팁입니다:
MILVUS_DB_URI
을 로컬 파일(예:./milvus.db
)로 설정하는 것이 가장 편리한 방법인데, Milvus Lite를 자동으로 활용하여 모든 데이터를 이 파일에 저장하기 때문입니다.- 백만 개 이상의 벡터와 같이 대량의 데이터가 있는 경우, Docker 또는 Kubernetes에서 더 성능이 뛰어난 Milvus 서버를 설정할 수 있습니다. 이 설정에서는 서버 주소와 포트를 URI로 사용하세요(예:
http://localhost:19530
). Milvus에서 인증 기능을 활성화하는 경우 토큰으로 "<사용자 이름>:<사용자 비밀번호>"를 사용하고, 그렇지 않은 경우 토큰을 설정하지 마세요.- 밀버스의 완전 관리형 클라우드 서비스인 질리즈 클라우드를 사용하려면, 질리즈 클라우드의 퍼블릭 엔드포인트와 API 키에 해당하는
MILVUS_DB_URI
와MILVUS_DB_TOKEN
를 조정하세요.
Milvus 외에 다른 환경(예: OPENAI_API_KEY
)도 설정해야 합니다. 각각 해당 웹사이트에서 받을 수 있습니다.
앱 시작하기
$ docker compose up -d --build
앱 중지
$ docker compose down
프로젝트에 액세스하기
프론트엔드는 http://localhost:3000
에서, 백엔드는 http://localhost:8000
에서 액세스할 수 있습니다.
UI를 살펴보고 직접 문서를 작성해 볼 수 있습니다.
자세한 데모 사용법은 공식 지식 테이블 문서를 참조하세요.