# 智能搜索分析师 **Repository Path**: longjun.wang/smart-search-analyst ## Basic Information - **Project Name**: 智能搜索分析师 - **Description**: Smart Search Analyst(智能搜索分析师) 是一款基于 Spring Boot 和 Ollama 大语言模型的智能搜索分析工具。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-17 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Smart Search Analyst (智能搜索分析师) 一个基于 Spring Boot + Ollama 的智能搜索分析系统,支持实时网络搜索、AI 深度分析和流式报告生成。 ## 项目简介 本项目是一个智能搜索分析系统,采用 Java 开发,后端使用 Spring Boot 框架,集成 Ollama 大语言模型,支持实时网络搜索、AI 深度分析、RAG 知识库检索和多轮对话记忆。 ## 技术栈 - **后端框架**: Spring Boot 3.x - **AI 引擎**: Ollama (本地大语言模型) - **向量数据库**: InMemoryEmbeddingStore (内存向量存储) - **Embedding 模型**: Ollama Embedding - **前端**: HTML + JavaScript (原生) ## 核心功能 ### 1. 智能对话 - 支持中文自然语言交互 - 多轮对话上下文记忆 - 可创建多个独立对话会话 ### 2. RAG 知识库检索 - 基于向量相似度的知识检索 - 自动将相关知识融入回答 - 支持自定义知识文件 ### 3. 对话管理 - 新建/清除会话 - 会话历史记录 - 会话记忆自动管理 ## 快速开始 ### 环境要求 - Java 17+ - Maven 3.8+ - Ollama 服务 (本地或远程) ### 配置说明 在 `application.yml` 中配置 Ollama 连接信息: ```yaml ollama: base-url: http://localhost:11434 model: qwen:7b embedding-model: m2b2-base ``` ### 构建运行 ```bash # 打包项目 mvn clean package -DskipTests # 启动应用 java -jar target/*.jar ``` ### 访问地址 - 前端界面: http://localhost:8080 - API 端点: http://localhost:8080/api/agent ## API 接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/agent/chat` | POST | 发送聊天消息 | | `/api/agent/rag` | POST | RAG 知识库问答 | | `/api/agent/conversation/new` | POST | 创建新会话 | | `/api/agent/conversation/{id}` | DELETE | 清除会话记录 | ## 目录结构 ``` src/main/java/com/example/ ├── Application.java # 启动类 ├── controller/ │ └── AgentController.java # API 控制器 ├── model/ │ └── ChatMessage.java # 聊天消息模型 └── service/ ├── OllamaService.java # Ollama AI 服务 ├── RagService.java # RAG 知识库服务 └── ChatMemoryService.java # 对话记忆服务 src/main/resources/ ├── application.yml # 应用配置 ├── knowledge/ │ └── sample.txt # 示例知识库文件 └── static/ ├── index.html # 前端页面 └── js/ └── marked.js # Markdown 解析库 ``` ## 添加自定义知识 在 `src/main/resources/knowledge/` 目录下添加 `.txt` 文件,每行一个知识点,应用启动时会自动加载到向量知识库中。 ## 许可证 MIT License