Web Analytics

BIRD-Interact

⭐ 678 stars Korean by bird-bench

🌐 언어

BIRD-INTERACT 1.0 HKU 로고 Google Cloud 로고

License Leaderboard HuggingFace Python OpenAI

⚠️ 공지

평가 과정을 시작하기 전에 Docker가 데이터베이스를 로드할 때 환경 불일치로 인해 간헐적으로 오류가 발생할 수 있습니다(이 오류는 프로세스를 종료시키지는 않지만 Docker 로그에 표시됩니다). 이로 인해 일부 데이터베이스가 제대로 로드되지 않아 빈 데이터베이스가 생성될 수 있습니다. 이 경우 평가 결과가 비정상적으로 낮게 나올 수 있습니다. 👉 따라서, 평가를 실행하기 전에 Docker 로그에서 오류를 확인하고 모든 데이터베이스가 정상적으로 로드되었는지 반드시 점검할 것을 강력히 권장합니다.

👉 제출 가이드라인이 업데이트되었으며, 커스텀 에이전트 스캐폴드를 지원합니다. 자세한 제출 가이드라인은 여기에서 확인하실 수 있습니다.

📰 소식

본 논문은 인터랙티브 텍스트-투-SQL 벤치마크의 전체 세부 정보, 방법론 및 평가를 제시합니다. 👉 BIRD-Interact의 아이디어가 궁금하다면 확인해보세요.

이번 세트는 매우 어렵습니다 — 최고 LLM도 성공률이 16.33%에 불과하며, c-interacta-interact 부분에서는 10.0%에 머무르고 있습니다. 👉 자세한 내용은 프로젝트 웹사이트를 방문해 주세요.

조기 접근을 원하시면, 사이트 안내에 따라 이메일을 보내 자동 다운로드를 받으실 수 있습니다.

전체 LiveSQLBench-Base-Large 버전도 곧 출시될 예정입니다!

🧸 개요

BIRD-INTERACT는 인터랙티브 텍스트-to-SQL 벤치마크로, 동적 상호작용의 관점에서 Text-to-SQL 평가를 재구성합니다. 이 환경은 계층적 지식베이스, 데이터베이스 문서, 함수 기반 사용자 시뮬레이터를 결합하여 실제 기업 환경을 완전한 CRUD 작업 전반에 걸쳐 재현합니다. 엄격한 두 가지 테스트 모드: (1) 수동 대화형 상호작용과 (2) 능동 Agentic 상호작용을 제공하며, BI, CRUD 등 600개의 주석이 달린 과제와 실행 가능한 테스트 케이스로 보호됩니다. 일반 평가에서는 모델과 사용자 시뮬레이터 간에 1,968~5,496회 상호작용 턴이 발생하며, 최신 추론 모델은 현재 과제의 약 24%약 18%만 해결하여 벤치마크의 난이도를 보여줍니다.

✅ 두 가지 평가 모드

BIRD-INTERACT는 위에서 언급한 두 가지 평가 모드를 지원합니다:

🐣 라이트 버전

BIRD-INTERACT의 라이트 버전인 bird-interact-lite-exp를 공개합니다. 이 버전은 PostgreSQL을 위한 270개의 고품질 실제 과제를 포함하고 있습니다. 빠른 실험에 적합한 출발점입니다.

🦜 풀 버전

BIRD-INTERACT의 풀 버전인 bird-interact-full은 PostgreSQL을 위한 600개의 과제를 포함하는 종합 벤치마크입니다. 다양한 SQL 작업과 사용자 쿼리를 포괄합니다. 풀 버전은 곧 출시될 예정입니다.

BIRD-INTERACT-FULL에서의 모델 성능 결과

#### 1. c-Interact Text-to-SQL 성능 | 순위 | 모델명 | 정규화 보상 | 평균 비용 (USD)/작업 | 등급 | |:----:|:-------------------|:-----------------:|:-------------------:|:--------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 우수한 채팅 | | 2 | O3-Mini | 20.27 | $0.07 | 🏆 우수한 채팅 | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 좋은 채팅 | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 좋은 채팅 | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ 표준 | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ 표준 | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ 기본 |

#### 2. a-Interact Text-to-SQL 성능 | 순위 | 모델명 | 정규화 보상 | 평균 비용 (USD)/작업 | 등급 | |:----:|:-------------------|:-----------------:|:-------------------:|:--------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 우수한 상호작용 | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 우수한 상호작용 | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 좋은 상호작용 | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 좋은 상호작용 | | 5 | O3-Mini | 16.43 | $0.06 | ✨ 표준 | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ 표준 | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ 기본 |

\ 예산 매개변수: 시작 예산/사용자 인내 예산, 당사 가상 화폐 bird-coin*s 로 측정됩니다. 자세한 내용은 bird_interact_agent/README.md을 참조하세요.

상호작용 시간 스케일링(ITS)

상호작용 시간 스케일링(ITS)은 모델이 다회전 상호작용을 통해 최종 성능을 지속적으로 높일 수 있는 능력을 의미합니다. 이 상호작용 성능이 명확하게 지정된 단일 회차 작업에서 모델의 이상적 성능을 초과할 때, 해당 모델이 ITS 법칙을 만족한다고 합니다. 사용자의 인내심이 커지고 상호작용 횟수가 누적될수록 성능이 계속 향상되어, 모델이 장기간 대화에서도 효과적으로 소통할 수 있음을 보여줍니다. 현재로서는 claude-3-7-sonnet만이 ITS 법칙을 만족하는 것으로 확인되었습니다.

환경 설정

> bird-interact-lite에서만 평가하려면, 환경 설정 속도를 높이기 위해 postgresql_full 서비스docker-compose.yml에서 주석 처리할 수 있습니다. 다음 명령으로 환경을 시작하세요:
   cd env
   docker compose pull 
   docker compose up -d
   ``
   데이터베이스 초기화가 완료될 때까지 몇 분 정도 기다리세요.

다음 방법으로 구축 진행 상황을 추적할 수 있습니다: `bash docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite ` 완료되면 오류 없이 로그를 볼 수 있어야 합니다:

`bash bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection ` 이전에 컨테이너를 생성한 적이 있고 다시 생성하려면 다음 명령을 실행할 수 있습니다: `bash docker compose down -v # this cmd removes the containers and the volumes docker compose pull # pull the latest images from Docker Hub docker compose up -d --force-recreate # build and start the containers again. --force-recreate means force the recreation of the containers. # Or docker compose up -d --force-recreate bird_interact_eval to only recreate the bird_interact_eval container about evalution code environment. ` 이 명령은 Docker Hub에서 미리 빌드된 이미지를 사용하여 3개의 컨테이너를 실행합니다:

  • bird_interact_postgresql: bird-interact-lite용 PostgreSQL 데이터베이스
  • bird_interact_postgresql_full: bird-interact-full용 PostgreSQL 데이터베이스
  • bird_interact_eval: a-Interactc-Interact 모두를 위한 평가 환경
이제 다음 명령어를 실행하여 평가 환경을 시작할 수 있습니다: `bash docker compose exec bird_interact_eval bash `
  • (선택사항) 환경을 수동으로 구축하기 (이미지를 처음부터 빌드하려는 경우):
  • 데이터베이스 덤프 다운로드
  • bird-interact-lite. 압축을 풀고 env/postgre_table_dumps로 이름을 변경합니다.
  • bird-interact-full. 압축을 풀고 env/postgre_table_dumps_full로 이름을 변경합니다.
  • docker-compose.build.yml을 실행하여 환경을 수동으로 구축합니다.
`bash cd env/ docker compose -f docker-compose.build.yml build docker compose -f docker-compose.build.yml up -d `

  • (권장) 데이터베이스 컨테이너가 성공적으로 빌드되고 실행 중인지 확인합니다.
  • 데이터베이스가 오류 없이 성공적으로 빌드되었는지 확인하려면 컨테이너 빌드 로그를 출력하세요:
`bash docker logs bird_interact_postgresql > build_bird_interact_postgresql.log 2>&1 docker logs bird_interact_postgresql_full > build_bird_interact_postgresql_full.log 2>&1 ` 오류가 발생하면 "Errors occurred during import:"가 로그 파일에 출력됩니다.

  • 데이터베이스 컨테이너가 정상인지 확인하세요.
제공된 Python 스크립트를 사용하여 데이터베이스 메타데이터를 확인하세요:
`bash docker compose exec bird_interact_eval bash cd /app/env python check_db_metadata.py --host bird_interact_postgresql python check_db_metadata.py --host bird_interact_postgresql_full ` 예상 결과:
  • bird-interact-lite:
  • 📈 총 데이터베이스: 18
  • 📋 총 테이블: 175
  • 🔢 총 컬럼: 2286
  • 📈 테이블당 평균 행 수: 1,038.48
  • 💾 총 크기: 207.15 MB (대략)
  • bird-interact-full:
  • 📈 총 데이터베이스: 22
  • 📋 총 테이블: 244
  • 🔢 총 컬럼: 2011
  • 📈 테이블당 평균 행 수: 1,121.19
  • 💾 총 크기: 272.00 MB (대략)

📦 데이터셋 상세

데이터셋 설명

  • 데이터베이스: 전체 PostgreSQL 데이터베이스는 bird-interact-litebird-interact-full에서 다운로드할 수 있습니다.
  • data: 각 데이터 인스턴스는 다음 주요 부분을 포함합니다:
  • selected_database: 데이터베이스의 이름.
  • query: 명확한 사용자 질의.
  • amb_user_query: 모호성이 삽입된 사용자 질의.
  • user_query_ambiguity: 사용자 질의에 삽입된 모호성.
  • non_critical_ambiguity: 순서, 제한 등과 같은 비중요 모호성.
  • knowledge_ambiguity: 외부 지식이 마스킹되어 생성된 모호성.
  • sol_sql: 정답 SQL 솔루션.
  • preprocess_sql: 솔루션이나 예측 실행 전에 실행할 SQL 질의.
  • clean_up_sql: 테스트 케이스 후 데이터베이스 변경 사항을 되돌리기 위해 실행할 SQL 질의.
  • test_cases: 예측된 수정 SQL을 검증하는 테스트 케이스 세트.
  • follow_up: 라벨링된 후속 질문.
  • external_knowledge: 특정 작업과 관련된 외부 지식.
  • 평가: 평가 코드는 ./evaluation 디렉토리에서 제공됩니다.
  • 큐레이션: BIRD 팀 & Google Cloud
  • 라이선스: cc-by-sa-4.0
  • HuggingFace 데이터셋 카드: PostgreSQL용 bird-interact-lite
bird-interact-full; SQLite용 mini-interact

데이터셋 사용

데이터 유출을 방지하기 위해, GT 솔루션 SQL 및 테스트 케이스는 데이터와 함께 포함되어 있지 않습니다. bird-interact-lite 또는 bird-interact-full 데이터셋의 정답 및 테스트 케이스가 필요하신 경우, 제목에 [bird-interact-lite GT&Test Cases] 또는 [bird-interact-full GT&Test Cases] 태그를 포함하여 bird.bench25@gmail.com 로 이메일을 보내주시면 자동으로 발송됩니다.

공개 데이터와 정답, 테스트 케이스 결합

아래 스크립트를 사용하여 공개 데이터에 정답과 테스트 케이스를 결합합니다:

전체 버전을 예시로 들면: (1) 실행:

bash python combine_public_with_gt.py /path/to/bird-interact-full/bird_interact_data.jsonl /path/to/bird_interact_full_gt_kg_testcases_08022.jsonl /path/to/bird_interact_data.jsonl # bird_interact_full_gt_kg_testcases_08022.jsonl is the data of ground-truth fields, which is obtained by emailing us.
이렇게 하면 결합된 데이터가 포함된 새로운 파일이 /path/to/bird_interact_data.jsonl에 생성됩니다.

(2) 그런 다음 기존 공개 데이터를 결합된 데이터로 교체합니다:

bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonl
다른 버전에도 동일하게 적용됩니다: bird-interact-lite, mini 버전 등. 공개 데이터와 정답 및 테스트 케이스의 경로만 올바르게 설정한 다음, 공개 데이터를 결합된 데이터로 교체하면 됩니다.