基于SearXNG+LangChain的实现的AI搜索引擎(2)

「已注销」 2024-07-09 08:31:01 阅读 75

,我们聊了如何实现一个AI搜索引擎的思路和框架,并且留了一个尾巴,将完整项目完成并开源出来。😊

image.png

肝了两天,昨天已将代码完善,并且发布到Github上进行开源,欢迎大家使用和PR~ 👏

我们就来一起看看如何使用我们这个AI搜索引擎 🚗

🍓 开源地址

image.png

GitHub地址: github.com/ptonlix/Lan…

🚀 Quick Install

1. 部署 SearXNG

由于 SearXNG 需要访问外网,建议部署选择外网服务器

以下部署示例选择以腾讯云轻量服务器-Centos 系统为例

根据 searxng-docker教程,按照以下操作,容器化部署 SearXNG

shell

复制代码

<code># 拉取代码 git clone https://github.com/searxng/searxng-docker.git cd searxng-docker # 修改域名和录入邮箱 vim .env # 启动docker docker compose up

2.部署 Python 环境

安装 miniconda

shell

复制代码

mkdir ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh ~/miniconda3/bin/conda init bash

创建虚拟环境

shell

复制代码

# 创建环境 conda create -n DeepRead python==3.10.11

安装 poetry

shell

复制代码

# 安装 curl -sSL https://install.python-poetry.org | python3 -

3. 运行 LangChain-SearXNG

安装依赖

shell

复制代码

# 克隆项目代码到本地 git clone https://github.com/ptonlix/LangChain-SearXNG.git conda activate LangChain-SearXNG # 激活环境 cd LangChain-SearXNG # 进入项目 poetry install # 安装依赖

修改配置文件

OpenAI 文档

ZhipuAI 文档

LangChain API

shell

复制代码

# settings.yaml 配置文件录入或通过环境变量设置以下变量 # OPENAI 大模型API OPENAI_API_BASE OPENAI_API_KEY # ZHIPUAI 智谱API ZHIPUAI_API_KEY # LangChain调试 API LANGCHAIN_API_KEY # SearXNG请求地址 SEARX_HOST

启动项目

shell

复制代码

# 启动项目 python -m langchain_searxng # 查看API 访问: http://localhost:8002/docs 获取 API 信息

🎸 项目介绍

1. 目录结构

bash

复制代码

├── docs # 文档 ├── langchain_searxng │ ├── components #自定义组件 │ ├── server # API服务 │ ├── settings # 配置服务 │ ├── utils │ ├── constants.py │ ├── di.py │ ├── launcher.py │ ├── main.py │ ├── paths.py │ ├── __init__.py │ ├── __main__.py #入口 │ └── __version__.py ├── log # 日志目录

2. 功能介绍

支持查询结果 http sse 流式和非流式(整体)返回支持联网查询 QA 和直接 QA 切换支持 Token 计算(含 embedding)支持 openai 和 zhipuai 两种大模型

🚩 下一步计划

 搭建LangChain-SearXNG 初步框架,完善基本功能 完善网站页面内容爬取效果 支持网络访问异常处理,方便国内环境使用 支持更多模型 搭建前端 Web Demo



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。