Max-Search 是一个基于 AI 搜索的项目,由 大语言模型(Deepseek r1) 与 搜索引擎(TAVILY) 组合而成,旨在为用户提供强大的语义搜索与智能问答体验。
以下是 Max-Search 的部分界面示例(图片仅供参考):
- 后端开源地址:max-search 后端
- 前端开源地址:Perplexica(java-max-search 分支)
Max-Search 项目以 AI 搜索为核心,结合自然语言处理与搜索引擎技术,为用户提供以下能力:
- 语义搜索:通过大语言模型 Deepseek r1,实现对文本、问题的语义理解与精准匹配。
- 多种搜索源:整合 Tavily、SearxNG 等搜索引擎,支持多源数据检索。
- 智能问答:结合 Jina Reader API、Jina Search API,可对搜索结果进行重排、摘要与推理,给出更具价值的答案。
- 多格式文档处理:支持 PDF、网页等多种格式文件的解析、搜索与阅读。
- 搜索历史记录:保存用户搜索历史,便于后续分析和复用。
- 意图识别:自动识别用户查询意图,进行问题重写或问法优化,提升搜索效率与问答准确度。
- 问答推理:基于深度学习模型,对用户提出的问题进行推理回答,支持多轮对话及复杂问题分析。
- SSE 及 WebSocket 等多种通信方式接口,满足多场景下的实时或异步调用需求。
- 深度推理问答:基于火山引擎 DeepSeek 等模型进行上下文语义分析、逻辑推理与结果生成。
- 搜索重排:利用深度学习模型对初步搜索结果进行重排,优先展示更符合用户意图的结果。
- 生成建议问:对用户输入进行分析,智能生成与其意图相关的其他可能问题。
- 生成问题标题:针对输入的长文本或复杂问题,自动生成简明扼要的标题。
- 多种部署方式:可通过 jar 包或 Docker 进行快速部署。
- JDK 版本要求:Java 8 及以上。
- Maven 或 Gradle 构建工具(根据项目配置)。
- 前端 采用 NextJS 框架(详见 Perplexica 前端仓库)。
- 数据库:支持多种数据库类型(参考 ai-search 数据库文档),如需要可进行自定义配置。
- 其他依赖:请参阅各自模块下的
pom.xml
或package.json
进行安装。
- 克隆项目
git clone https://github.com/litongjava/max-search.git
- 进入项目目录,并按照需求进行配置:
- 修改
application.yml
或application.properties
文件,配置搜索源、数据库连接等信息。
- 修改
- 构建并运行后端:
# 进入 max-search-web 目录后 mvn clean package -DskipTests -Pproduction
vi .env
server.port=8003
jdbc.MaximumPoolSize=20
jdbc.url=jdbc:postgresql://127.0.0.1/max_kb
jdbc.user=postgres
jdbc.pswd=
GEMINI_API_KEY=
TAVILY_API_TOKEN=
VOLCENGINE_API_KEY=
OPENAI_API_KEY=
java -jar max-search-web/target/max-search-web-1.0.0.jar
mkdir -p ~/.config/systemd/user
vi ~/.config/systemd/user/max-search.service
max-search.service
[Unit]
Description=Java Web Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/data/apps/max-search
ExecStart=/usr/java/jdk1.8.0_211/bin/java -jar max-search-web/target/max-search-web-1.0.0.jar --app.env=prod
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=default.target
start
systemctl --user daemon-reload
systemctl --user start max-search
systemctl --user status max-search
systemctl --user enable max-search
- 克隆并启动前端(如有需要):
git clone https://github.com/litongjava/Perplexica.git # 切换到 java-max-search 分支 git checkout java-max-search # 安装依赖并启动 npm install npm run serve
- 访问演示地址:默认情况下,后端会在
http://localhost:8080/
启动服务,前端会在http://localhost:3000/
(或其他端口)提供可视化界面。
以下文档为你提供了更多关于 Max-Search 及其子模块的介绍和使用说明:
- AI-Search 项目简介
- AI-Search 数据库文档
- AI-Search SearxNG 搜索引擎
- AI-Search Jina Reader API
- AI-Search Jina Search API
- AI-Search 搜索、重排与读取内容
- AI-Search PDF 文件处理
- AI-Search 推理问答
- Google Custom Search JSON API
- AI-Search 意图识别
- AI-Search 问题重写
- AI-Search 系统 API 接口 WebSocket 版本
- AI-Search 搜索代码实现 WebSocket 版本
- AI-Search 生成建议问
- AI-Search 生成问题标题
- AI-Search 历史记录
- Tavily Search API 文档
- 对接 Tavily Search
- 火山引擎 DeepSeek
- 对接 火山引擎 DeepSeek
- AI-Search 搜索代码实现 SSE 版本
- Jar 包部署
- Docker 部署
- 搜索结果不准确?
请检查搜索源是否配置正确,或查看大语言模型(Deepseek r1)是否正常工作。如果需要更高精度,可尝试对模型进行微调或更换更高版本的推理服务。 - 无法连接搜索引擎?
参考 Tavily Search API 文档 或 SearxNG 配置,确认相关服务已启动并与 Max-Search 正常交互。 - PDF 文件无法解析?
请确保已配置相关 PDF 解析器,并查看 AI-Search PDF 文件处理 中的示例配置。
我们欢迎任何形式的贡献,包括但不限于:
- 提交 Issue:在 GitHub Issues 中提出 Bug 报告或新功能需求。
- Pull Request:修复 Bug、优化代码或添加新功能,欢迎提交 PR。
- 文档完善:如果你发现文档有误或缺失,欢迎提交修改建议。
本项目采用 MIT License 进行授权,具体细节请参见 LICENSE 文件。
如需更多帮助,请访问 tio-boot.com 获取更详细的项目文档或在 GitHub 上与我们联系。感谢你对 Max-Search 的关注与支持,期待与你一起构建更高效的 AI 搜索解决方案!