"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > قم بتحسين تطبيق RAG الخاص بك من خلال إمكانية البحث على الويب!

قم بتحسين تطبيق RAG الخاص بك من خلال إمكانية البحث على الويب!

تم النشر بتاريخ 2024-11-08
تصفح:549

Enhance Your RAG Application With Web Searching Capability!

مقدمة

عند إنشاء مشاريع ممتعة باستخدام تطبيقات الاسترجاع المعزز (RAG)، غالبًا ما نواجه قيودًا مثل قيود التصفح، مما يجعل من الصعب الحصول على أحدث المعلومات أو البيانات الحالية، مثل تحديثات الطقس (آمل أن يكون هناك شيء أكثر مرحًا). لحل هذه المشكلة، يمكننا تجهيز تطبيق RAG الخاص بنا بأدوات للبحث في الإنترنت. هيا بنا نتعمق!

 لدينا أداة مقاعد البدلاء

  • LangChain (إطار عمل لبناء التطبيقات باستخدام نماذج لغوية كبيرة)
  • SearXNG (محرك بحث تعريفي مجاني)
  • CPython (مجمّع لغة C:> )
  • عامل الميناء (رجل ذو خبز بارد)

يثبت

أولاً نبدأ بتثبيت SearXNG.

1 -) احصل على SearXNG-docker

استنساخ git https://github.com/searxng/searxng-docker.git

2 -) قم بتحرير ملف .env لتعيين اسم المضيف والبريد الإلكتروني

3 -) إنشاء المفتاح السري



sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml


sed -i"" -e "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml 


$randomBytes = New-Object byte[] 32
(New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBytes)
$secretKey = -join ($randomBytes | ForEach-Object { "{0:x2}" -f $_ })
(Get-Content searxng/settings.yml) -replace 'ultrasecretkey', $secretKey | Set-Content searxng/settings.yml

4 -) قم بتحديث searxng/settings.yml لتمكين تنسيقات البحث المتاحة وتعطيل المحدد لمثيل LangChain الخاص بنا:

use_default_settings: true
server:
  # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml
  secret_key: ""  # change this!
  limiter: false
  image_proxy: true
ui:
  static_use_hash: true
redis:
  url: redis://redis:6379/0

search:
    formats:
        - html
        - json

5-) تشغيل مثيل SearXNG

يؤلف عامل الإرساء

تحقق من نشر SearXNG في Docker. إذا بدا كل شيء على ما يرام، فأنت على استعداد للمتابعة.

 التطبيق التجريبي

1 -) إنشاء بيئة افتراضية وتفعيلها

python3 -m venv .venv
source .venv/bin/activate

2 -) تثبيت Langchain

pip install langchain langchain-community

3 -) إنشاء main.py

## Simple Get Results
from langchain_community.utilities import SearxSearchWrapper
import pprint

s = SearxSearchWrapper(searx_host="http://localhost:8080",)
result = s.results("What is RAG?", num_results=10, engines=["google"])
pprint.pprint(result)

## Github Tool

from langchain_community.tools.searx_search.tool import SearxSearchResults

wrapper = SearxSearchWrapper(searx_host="**")
github_tool = SearxSearchResults(name="Github", wrapper=wrapper,
                            kwargs = {
                                "engines": ["github"],
                                })

وهذا هو الحال! يتمتع تطبيق RAG الخاص بك الآن بإمكانيات البحث. لا يقدم هذا الدليل أي شيء جديد ولكنه يهدف إلى جمع خطوات إضافة وظيفة البحث على الويب إلى تطبيق RAG الخاص بك. آمل أن يساعد!

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/iamnotagentleman/enhance-your-rag-application-with-web-searching-capability-lnn؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفها.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3