بحث RAG في المجلدات
DirectorySearchTool
Section titled “DirectorySearchTool”تتيح DirectorySearchTool البحث الدلالي داخل محتوى المجلدات المحددة، مستفيدة من منهجية الاسترجاع المعزز بالتوليد (RAG) للتنقل الفعال بين الملفات. صُممت لتكون مرنة، حيث تسمح للمستخدمين بتحديد مجلدات البحث ديناميكياً أثناء التشغيل أو تعيين مجلد ثابت أثناء الإعداد الأولي.
التثبيت
Section titled “التثبيت”لاستخدام DirectorySearchTool، ابدأ بتثبيت حزمة crewai_tools. نفّذ الأمر التالي في الطرفية:
pip install 'crewai[tools]'التهيئة والاستخدام
Section titled “التهيئة والاستخدام”قم باستيراد DirectorySearchTool من حزمة crewai_tools للبدء. يمكنك تهيئة الأداة بدون تحديد مجلد، مما يتيح تعيين مجلد البحث أثناء التشغيل. بدلاً من ذلك، يمكن تهيئة الأداة بمجلد محدد مسبقاً.
from crewai_tools import DirectorySearchTool
# For dynamic directory specification at runtimetool = DirectorySearchTool()
# For fixed directory searchestool = DirectorySearchTool(directory='/path/to/directory')المعاملات
Section titled “المعاملات”directory: معامل نصي يحدد مجلد البحث. هذا اختياري أثناء التهيئة لكنه مطلوب لعمليات البحث إذا لم يتم تعيينه مبدئياً.
النموذج والتضمينات المخصصة
Section titled “النموذج والتضمينات المخصصة”تستخدم DirectorySearchTool افتراضياً OpenAI للتضمينات والتلخيص. تتضمن خيارات التخصيص لهذه الإعدادات تغيير مزود النموذج والتكوين، مما يعزز المرونة للمستخدمين المتقدمين.
from chromadb.config import Settings
tool = DirectorySearchTool( config={ "embedding_model": { "provider": "openai", "config": { "model": "text-embedding-3-small", # "api_key": "sk-...", }, }, "vectordb": { "provider": "chromadb", # or "qdrant" "config": { # "settings": Settings(persist_directory="/content/chroma", allow_reset=True, is_persistent=True), # from qdrant_client.models import VectorParams, Distance # "vectors_config": VectorParams(size=384, distance=Distance.COSINE), } }, })الأمان
Section titled “الأمان”التحقق من صحة المسارات
Section titled “التحقق من صحة المسارات”يتم التحقق من مسارات المجلدات المقدمة لهذه الأداة مقابل مجلد العمل الحالي. يتم رفض المسارات التي تحل خارج مجلد العمل وإطلاق ValueError.
للسماح بالمسارات خارج مجلد العمل (مثلاً في الاختبارات أو خطوط الأنابيب الموثوقة)، عيّن متغير البيئة التالي:
CREWAI_TOOLS_ALLOW_UNSAFE_PATHS=true