Tingkatkan Aplikasi RAG Anda Dengan Keupayaan Mencari Web!

王林
Lepaskan: 2024-09-10 06:00:36
asal
1016 orang telah melayarinya

Enhance Your RAG Application With Web Searching Capability!

pengenalan

Apabila membina projek yang menyeronokkan dengan aplikasi Retrieval-Augmented Generation (RAG), kami sering menghadapi pengehadan seperti sekatan menyemak imbas, menjadikannya sukar untuk mendapatkan maklumat terkini atau data semasa, seperti kemas kini cuaca (saya harap sesuatu yang lebih lucu). Untuk menyelesaikannya, kami boleh melengkapkan aplikasi RAG kami dengan alat untuk mencari di internet. Mari selami!

 Bangku Alat Kami

  • LangChain (Kerangka untuk membina aplikasi dengan model bahasa yang besar)
  • SearXNG (enjin metasearch percuma)
  • CPython (pembungkus bahasa C :> )
  • Docker (lelaki dengan roti sejuk)

Persediaan

Mula-mula kita mulakan dengan pemasangan SearXNG.

1 -) Dapatkan SearXNG-docker

klon git https://github.com/searxng/searxng-docker.git

2 -) Edit fail .env untuk menetapkan nama hos dan e-mel

3 -) Jana kunci rahsia

<Linux>

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

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

<Windows>
$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
Salin selepas log masuk

4 -) Kemas kini searxng/settings.yml untuk mendayakan format carian yang tersedia dan lumpuhkan pengehad untuk contoh LangChain kami:

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

search:
    formats:
        - html
        - json
Salin selepas log masuk

5-) Jalankan Instance SearXNG

karang buruh pelabuhan

Semak penggunaan SearXNG dalam Docker. Jika semuanya kelihatan baik, anda bersedia untuk meneruskan.

 Aplikasi Demo

1 -) Cipta persekitaran maya & aktifkan

python3 -m venv .venv
source .venv/bin/activate
Salin selepas log masuk

2 -) Pasang Langchain

pip install langchain langchain-community
Salin selepas log masuk

3 -) Cipta 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"],
                                })

Salin selepas log masuk

Dan begitulah! Aplikasi RAG anda kini mempunyai keupayaan carian. Panduan ini tidak memperkenalkan sesuatu yang baharu tetapi bertujuan untuk mengumpulkan langkah-langkah untuk menambahkan fungsi carian web pada aplikasi RAG anda. Saya harap ia membantu!

Atas ialah kandungan terperinci Tingkatkan Aplikasi RAG Anda Dengan Keupayaan Mencari Web!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!