저는 제 텍스트-투-SQL 에이전트에게 비즈니스 용어집을 제공했습니다. 한 버전은 많은 도움이 되었고, 다른 한 버전은 아무런 도움이 되지 않았습니다.
Text-to-SQL 에이전트는 테이블 또는 컬럼 이름과 직접적으로 일치하지 않는 비즈니스 용어를 이해하는 데 어려움을 겪는 경우가 많아 잘못된 쿼리 결과를 초래합니다. SchemaGate 1.2.0은 이러한 에이전트의 정확도를 향상시키기 위해 비즈니스 용어를 도입합니다. 이러한 용어는 동의어, 데이터베이스 컬럼에 대한 매핑, 관련 필터 규칙과 함께 명시적으로 정의될 수 있습니다. 예를 들어, "revenue"는 상태 필터와 함께 billing_invoice.total_net에 매핑될 수 있습니다. 이 프로세스는 에이전트가 관련 테이블을 식별하고 특정 비즈니스 개념의 의미를 이해하는 데 도움이 됩니다. 용어는 계층적 관계를 가질 수도 있으며, 이는 테이블 포함 가중치에 영향을 미칩니다. 비즈니스 용어는 dbt, Snowflake 또는 CSV 내보내기와 같은 다양한 소스에서 가져올 수 있으며, 과거 질문-SQL 쌍에서 학습할 수도 있습니다. SchemaGate의 주요 기능은 에이전트가 보기 전에 권한이 없는 테이블과 컬럼을 숨기는 액세스 제어입니다. 데이터 유출을 방지하기 위해 호출자가 모든 기본 테이블과 컬럼에 액세스할 수 없는 경우 비즈니스 용어에 대한 의미 줄이 생략됩니다. BIRD 데이터셋에 대한 실험은 완전한 용어집이 제공되었을 때 10% 포인트의 상당한 정확도 향상을 보여주었으며, 다른 질문에서 학습된 용어는 영향을 미치지 않았습니다. Spider의 검색 작업에서는 학습된 용어가 테이블 검색을 개선했습니다. 본질적으로, 수동으로 주요 비즈니스 용어를 정의하는 것은 쿼리 정확도를 개선하는 데 중요하며, 특히 공식 이해에 중요하며, 학습된 용어는 테이블 검색에 더 효과적입니다. 프롬프트에 용어를 추가하려면 사용자 권한을 신중하게 고려해야 합니다. SchemaGate는 오픈 소스 프로젝트로 제공되며, 여러 데이터베이스와 통합 옵션을 지원합니다.
billing_invoice.total_net에 매핑될 수 있습니다. 이 프로세스는 에이전트가 관련 테이블을 식별하고 특정 비즈니스 개념의 의미를 이해하는 데 도움이 됩니다. 용어는 계층적 관계를 가질 수도 있으며, 이는 테이블 포함 가중치에 영향을 미칩니다. 비즈니스 용어는 dbt, Snowflake 또는 CSV 내보내기와 같은 다양한 소스에서 가져올 수 있으며, 과거 질문-SQL 쌍에서 학습할 수도 있습니다. SchemaGate의 주요 기능은 에이전트가 보기 전에 권한이 없는 테이블과 컬럼을 숨기는 액세스 제어입니다. 데이터 유출을 방지하기 위해 호출자가 모든 기본 테이블과 컬럼에 액세스할 수 없는 경우 비즈니스 용어에 대한 의미 줄이 생략됩니다. BIRD 데이터셋에 대한 실험은 완전한 용어집이 제공되었을 때 10% 포인트의 상당한 정확도 향상을 보여주었으며, 다른 질문에서 학습된 용어는 영향을 미치지 않았습니다. Spider의 검색 작업에서는 학습된 용어가 테이블 검색을 개선했습니다. 본질적으로, 수동으로 주요 비즈니스 용어를 정의하는 것은 쿼리 정확도를 개선하는 데 중요하며, 특히 공식 이해에 중요하며, 학습된 용어는 테이블 검색에 더 효과적입니다. 프롬프트에 용어를 추가하려면 사용자 권한을 신중하게 고려해야 합니다. SchemaGate는 오픈 소스 프로젝트로 제공되며, 여러 데이터베이스와 통합 옵션을 지원합니다.