تعلم كيفية دمج Rememberizer كاسترجاع في LangChain لتوفير وصول تطبيق LangChain الخاص بك إلى بحث قوي في قاعدة بيانات المتجهات.
تكامل LangChain
يتكامل Rememberizer مع LangChain من خلال فئة RememberizerRetriever، مما يتيح لك دمج قدرات البحث الدلالي لـ Rememberizer بسهولة في تطبيقاتك المدعومة من LangChain. تشرح هذه الدليل كيفية إعداد واستخدام هذا التكامل لبناء تطبيقات LLM متقدمة مع الوصول إلى قاعدة معرفتك.
المقدمة
LangChain هو إطار عمل شائع لبناء التطبيقات باستخدام نماذج اللغة الكبيرة (LLMs). من خلال دمج Rememberizer مع LangChain، يمكنك:
استخدام قاعدة المعرفة الخاصة بك في Rememberizer في تطبيقات RAG (التوليد المعزز بالاسترجاع)
إنشاء روبوتات محادثة يمكنها الوصول إلى مستنداتك وبياناتك
بناء أنظمة للإجابة على الأسئلة تستفيد من معرفتك
تطوير وكلاء يمكنهم البحث والتفكير في معلوماتك
التكامل متاح في وحدة langchain_community.retrievers.
qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # أبسط طريقة - فقط قم بتجميع جميع الوثائق في الطلب retriever=retriever, return_source_documents=True )
اطرح سؤالاً
response = qa_chain.invoke({"query": "ما هو RAG في سياق الذكاء الاصطناعي؟"})
طباعة الإجابة
print(f"الإجابة: {response['result']}") print("\nالمصادر:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
import os
from langchain_community.retrievers import RememberizerRetriever
### فهم هيكل الوثيقة
كل وثيقة يتم إرجاعها بواسطة المسترجع تحتوي على:
- `page_content`: المحتوى النصي لجزء الوثيقة المتطابق
- `metadata`: معلومات إضافية حول الوثيقة
مثال على هيكل البيانات الوصفية:
```python
{
'id': 13646493,
'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
'name': 'ما هو نموذج اللغة الكبير (LLM)_ _ Cloudflare.pdf',
'type': 'application/pdf',
'path': '/langchain/ما هو نموذج اللغة الكبير (LLM)_ _ Cloudflare.pdf',
'url': 'https://drive.google.com/file/d/17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP/view',
'size': 337089,
'created_time': '',
'modified_time': '',
'indexed_on': '2024-04-04T03:36:28.886170Z',
'integration': {'id': 347, 'integration_type': 'google_drive'}
}
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI
### بناء وكيل محادثة مع الذاكرة
هذا المثال ينشئ وكيل محادثة يمكنه الحفاظ على تاريخ المحادثة:
```python
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI
## أفضل الممارسات
### تحسين أداء الاسترجاع
1. **كن محددًا في الاستعلامات**: الاستعلامات الأكثر تحديدًا عادةً ما تعطي نتائج أفضل
2. **قم بضبط `top_k_results`**: ابدأ بـ 3-5 نتائج وقم بالتعديل بناءً على احتياجات التطبيق
3. **استخدم نوافذ السياق**: يقوم المسترجع تلقائيًا بتضمين السياق حول الأجزاء المطابقة
### اعتبارات الأمان
1. **احمِ مفتاح API الخاص بك**: خزنه بأمان باستخدام متغيرات البيئة أو أدوات إدارة الأسرار
2. **أنشئ مفاتيح مخصصة**: أنشئ مفاتيح API منفصلة لتطبيقات مختلفة
3. **قم بتدوير المفاتيح بانتظام**: قم بإنشاء مفاتيح جديدة بشكل دوري واستبدل القديمة
### أنماط التكامل
1. **معالجة ما قبل الاسترجاع**: النظر في معالجة استفسارات المستخدم مسبقًا لتحسين ملاءمة البحث
2. **تصفية ما بعد الاسترجاع**: تصفية أو ترتيب الوثائق المسترجعة قبل تمريرها إلى LLM
3. **بحث هجين**: دمج Rememberizer مع مسترجعين آخرين باستخدام `EnsembleRetriever`
```python
from langchain.retrievers import EnsembleRetriever
from langchain_community.retrievers import RememberizerRetriever, WebResearchRetriever
## استكشاف الأخطاء وإصلاحها
### المشكلات الشائعة
1. **أخطاء المصادقة**: تحقق من أن مفتاح API الخاص بك صحيح ومكون بشكل صحيح
2. **عدم إرجاع نتائج**: تأكد من أن المعرفة العامة الخاصة بك تحتوي على معلومات ذات صلة
3. **تحديد المعدل**: كن حذرًا من حدود معدل API للتطبيقات ذات الحجم الكبير
### نصائح تصحيح الأخطاء
- قم بتعيين وضع تصحيح الأخطاء في LangChain لرؤية مكالمات API التفصيلية:
```python
import langchain
langchain.debug = True