AI Mind Tool
AI Mind Tool
AIMindTool은 데이터 소스를 자연어로 질의(query)할 수 있도록 설계된 도구예요.
출처: 문서
본문
AIMindTool
설명 (Description)
AIMindTool은 MindsDB가 제공하는 AI-Minds의 래퍼(wrapper)입니다. 데이터 소스의 연결 파라미터만 설정하면 데이터를 자연어로 질의할 수 있게 해줍니다. 이 도구는 PostgreSQL, MySQL, MariaDB, ClickHouse, Snowflake, Google BigQuery 등 다양한 데이터 소스에 저장된 데이터로부터 질문에 대한 답이 필요할 때 유용해요.
Minds는 대규모 언어 모델(LLM)과 비슷하게 동작하지만, 어떤 데이터에서든 어떤 질문에나 답할 수 있다는 점에서 한 단계 더 나아간 AI 시스템입니다. 이는 다음 방식으로 이루어집니다:
- **파라메트릭 검색(parametric search)**을 사용해 답에 가장 관련성 높은 데이터를 선택
- **시맨틱 검색(semantic search)**을 통해 의미를 이해하고 올바른 컨텍스트 안에서 응답 제공
- 데이터를 분석하고 머신러닝(ML) 모델을 사용해 정확한 답변 제공
설치 (Installation)
이 도구를 프로젝트에 포함하려면 Minds SDK를 설치해야 합니다:
uv add minds-sdk
시작하기 위한 단계 (Steps to Get Started)
AIMindTool을 효과적으로 사용하려면 다음 단계를 따라주세요:
- 패키지 설치 —
crewai[tools]와minds-sdk패키지가 Python 환경에 설치되어 있는지 확인하세요. - API 키 발급 — Minds 계정을 여기에서 가입하고 API 키를 받으세요.
- 환경 구성 — 받은 API 키를
MINDS_API_KEY라는 환경 변수에 저장해서 도구에서 사용할 수 있게 하세요.
예제 (Example)
다음 예제는 도구를 초기화하고 질의를 실행하는 방법을 보여줍니다:
from crewai_tools import AIMindTool
# Initialize the AIMindTool
aimind_tool = AIMindTool(
datasources=[
{
"description": "house sales data",
"engine": "postgres",
"connection_data": {
"user": "demo_user",
"password": "demo_password",
"host": "samples.mindsdb.com",
"port": 5432,
"database": "demo",
"schema": "demo_data"
},
"tables": ["house_sales"]
}
]
)
# Run a natural language query
result = aimind_tool.run("How many 3 bedroom houses were sold in 2008?")
print(result)
파라미터 (Parameters)
AIMindTool은 다음 파라미터를 받습니다:
- api_key: 선택 사항. 사용자의 Minds API 키. 제공되지 않으면
MINDS_API_KEY환경 변수에서 읽습니다. - datasources: 딕셔너리들의 리스트. 각 딕셔너리는 다음 키를 포함합니다:
- description: 데이터 소스에 포함된 데이터에 대한 설명.
- engine: 데이터 소스의 엔진(또는 유형).
- connection_data: 데이터 소스의 연결 파라미터를 담은 딕셔너리.
- tables: 데이터 소스가 사용할 테이블 리스트. 선택 사항이며, 데이터 소스의 모든 테이블을 사용하려면 생략할 수 있습니다.
지원되는 데이터 소스와 연결 파라미터 목록은 여기에서 확인할 수 있어요.
에이전트 통합 예제 (Agent Integration Example)
AIMindTool을 CrewAI 에이전트와 통합하는 방법은 다음과 같습니다:
from crewai import Agent
from crewai.project import agent
from crewai_tools import AIMindTool
# Initialize the tool
aimind_tool = AIMindTool(
datasources=[
{
"description": "sales data",
"engine": "postgres",
"connection_data": {
"user": "your_user",
"password": "your_password",
"host": "your_host",
"port": 5432,
"database": "your_db",
"schema": "your_schema"
},
"tables": ["sales"]
}
]
)
# Define an agent with the AIMindTool
@agent
def data_analyst(self) -> Agent:
return Agent(
config=self.agents_config["data_analyst"],
allow_delegation=False,
tools=[aimind_tool]
)
결론 (Conclusion)
AIMindTool은 자연어로 데이터 소스를 질의할 수 있는 강력한 방법을 제공해서, 복잡한 SQL 쿼리를 작성하지 않고도 인사이트를 추출하기 쉽게 만들어줘요. 다양한 데이터 소스에 연결하고 AI-Minds 기술을 활용함으로써, 이 도구는 에이전트가 데이터에 효율적으로 접근하고 분석할 수 있게 합니다.
더 알아보기 (Learn more)
- RAG Tool — 자연어 질의로 데이터를 검색하는 RAG 도구 알아보기
- LlamaIndex Tool — LlamaIndex를 활용한 도구 알아보기