MySQL RAG Search
MySQL RAG Search
MySQLSearchTool은 MySQL 데이터베이스를 검색하고 가장 관련성 높은 결과를 반환하도록 설계된 도구예요.
출처: 문서
본문
개요 (Overview)
이 도구는 MySQL 데이터베이스 테이블 내에서 시맨틱 검색을 원활하게 수행하도록 설계되었어요. RAG(Retrieve and Generate) 기술을 활용하는 MySQLSearchTool은 사용자에게 MySQL 데이터베이스에 특화된 테이블 콘텐츠 질의 수단을 제공합니다. 시맨틱 검색 쿼리를 통해 관련 데이터를 찾는 과정을 단순화하여, MySQL 데이터베이스의 대규모 데이터셋에 대해 고급 쿼리를 수행해야 하는 사용자에게 매우 유용한 자원입니다.
설치 (Installation)
crewai_tools 패키지를 설치하고 MySQLSearchTool을 사용하려면 터미널에서 다음 명령을 실행하세요:
pip install 'crewai[tools]'
예제 (Example)
다음은 MySQLSearchTool을 사용해 MySQL 데이터베이스의 테이블에서 시맨틱 검색을 수행하는 방법을 보여주는 예제입니다:
from crewai_tools import MySQLSearchTool
# Initialize the tool with the database URI and the target table name
tool = MySQLSearchTool(
db_uri='mysql://user:***@localhost:3306/mydatabase',
table_name='employees'
)
인자 (Arguments)
MySQLSearchTool은 동작을 위해 다음 인자가 필요합니다:
db_uri: 질의할 MySQL 데이터베이스의 URI를 나타내는 문자열. 필수 인자이며, 필요한 인증 정보와 데이터베이스 위치를 포함해야 합니다.table_name: 시맨틱 검색을 수행할 데이터베이스 내 테이블 이름을 지정하는 문자열. 필수 인자입니다.
커스텀 모델과 임베딩 (Custom model and embeddings)
기본적으로 도구는 임베딩과 요약에 OpenAI를 사용합니다. 모델을 커스터마이즈하려면 다음과 같이 config 딕셔너리를 사용할 수 있어요:
tool = MySQLSearchTool(
config=dict(
llm=dict(
provider="ollama", # or google, openai, anthropic, llama2, ...
config=dict(
model="llama2",
# temperature=0.5,
# top_p=1,
# stream=true,
),
),
embedder=dict(
provider="google-generativeai",
config=dict(
model_name="gemini-embedding-001",
task_type="RETRIEVAL_DOCUMENT",
# title="Embeddings",
),
),
)
)
더 알아보기 (Learn more)
- PG RAG Search — PostgreSQL 검색 도구 알아보기
- Database & Data 도구 개요 — 데이터베이스 도구 전체 살펴보기