نظرة عامة
تُستخدم هذه الأداة لتحويل اللغة الطبيعية إلى استعلامات SQL. عند تمريرها إلى الوكيل، ستقوم بتوليد الاستعلامات ثم استخدامها للتفاعل مع قاعدة البيانات. يتيح ذلك سير عمل متعددة مثل أن يقوم وكيل بالوصول إلى قاعدة البيانات واسترجاع المعلومات بناءً على الهدف ثم استخدام تلك المعلومات لتوليد استجابة أو تقرير أو أي مخرجات أخرى. بالإضافة إلى ذلك، يوفر القدرة للوكيل على تحديث قاعدة البيانات بناءً على هدفه. تنبيه: تأكد من أن الوكيل لديه وصول إلى نسخة قراءة فقط أو أنه من المقبول أن يقوم الوكيل بتنفيذ استعلامات إدراج/تحديث على قاعدة البيانات.نموذج الأمان
NL2SQLTool هي أداة قابلة للتنفيذ. تقوم بتشغيل استعلامات SQL المولّدة من النموذج مباشرة على اتصال قاعدة البيانات المُهيأ.
هذا يعني أن المخاطر تعتمد على خيارات النشر الخاصة بك:
- بيانات الاعتماد التي تقدمها في
db_uri - ما إذا كان بإمكان المدخلات غير الموثوقة التأثير على الأوامر
- ما إذا كنت تضيف حواجز حماية لاستدعاءات الأدوات قبل التنفيذ
توصيات التقوية
استخدم جميع الإجراءات التالية في بيئة الإنتاج:- استخدم مستخدم قاعدة بيانات للقراءة فقط كلما أمكن
- فضّل نسخة القراءة لأعباء العمل التحليلية/الاسترجاعية
- امنح أقل صلاحيات ممكنة (بدون أدوار المسؤول/المستخدم الفائق، بدون صلاحيات على مستوى الملفات/النظام)
- طبّق حدود الموارد على مستوى قاعدة البيانات (مهلة الاستعلام، مهلة القفل، حدود التكلفة/الصفوف)
- أضف خطافات
before_tool_callلفرض أنماط الاستعلام المسموح بها - فعّل تسجيل الاستعلامات والتنبيهات للعبارات التدميرية
المتطلبات
- SqlAlchemy
- أي مكتبة متوافقة مع قواعد البيانات (مثل psycopg2، mysql-connector-python)
التثبيت
قم بتثبيت حزمة crewai_toolsالاستخدام
لاستخدام أداة NL2SQLTool، تحتاج إلى تمرير عنوان URI لقاعدة البيانات إلى الأداة. يجب أن يكون العنوان بصيغةdialect+driver://username:password@host:port/database.
Code
