에이전트가 데이터의 의미를 정확히 이해하도록 돕는 층
에이전트가 데이터베이스에서 숫자를 가져오지만, 그 숫자가 무엇을 의미하는지 모르면 신뢰할 수 없습니다. 이 도구는 기업 메타데이터에서 데이터의 위치, 의미, 출처를 정리한 지식 그래프를 만들어 에이전트가 정확한 답을 내리도록 돕습니다. 자연어 질문을 SQL로 변환할 때 비즈니스 용어를 기준으로 검증하고, 답과 함께 근거를 보여 줍니다.
의미 있는 데이터 층을 만드는 과정
이 도구는 데이터베이스 스키마와 샘플 데이터를 읽어들여 초안 온톨로지를 생성합니다. 여기서 온톨로지는 비즈니스 개념(용어), 테이블 간 연결 관계, 그리고 검증된 SQL 표현식을 포함합니다. 생성된 초안은 사람이 검토하고 인증하는 과정을 거치며, 이 단계에서 용어의 정의와 SQL 로직이 확정됩니다. 인증된 온톨로지는 Postgres에 저장되고, 벡터 검색을 위해 pgvector에 임베딩이 함께 저장됩니다. 이렇게 준비된 층은 에이전트가 질문을 받을 때 참조하는 기준이 됩니다.
질문에 답하는 에이전트의 흐름
에이전트는 질문에서 의도와 엔티티를 추출하고, 온톨로지 후보를 벡터 검색으로 찾습니다. 찾은 후보를 바탕으로 SQL을 작성한 뒤, 필터 값과 쿼리를 데이터베이스에서 검증합니다. 검증이 실패하면 SQL을 수정하고, 성공하면 쿼리를 실행해 답과 함께 생성된 SQL 및 처리 단계를 반환합니다. 데이터에 없는 항목을 묻는 경우, 에이전트는 답할 수 없다고 명시하고 대안을 제안합니다. 모든 답에는 출처와 검증 과정이 포함되므로 결과를 원본 데이터와 대조할 수 있습니다.
에이전트와 연결하는 방법
MCP 서버를 통해 읽기 전용 도구를 제공하며, 각 사용자의 권한으로 호출됩니다. check_answerable로 질문의 커버리지를 확인하고, ask_question으로 답과 SQL, 행 데이터를 가져올 수 있습니다. REST API를 사용하면 서버-사이드 이벤트 스트림으로 답을 받을 수 있으며, API 토큰으로 인증합니다. 웹 UI에서는 채팅, 데이터 카탈로그, 분석, 설정을 관리할 수 있고, 온톨로지의 용어와 관계를 시각적으로 탐색할 수 있습니다. Apache Ossie 표준과 호환되어 모델 정의의 가져오기 및 내보내기를 지원합니다.
배포와 모델 설정
Docker Compose로 로컬 스택을 실행하거나, Helm 차트로 Kubernetes에 배포할 수 있습니다. 기본 구성은 PostgreSQL, pgvector, FastAPI 백엔드, Next.js 프론트엔드로 이루어져 있습니다. 추론에는 NVIDIA NIM 엔드포인트를 사용하며, LLM, 임베딩, 리랭킹 모델을 환경 변수로 설정합니다. 각 모델 역할은 엔드포인트, API 키, 모델 이름의 세트로 구성되며, 미설정 필드는 기본값으로 대체됩니다. 데이터베이스 연결은 PostgreSQL, MySQL, Snowflake 등 10가지 엔진을 지원하며, DuckDB와 SQLite는 연결 문자열만 지원합니다.
사용 전 확인 사항
이 도구는 외부 기여를 받지 않으며, NVIDIA 팀이 코드를 유지보수합니다. Apache License 2.0으로 배포되며, 제3자 구성 요소는 별도 문서에 명시되어 있습니다. KumoRFM 예측 기능을 활성화하면 연결된 테이블이 외부 서비스로 업로드되므로, 데이터 리뷰를 먼저 완료해야 합니다. 포트 3001과 3002는 사설 네트워크에 유지해야 하며, 인제스트 서비스의 엔드포인트는 자체 인증이 없습니다. 브라우저 세션 쿠키가 오래된 경우 UI가 정상적으로 로드되지 않을 수 있으므로, 사이트 데이터를 지우고 다시 로그인해야 합니다.