---
title: بحث RAG في MySQL
description: أداة `MySQLSearchTool` مصممة للبحث في قواعد بيانات MySQL وإرجاع النتائج الأكثر صلة.
icon: database
mode: "wide"
---

## نظرة عامة

هذه الأداة مصممة لتسهيل عمليات البحث الدلالي داخل جداول قواعد بيانات MySQL. من خلال الاستفادة من تقنية RAG (الاسترجاع والتوليد)، توفر أداة MySQLSearchTool للمستخدمين وسيلة فعالة للاستعلام عن محتوى جداول قواعد البيانات، مصممة خصيصاً لقواعد بيانات MySQL. تبسط عملية العثور على البيانات ذات الصلة من خلال استعلامات البحث الدلالي، مما يجعلها مورداً لا يُقدَّر بثمن للمستخدمين الذين يحتاجون إلى إجراء استعلامات متقدمة على مجموعات بيانات واسعة داخل قاعدة بيانات MySQL.

## التثبيت

لتثبيت حزمة `crewai_tools` واستخدام MySQLSearchTool، نفّذ الأمر التالي في الطرفية:

```shell
pip install 'crewai[tools]'
```

## مثال

فيما يلي مثال يوضح كيفية استخدام MySQLSearchTool لإجراء بحث دلالي على جدول داخل قاعدة بيانات MySQL:

```python Code
from crewai_tools import MySQLSearchTool

# Initialize the tool with the database URI and the target table name
tool = MySQLSearchTool(
    db_uri='mysql://user:password@localhost:3306/mydatabase',
    table_name='employees'
)
```

## المعاملات

تتطلب أداة MySQLSearchTool المعاملات التالية لتشغيلها:

- `db_uri`: سلسلة نصية تمثل عنوان URI لقاعدة بيانات MySQL المراد الاستعلام عنها. هذا المعامل إلزامي ويجب أن يتضمن تفاصيل المصادقة اللازمة وموقع قاعدة البيانات.
- `table_name`: سلسلة نصية تحدد اسم الجدول داخل قاعدة البيانات الذي سيتم إجراء البحث الدلالي عليه. هذا المعامل إلزامي.

## النموذج والتضمينات المخصصة

بشكل افتراضي، تستخدم الأداة OpenAI لكل من التضمينات والتلخيص. لتخصيص النموذج، يمكنك استخدام قاموس تكوين كما يلي:

```python Code
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",
            ),
        ),
    )
)
```
