Update note.md
This commit is contained in:
parent
2e9415d5a9
commit
67263c0e27
15
note.md
15
note.md
@ -1,5 +1,3 @@
|
|||||||
Markdown
|
|
||||||
|
|
||||||
# **توضیح جامع سیستم RAG مدولار**
|
# **توضیح جامع سیستم RAG مدولار**
|
||||||
|
|
||||||
## **معرفی**
|
## **معرفی**
|
||||||
@ -30,9 +28,10 @@ Markdown
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
result = get_context("شاه عباس که بود؟")
|
result = get_context("شاه عباس که بود؟")
|
||||||
|
```
|
||||||
این تابع یک دیکشنری (Dictionary) با ساختار زیر برمیگرداند:
|
این تابع یک دیکشنری (Dictionary) با ساختار زیر برمیگرداند:
|
||||||
|
|
||||||
Python
|
```python
|
||||||
|
|
||||||
{
|
{
|
||||||
"has_context": True, # آیا اطلاعاتی یافت شده است یا خیر
|
"has_context": True, # آیا اطلاعاتی یافت شده است یا خیر
|
||||||
@ -41,10 +40,11 @@ Python
|
|||||||
"sources": ["url1", "url2", ...], # فهرست منابع (فقط در صورت استفاده از نتایج وب)
|
"sources": ["url1", "url2", ...], # فهرست منابع (فقط در صورت استفاده از نتایج وب)
|
||||||
"language": "fa" # زبان پاسخ (همیشه فارسی)
|
"language": "fa" # زبان پاسخ (همیشه فارسی)
|
||||||
}
|
}
|
||||||
|
```
|
||||||
پارامترهای قابل تنظیم
|
پارامترهای قابل تنظیم
|
||||||
میتوانید پارامترهای مربوط به خزش وب را هنگام فراخوانی تابع get_context به صورت زیر تنظیم کنید:
|
میتوانید پارامترهای مربوط به خزش وب را هنگام فراخوانی تابع get_context به صورت زیر تنظیم کنید:
|
||||||
|
|
||||||
Python
|
```python
|
||||||
|
|
||||||
result = get_context("شاه عباس که بود؟", crawl_params={
|
result = get_context("شاه عباس که بود؟", crawl_params={
|
||||||
'max_depth': 3, # حداکثر عمق خزش (تعداد لینکهای دنبال شده)
|
'max_depth': 3, # حداکثر عمق خزش (تعداد لینکهای دنبال شده)
|
||||||
@ -52,14 +52,16 @@ result = get_context("شاه عباس که بود؟", crawl_params={
|
|||||||
'max_paragraphs': 8, # حداکثر تعداد پاراگرافهای استخراج شده از هر صفحه
|
'max_paragraphs': 8, # حداکثر تعداد پاراگرافهای استخراج شده از هر صفحه
|
||||||
'num_search_results': 15 # تعداد نتایج اولیه جستجو از DuckDuckGo
|
'num_search_results': 15 # تعداد نتایج اولیه جستجو از DuckDuckGo
|
||||||
})
|
})
|
||||||
|
```
|
||||||
ساختار فایلها
|
ساختار فایلها
|
||||||
سیستم از ساختار پوشه زیر برای ذخیرهسازی دادهها استفاده میکند:
|
سیستم از ساختار پوشه زیر برای ذخیرهسازی دادهها استفاده میکند:
|
||||||
|
```python
|
||||||
./rag_data/
|
./rag_data/
|
||||||
├── documents/ # پوشه اسناد PDF بارگذاری شده
|
├── documents/ # پوشه اسناد PDF بارگذاری شده
|
||||||
│ └── docs.pkl # فایل ذخیرهسازی اسناد پردازش شده
|
│ └── docs.pkl # فایل ذخیرهسازی اسناد پردازش شده
|
||||||
└── web_results/ # پوشه نتایج خزش وب
|
└── web_results/ # پوشه نتایج خزش وب
|
||||||
└── web.json # فایل ذخیرهسازی نتایج وب
|
└── web.json # فایل ذخیرهسازی نتایج وب
|
||||||
|
```
|
||||||
توضیح توابع اصلی
|
توضیح توابع اصلی
|
||||||
load_pdf: بارگذاری، پردازش و تقسیمبندی محتوای فایلهای PDF.
|
load_pdf: بارگذاری، پردازش و تقسیمبندی محتوای فایلهای PDF.
|
||||||
search_duckduckgo: انجام جستجو در موتور جستجوی DuckDuckGo.
|
search_duckduckgo: انجام جستجو در موتور جستجوی DuckDuckGo.
|
||||||
@ -72,10 +74,11 @@ extract_context_from_web: استخراج متن مرتبط با پرسش از ن
|
|||||||
get_context: تابع اصلی و رابط کاربری سیستم که فرآیند جستجو در اسناد و یا خزش وب را مدیریت کرده و نتیجه نهایی را برمیگرداند.
|
get_context: تابع اصلی و رابط کاربری سیستم که فرآیند جستجو در اسناد و یا خزش وب را مدیریت کرده و نتیجه نهایی را برمیگرداند.
|
||||||
نکات مهم
|
نکات مهم
|
||||||
برای افزودن اسناد PDF جدید به سیستم، از تابع load_pdf استفاده کنید:
|
برای افزودن اسناد PDF جدید به سیستم، از تابع load_pdf استفاده کنید:
|
||||||
Python
|
```python
|
||||||
|
|
||||||
rag = ModularRAG()
|
rag = ModularRAG()
|
||||||
rag.load_pdf("path/to/your/document.pdf")
|
rag.load_pdf("path/to/your/document.pdf")
|
||||||
|
```
|
||||||
سیستم به صورت خودکار اسناد پردازششده و نتایج وب را ذخیره و در اجراهای بعدی مجدداً بارگذاری میکند تا از پردازش تکراری جلوگیری شود.
|
سیستم به صورت خودکار اسناد پردازششده و نتایج وب را ذخیره و در اجراهای بعدی مجدداً بارگذاری میکند تا از پردازش تکراری جلوگیری شود.
|
||||||
این سیستم تنها وظیفه بازیابی متن مرتبط را بر عهده دارد و برای تولید پاسخ نهایی نیازی به فراخوانی مستقیم یک مدل زبانی بزرگ (LLM) توسط کاربر ندارد (هرچند خروجی آن میتواند به عنوان ورودی به LLM داده شود).
|
این سیستم تنها وظیفه بازیابی متن مرتبط را بر عهده دارد و برای تولید پاسخ نهایی نیازی به فراخوانی مستقیم یک مدل زبانی بزرگ (LLM) توسط کاربر ندارد (هرچند خروجی آن میتواند به عنوان ورودی به LLM داده شود).
|
||||||
برای استفاده از این سیستم در پروژههای دیگر، کافی است فایل پایتون مربوطه را وارد (import) کرده و تابع get_context را فراخوانی نمایید.
|
برای استفاده از این سیستم در پروژههای دیگر، کافی است فایل پایتون مربوطه را وارد (import) کرده و تابع get_context را فراخوانی نمایید.
|
||||||
Loading…
x
Reference in New Issue
Block a user