تكامل LangChain
تعلم كيفية دمج Rememberizer كاسترجاع في LangChain لتوفير وصول تطبيق LangChain الخاص بك إلى بحث قوي في قاعدة بيانات المتجهات.
تكامل LangChain
يتكامل Rememberizer مع LangChain من خلال فئة RememberizerRetriever، مما يتيح لك دمج قدرات البحث الدلالي لـ Rememberizer بسهولة في تطبيقاتك المدعومة من LangChain. تشرح هذه الدليل كيفية إعداد واستخدام هذا التكامل لبناء تطبيقات LLM متقدمة مع الوصول إلى قاعدة معرفتك.
المقدمة
LangChain هو إطار عمل شائع لبناء التطبيقات باستخدام نماذج اللغة الكبيرة (LLMs). من خلال دمج Rememberizer مع LangChain، يمكنك:
استخدام قاعدة المعرفة الخاصة بك في Rememberizer في تطبيقات RAG (التوليد المعزز بالاسترجاع)
إنشاء روبوتات محادثة يمكنها الوصول إلى مستنداتك وبياناتك
بناء أنظمة للإجابة على الأسئلة تستفيد من معرفتك
تطوير وكلاء يمكنهم البحث والتفكير في معلوماتك
التكامل متاح في وحدة langchain_community.retrievers.
البدء
المتطلبات الأساسية
قبل أن تبدأ، تحتاج إلى:
حساب Rememberizer مع إنشاء المعرفة العامة
مفتاح API للوصول إلى معرفتك العامة
بيئة Python مع تثبيت LangChain
للحصول على تعليمات مفصلة حول إنشاء المعرفة العامة وتوليد مفتاح API، راجع تسجيل واستخدام مفاتيح API.
التثبيت
قم بتثبيت الحزم المطلوبة:
إذا كنت تخطط لاستخدام نماذج OpenAI (كما هو موضح في الأمثلة أدناه):
إعداد المصادقة
هناك طريقتان لمصادقة RememberizerRetriever:
متغير البيئة: قم بتعيين متغير البيئة
REMEMBERIZER_API_KEYمعامل مباشر: قم بتمرير مفتاح API مباشرة عند تهيئة المسترجع
خيارات التكوين
تقبل فئة RememberizerRetriever هذه المعلمات:
top_k_results
int
10
عدد الوثائق التي سيتم إرجاعها من البحث
rememberizer_api_key
str
None
مفتاح API للمصادقة (اختياري إذا تم تعيينه كمتغير بيئي)
خلف الكواليس، يقوم المسترجع بإجراء مكالمات API إلى نقطة نهاية البحث الخاصة بـ Rememberizer مع معلمات قابلة للتكوين إضافية:
prev_chunks
عدد القطع قبل القطعة المطابقة التي يجب تضمينها (الافتراضي: 2)
next_chunks
عدد القطع بعد القطعة المطابقة التي يجب تضمينها (الافتراضي: 2)
return_full_content
ما إذا كان يجب إرجاع محتوى الوثيقة بالكامل (الافتراضي: true)
الاستخدام الأساسي
إليك مثال بسيط لاسترجاع الوثائق من Rememberizer باستخدام LangChain:
قم بتعيين مفتاح واجهة برمجة التطبيقات الخاص بك
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
تهيئة المسترجع
retriever = RememberizerRetriever(top_k_results=5)
احصل على الوثائق ذات الصلة لاستعلام
docs = retriever.get_relevant_documents(query="كيف تعمل تمثيلات المتجهات؟")
عرض الوثيقة الأولى
if docs: print(f"الوثيقة: {docs[0].metadata['name']}") print(f"المحتوى: {docs[0].page_content[:200]}...")
أمثلة متقدمة
بناء نظام للإجابة على الأسئلة باستخدام RAG
هذا المثال ينشئ نظامًا للإجابة على الأسئلة يسترجع المعلومات من Rememberizer ويستخدم GPT-3.5 لصياغة الإجابات:
إعداد مفاتيح API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
تهيئة المسترجع ونموذج اللغة
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
إنشاء سلسلة استرجاع QA
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']}")
إعداد مفاتيح API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
تهيئة المكونات
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
إنشاء سلسلة المحادثة
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
مثال على المحادثة
questions = [ "ما هو RAG؟", "كيف تستخدم نماذج اللغة الكبيرة ذلك؟", "ما هي قيود هذه الطريقة؟", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"السؤال: {question}") print(f"الإجابة: {response['answer']}\n")
إنشاء المسترجعين
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # تكوين مسترجع آخر
إنشاء مجموعة مع درجة موزونة
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # نتائج Rememberizer لها وزن أعلى )
افحص نتائج البحث الخام قبل تمريرها إلى LLM لتحديد مشكلات الاسترجاع
الموارد ذات الصلة
دليل مفاهيم [Retriever] في LangChain (https://python.langchain.com/docs/concepts/#retrievers)
أدلة كيفية استخدام [Retriever] في LangChain (https://python.langchain.com/docs/how_to/#retrievers)
وثائق [API] لـ Rememberizer (https://docs.rememberizer.ai/developer/api-docs/)
[متاجر المتجهات] (https://docs.rememberizer.ai/developer/vector-stores) في Rememberizer
[إنشاء GPT لـ Rememberizer] (creating-a-rememberizer-gpt.md) - نهج بديل لدمج الذكاء الاصطناعي
Last updated