anythingLLM結合searXNG實現聯網搜索

1、docker-compose 部署searXNG

GitHub - searxng/searxng-docker: The docker-compose files for setting up a SearXNG instance with docker.

cd /usr/local
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker

2、修改 .env文件

# By default listen on https://localhost
# To change this:
# * uncomment SEARXNG_HOSTNAME, and replace <host> by the SearXNG hostname
# * uncomment LETSENCRYPT_EMAIL, and replace <email> by your email (require to create a Let's Encrypt certificate)SEARXNG_HOSTNAME=172.16.50.25
LETSENCRYPT_EMAIL=381599113@qq.com# Optional:
# If you run a very small or a very large instance, you might want to change the amount of used uwsgi workers and threads per worker
# More workers (= processes) means that more search requests can be handled at the same time, but it also causes more resource usage# SEARXNG_UWSGI_WORKERS=4
# SEARXNG_UWSGI_THREADS=4

3、執行下面命令,生成??secret key?

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

4、修改?Caddyfile,防止 caddy 默認配置的 80端口沖突

{admin offhttp_port 8880log {output stderrformat filter {# Preserves first 8 bits from IPv4 and 32 bits from IPv6request>remote_ip ip_mask 8 32request>client_ip ip_mask 8 32# Remove identificable informationrequest>remote_port deleterequest>headers deleterequest>uri query {delete urldelete hdelete q}}}
}
172.16.50.25:8880 {tls {$SEARXNG_TLS}encode zstd gzip@api {path /configpath /healthzpath /stats/errorspath /stats/checker
}@search {path /search
}@imageproxy {path /image_proxy
}@static {path /static/*
}header {# CSP (https://content-security-policy.com)Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; form-action 'self' https://github.com/searxng/searxng/issues/new; font-src 'self'; frame-ancestors 'self'; base-uri 'self'; connect-src 'self' https://overpass-api.de; img-src * data:; frame-src https://www.youtube-nocookie.com https://player.vimeo.com https://www.dailymotion.com https://www.deezer.com https://www.mixcloud.com https://w.soundcloud.com https://embed.spotify.com;"# Disable some browser featuresPermissions-Policy "accelerometer=(),camera=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),payment=(),usb=()"# Set referrer policyReferrer-Policy "no-referrer"# Force clients to use HTTPSStrict-Transport-Security "max-age=31536000"# Prevent MIME type sniffing from the declared Content-TypeX-Content-Type-Options "nosniff"# X-Robots-Tag (comment to allow site indexing)X-Robots-Tag "noindex, noarchive, nofollow"# Remove "Server" header-Server
}header @api {Access-Control-Allow-Methods "GET, OPTIONS"Access-Control-Allow-Origin "*"
}route {# Cache policyheader Cache-Control "max-age=0, no-store"header @search Cache-Control "max-age=5, private"header @imageproxy Cache-Control "max-age=604800, public"header @static Cache-Control "max-age=31536000, public, immutable"
}# SearXNG (uWSGI)
reverse_proxy localhost:8080 {header_up X-Forwarded-Port {http.request.port}header_up X-Real-IP {http.request.remote.host}# https://github.com/searx/searx-docker/issues/24header_up Connection "close"
}
}

5、docker-compose配置文件

version: "3.7"services:caddy:container_name: caddyimage: docker.io/library/caddy:2-alpinenetwork_mode: hostrestart: alwaysvolumes:- ./Caddyfile:/etc/caddy/Caddyfile:ro- caddy-data:/data:rw- caddy-config:/config:rwenvironment:- SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost}- SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}cap_drop:- ALLcap_add:- NET_BIND_SERVICElogging:driver: "json-file"options:max-size: "10m"max-file: "1"redis:container_name: redisimage: docker.io/valkey/valkey:8-alpinecommand: valkey-server --save 30 1 --loglevel warningrestart: alwaysnetworks:- searxngvolumes:- valkey-data2:/datacap_drop:- ALLcap_add:- SETGID- SETUID- DAC_OVERRIDElogging:driver: "json-file"options:max-size: "1m"max-file: "1"searxng:container_name: searxngimage: docker.io/searxng/searxng:latestrestart: alwaysnetworks:- searxngports:- "8080:8080"volumes:- ./searxng:/etc/searxng:rwenvironment:- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/- UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}- UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}cap_add:- CHOWN- SETGID- SETUIDlogging:driver: "json-file"options:max-size: "10m"max-file: "1"networks:searxng:volumes:caddy-data:caddy-config:valkey-data2:

On the first run, you must remove cap_drop: - ALL from the docker-compose.yaml file for the searxng service to successfully create /etc/searxng/uwsgi.ini. This is necessary because the cap_drop: - ALL directive removes all capabilities, including those required for the creation of the uwsgi.ini file. After the first run, you should re-add cap_drop: - ALL to the docker-compose.yaml file for security reasons.

6、配置??settings.yml

項目默認的搜索返回的格式為?html?格式,在使用網絡爬蟲或其它形式的分析器調用 API 時,希望返回?json?格式,這時就需要修改返回格式。

添加以下內容

search:formats:- html- csv- json- rss

整體內容如下

# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings
use_default_settings: true
server:# base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.ymlsecret_key: "58e0507b6a5428c2f87e26fc83509028f53a12daa1800448dcd7c47c19c7bb6e"  # change this!limiter: false  # can be disabled for a private instanceimage_proxy: true
ui:static_use_hash: true
redis:url: redis://redis:6379/0search:formats:- html- csv- json- rss

配置參考?

Step by step installation — SearXNG Documentation (2025.3.22+5986629c6)

測試 json返回

http://172.16.50.25:8080/search?q=deepseek&format=json

7、anythingLLM配置 websearch

8、工作空間配置

9、使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74262.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人形機器人科普

人形機器人&#xff08;Humanoid Robot&#xff09;是一種模仿人類外形和行為的機器人&#xff0c;通常具有頭部、軀干、雙臂和雙腿等結構。它們的設計目標是與人類環境無縫交互&#xff0c;執行復雜的任務&#xff0c;甚至在某些領域替代人類工作。 1. 人形機器人的定義與特點…

【CICD】Ansible知識庫

一、主機清單配置 1. 配置文件路徑 默認路徑 /etc/ansible/hosts 這是 Ansible 的全局默認庫存文件路徑&#xff0c;但許多用戶可能不會直接使用它。項目目錄或自定義路徑 用戶通常會為不同項目創建獨立的庫存文件&#xff0c;例如&#xff1a; 當前目錄下的 hosts、inventor…

ArkUI-List組件

列表是一個復雜的容器&#xff0c;當列表項達到一定數量&#xff0c;使得列表內容超出其范圍的時候&#xff0c;就會自動變為可以滾動。列表適合用來展現同類數據類型。 List的基本使用方法 List組件的構建聲明是這個樣子的 List(value?: {space?:number | string, initial…

Ubuntu實時讀取音樂軟件的音頻流

文章目錄 一. 前言二. 開發環境三. 具體操作四. 實際效果 一. 前言 起因是這樣的&#xff0c;我需要在Ubuntu中&#xff0c;實時讀取正在播放音樂的音頻流&#xff0c;然后對音頻進行相關的處理。本來打算使用的PipewireHelvum的方式實現&#xff0c;好處是可以直接利用Helvum…

【yolo】YOLO訓練參數輸入之模型輸入尺寸

模型輸入尺寸是YOLO訓練和推理過程中非常重要的參數之一。YOLO要求輸入圖像的尺寸是固定的&#xff0c;通常為正方形&#xff08;如416416、640640等&#xff09;。這個尺寸直接影響模型的性能和速度。以下是對模型輸入尺寸的詳細介紹&#xff1a; 1. 模型輸入尺寸的作用 統一…

【TI MSPM0】Timer學習

一、計數器 加法計數器&#xff1a;每進入一個脈沖&#xff0c;就加一減法計算器&#xff1a;每進入一個脈沖&#xff0c;就減一 當計數器減到0&#xff0c;觸發中斷 1.最短計時時間 當時鐘周期為1khz時&#xff0c;最短計時時間為1ms&#xff0c;最長計時時間為65535ms 當時…

從WebRTC到嵌入式:EasyRTC如何借助大模型提升音視頻通信體驗

隨著人工智能技術的快速發展&#xff0c;WebRTC與大模型的結合正在為音視頻通信領域帶來革命性的變革。WebRTC作為一種開源實時通信技術&#xff0c;以其低延遲、跨平臺兼容性和強大的音視頻處理能力&#xff0c;成為智能硬件和物聯網設備的重要技術支撐。 而EasyRTC作為基于W…

使用brower use AI 代理自動控制瀏覽器完成任務

第一步&#xff1a;終端運行命令下載 brower use pip install browser-use 第二步&#xff1a; 終端運行命令下載playwright playwright install 第三步&#xff1a;新建test.py代碼&#xff0c;粘貼復制以下代碼 import asyncio import osfrom dotenv import load_doten…

自由學習記錄(45)

頂點片元著色器&#xff08;important&#xff09; 1.需要在Pass渲染通道中編寫著色器邏輯 2.可以使用cG或HLSL兩種shader語言去編寫Shader邏輯 3.代碼量較多&#xff0c;靈活性較強&#xff0c;性能消耗更可控&#xff0c;可以實現更多渲染細節 4.適用于光照處理較少&#xf…

Quartus + VScode 實現模塊化流水燈

文章目錄 一、通過VScode編寫Verilog代碼二、模塊化編程三、代碼示例 一、通過VScode編寫Verilog代碼 1、下載Vscode 2、下載相關插件 搜索Verilog就會彈出有如圖所示的插件&#xff0c;下載并安裝 3、創建Quartus項目 4、創建完成后點擊Tools&#xff0c;選擇Options 然后在…

tryhackme——The Lay of the Land

文章目錄 一、網絡基礎設施1.1 內網1.2 DMZ區1.3 網絡枚舉&#xff08;Network Enumeration&#xff09; 二、域環境三、用戶和組管理四、安全解決方案4.1 基于主機的安全解決方案4.1.1 防病毒軟件4.1.2 Microsoft Windows Defender4.1.3 主機防火墻4.1.4 安全事件記錄與監控4.…

STM32---FreeRTOS消息隊列

一、簡介 1、隊列簡介&#xff1a; 隊列&#xff1a;是任務到任務&#xff0c;任務到中斷、中斷到任務數據交流的一種機制&#xff08;消息傳遞&#xff09;。 FreeRTOS基于隊列&#xff0c;實現了多種功能&#xff0c;其中包括隊列集、互斥信號量、計數型信號量、二值信號量…

2025年了,5G還有三個新變化

最近輿論開始討論5G為什么不火了&#xff1f;5G是不是停滯發展了。 實際上&#xff0c;5G不僅在發展&#xff0c;還迎來了它的升級版5G-A。 在今年西班牙舉行的世界移動通信大會上&#xff0c;5G-A就是焦點之一。 被譽為全球通信領域風向標的MWC&#xff0c;匯聚了華為、中興通…

SQLMesh SCD-2 時間維度實戰:餐飲菜單價格演化追蹤

場景背景&#xff1a;動態菜單價格管理 考慮某連鎖餐廳的菜單管理系統&#xff0c;需要記錄食品價格的歷史變更軌跡。業務需求包括&#xff1a; 記錄每次價格調整的時間點支持歷史價格查詢&#xff08;如"2020年1月2日漢堡多少錢"&#xff09;維護當前有效價格清單…

失物招領|校園失物招領系統|基于Springboot的校園失物招領系統設計與實現(源碼+數據庫+文檔)

校園失物招領系統目錄 目錄 基于Springboot的校園失物招領系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、 管理員功能實現 (1) 失物招領管理 (2) 尋物啟事管理 (3) 公告管理 (4) 公告類型管理 2、用戶功能實現 (1) 失物招領 (2) 尋物啟事 (3) 公告 …

基于BClinux8部署Ceph 19.2(squid)集群

#作者&#xff1a;閆乾苓 文章目錄 1.版本選擇Ceph版本發布歷史目前官方在維護的版本 2.部署方法3.服務器規劃4.前置配置4.1系統更新4.2配置hosts cat >> /etc/hosts << EOFssh-keygenssh-copy-id ceph01ssh-copy-id ceph02ssh-copy-id ceph034.5 Python34.6 Syst…

安裝React開發者工具

我們在說組件之前&#xff0c;需要先安裝一下React官方推出的開發者工具&#xff0c;首先我們分享在線安裝方式 首先打開谷歌網上應用商店(針對谷歌瀏覽器)&#xff0c;在輸入框內搜索react&#xff0c;安裝如下插件&#xff1a; 注意安裝提供方為Facebook的插件&#xff0c;這…

linux中如何修改文件的權限和擁有者所屬組

目錄標題 chmod指令八進制形式權限修改文件擁有者所屬組的修改umask有關內容 chmod指令 chmod指令可以用來修改人員的權限其形式如下&#xff1a; u代表的是擁有者&#xff0c;g代表的是所屬組&#xff0c;o代表的是其他人&#xff0c;a表示所有人&#xff0c;如果你想增加權…

三主熱備架構

1.要求 角色主機名軟件IP地址用戶client192.168.72.90keepalivedvip192.168.72.100masterserverAkeepalived, nginx192.168.72.30backupserverBkeepalived, nginx192.168.72.31backupserverCkeepalived, nginx192.168.72.32webtomcat1tomcat192.168.72.41webtomcat2tomcat192.1…

windows 10 系統配置Node

目錄 什么是Node.js 什么是Npm Node.js環境搭建 下載 解壓 配置環境變量 npm配置 如何運行下載的Node.js項目 什么是Node.js 在 Node.js 之前&#xff0c;JavaScript 只能運行在瀏覽器中&#xff0c;作為網頁腳本使用&#xff0c;為網頁添加一些特效&#xff0c;或者和…