NL2SQLTool
설명
이 도구는 자연어를 SQL 쿼리로 변환하는 데 사용한다. 에이전트에 전달하면 쿼리를 생성하고 이를 데이터베이스와 상호작용하는 데 활용한다. 이를 통해 다양한 워크플로우를 구현할 수 있다. 예를 들어, 에이전트가 데이터베이스에 접근해 목표에 맞는 정보를 가져오고, 그 정보를 바탕으로 응답이나 리포트, 기타 출력물을 생성하는 방식이다. 또한 에이전트가 목표에 따라 데이터베이스를 업데이트할 수도 있다. 주의: 에이전트가 Read-Replica에 접근할 수 있도록 하거나, 에이전트가 데이터베이스에 insert/update 쿼리를 실행해도 문제가 없는지 반드시 확인해야 한다.필수 요구사항
- SqlAlchemy
- DB 호환 라이브러리 (예: psycopg2, mysql-connector-python)
설치
crewai_tools 패키지를 설치한다.사용 방법
NL2SQLTool을 사용하려면 데이터베이스 URI를 도구에 전달해야 한다. URI는dialect+driver://username:password@host:port/database
형식으로 작성한다.
예제
기본 작업 목표는 다음과 같았다: “각 도시의 월별 평균, 최대, 최소 수익을 조회하되, 사용자가 한 명 이상인 도시만 포함한다. 또한 각 도시의 사용자 수를 세고, 결과를 평균 월별 수익 기준으로 내림차순 정렬한다.” 에이전트는 DB에서 정보를 가져오려고 시도했고, 첫 번째 시도는 잘못된 결과를 가져왔다. 에이전트는 다시 시도해 올바른 정보를 얻고 다음 에이전트로 전달했다.




