Token导航 LogoToken导航TokenDH.com
Chatbot Rag logo
文档知识stdio官方级别未说明来源级核验

Chatbot Rag

MCP Server

一个基于Micronaut、LangChain4j和Ollama的检索增强生成聊天机器人系统,支持PDF文档索引、实时WebSocket聊天和MCP兼容工具,用于增强AI能力。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
Docker检索增强生成聊天机器人

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

brcina

提供方

brcina

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8000:8000 chromadb/chroma

详细介绍

聊天机器人RAG系统

A. R埃特里瓦尔A.强化 G一代聊天机器人系统 微型宇航员, LangChain4j,以及 没有 用于本地LLM推理。该系统支持PDF文档索引、通过WebSocket进行实时聊天以及MCP兼容工具,以增强AI功能。

🏗️ 架构概述

这是一个干净、模块化的基于Micronaut的多模块Gradle项目,针对在单独的 图形处理器 (生成型人工智能)和 中央处理器 (代理AI)vast.AI上的实例。

项目结构

chatbot-rag/
├── gradle/                    # Gradle wrapper & build system
├── gradlew, gradlew.bat      # Build scripts
├── build.gradle              # Root configuration
├── settings.gradle           # Project settings
├── modules/                  # 🎯 All source modules organized here
│   ├── core/                 # Domain models & vector store services
│   ├── document-processor/   # PDF/text processing with Apache Tika
│   ├── ai-engine/           # Ollama integration & RAG services
│   ├── chatbot-api/         # Main Micronaut REST/WebSocket application
│   ├── chatbot-frontend/    # Static web assets (HTML/CSS/JS)
│   └── tools/               # MCP-compatible tools
└── docker/                  # Deployment configurations
    ├── generative/          # GPU instance deployment
    └── agentic/            # CPU instance deployment

模块依赖

graph TD
    API[chatbot-api] --> CORE[core]
    API --> PROCESSOR[document-processor]
    API --> AI[ai-engine]
    API --> TOOLS[tools]
    
    PROCESSOR --> CORE
    AI --> CORE
    TOOLS --> CORE
    
    CORE --> LangChain4j
    CORE --> ChromaDB
    AI --> Ollama
    PROCESSOR --> Tika

🚀 快速开始

先决条件

  • Java 17+ (建议使用OpenJDK)
  • 等级9.0+ (包括包装)
  • 码头工人 (用于部署)
  • 没有 (用于本地LLM推理)

构建与运行

# Clone the repository
git clone 
cd chatbot-rag

# Build all modules
./gradlew build

# Run the main application
./gradlew :modules:chatbot-api:run

# Access the web interface
open http://localhost:8080

开发命令

命令描述
./gradlew build构建所有模块并运行测试
./gradlew test跨模块运行所有测试
./gradlew clean清理构建工件
./gradlew :modules:chatbot-api:run启动主应用程序(端口8080)
./gradlew :modules:MODULE_NAME:build构建特定模块

🧩 模块详细信息

核心模块 (modules/core/)

域模型和矢量存储服务

  • 领域模型: Document, ChatMessage, SearchResult
  • 服务: DocumentService, EmbeddingService, VectorStoreService
  • 配置:ChromaDB矢量存储,嵌入模型
  • 依赖项:LangChain4j,反应堆堆芯,Micronaut DI

文档处理器 (modules/document-processor/)

PDF/文本处理与智能分块

  • 特性:支持多种格式(PDF、TXT、HTML、Word)
  • 处理:用于元数据提取的Apache Tika
  • 组块:语义、固定大小、基于句子的策略
  • 依赖项Apache Tika,用于网页抓取的JSoup

AI引擎 (modules/ai-engine/)

Ollama集成和RAG逻辑

  • 服务: ChatService, OllamaService, RAGService
  • 特性:本地LLM推理,动态提示构建
  • 配置:可配置的相关性阈值、上下文限制
  • 依赖项:LangChain4j Ollama,Micronaut HTTP客户端

聊天机器人 API (modules/chatbot-api/)

Micronaut的主要应用

  • 控制器:REST Chat API,文档管理
  • 特性:WebSocket实时聊天,文件上传
  • 端点: /api/chat, /api/documents
  • 依赖项:所有其他模块,Micronaut网络堆栈

前端 (modules/chatbot-frontend/)

静态网络资产

  • 资产:用于聊天机器人界面的HTML/CSS/JS
  • 特性:WebSocket客户端、文档上传、系统信息
  • 样式:采用现代CSS的响应式设计

工具 (modules/tools/)

MCP兼容工具

  • 文件搜索工具:本地文件系统搜索和分析
  • 网络搜索工具:使用JSoup进行网络抓取
  • 系统信息工具:使用OSHI进行系统监控
  • 数据库工具:SQL查询功能(H2)

🎯 技术栈

组件技术版本
框架微距探测器4.3.5
语言Java17
人工智能/法学硕士朗链4j+奥利玛0.35.0
矢量存储ChromaDB最新
文档处理Apache Tika+PDFBox2.9.1
前端HTML/CSS/JS+WebSocket-
构建系统Gradle多模块9.0+
部署Docker+Vast.ai-

🔧 配置

应用程序配置文件

系统支持两种部署配置文件:

  • generative:GPU实例配置文件(Ollama+矢量存储+RAG)
  • agentic:CPU实例配置文件(API+前端+工具)

关键配置属性

# Core module configuration
core:
  vector-store:
    host: localhost
    port: 8000
    collection: documents
    dimension: 384
  embedding:
    model: sentence-transformers/all-MiniLM-L6-v2

# AI engine configuration  
ai:
  ollama:
    host: localhost
    port: 11434
    default-model: llama3.2
    timeout: 60000
  rag:
    max-context-results: 5
    relevance-threshold: 0.7
    max-context-length: 4000

🐳 部署

地方发展

# Start Ollama (if not running)
ollama serve

# Pull a model (example)
ollama pull llama3.2

# Start ChromaDB (Docker)
docker run -p 8000:8000 chromadb/chroma

# Run the application
./gradlew :modules:chatbot-api:run

Docker部署

# Build for different deployment profiles
./gradlew buildGenerative    # GPU-intensive deployment
./gradlew buildAgentic       # CPU-based deployment

# Build Docker images
./gradlew dockerBuildAll

# Deploy to Vast.ai
./gradlew deployVastAI \
  -Dgenerative.instance.id=12345 \
  -Dagentic.instance.id=67890 \
  -Dgenerative.host=1.2.3.4

Vast.ai建筑

生成式AI实例(GPU)

  • 硬件:RTX 4090,24GB VRAM,8+CPU内核,32GB RAM
  • 服务:Ollama+LLM模型、ChromaDB矢量存储、RAG处理
  • 港口电话:8080(API),11434(接口)

代理AI实例(CPU)

  • 硬件:4+CPU内核,8GB RAM
  • 服务:聊天机器人API+前端,MCP工具,WebSocket处理程序
  • 港口:8080(Web用户界面),80/443(Nginx)

🧪 测试

# Run all tests
./gradlew test

# Run tests for specific module
./gradlew :modules:core:test

# Run with coverage
./gradlew test jacocoTestReport

📖 API文档

REST端点

|方法|端点|描述| |----------|---------------------------------|------------- -------------| | POST | /api/chat |发送聊天消息| | GET | /api/chat/{sessionId}/history |获取对话历史记录| | DELETE | /api/chat/{sessionId} |清晰的对话| | GET | /api/documents |列出所有文件| | GET | /api/documents/{id} |获取特定文档| | DELETE | /api/documents/{id} |删除文档|

网络套接字

  • 端点: /ws/chat
  • 目的:实时聊天通信
  • 格式:JSON消息 ChatRequest/ChatResponse

🛠️ 发展

添加新模块

  1. 在中创建模块目录 modules/
  2. 将模块添加到 settings.gradle
  3. 在模块中配置依赖关系 build.gradle
  4. 更新根目录 build.gradle 如有需要

代码的风格

  • Java:遵循标准Java约定
  • 依赖项:使用 :modules:module-name 格式
  • 配置:使用Micronaut的配置注入
  • 测试:带有Micronaut测试的JUnit5

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. ./gradlew build 确保一切顺利
  6. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🔗 链接

______________________________________________________________________

内置于❤️ 使用Micronaut、LangChain4j和Ollama

目录标签

目录标签

Docker检索增强生成聊天机器人Groovy本地部署本地LLM推理文档处理实时聊天

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP