logo
0
0
Login
Forkfromopencamp/learning-ai/project-1-knowledge-base, ahead:master7 commits, behind:master1 commits

RAG 知识库应用项目

基于 LangGraph 和 CNB 知识库的智能问答系统,支持多轮对话、实时流式输出和引用溯源。

一、已完成功能

场景 1:基于当前的 Demo 仓库增强对话功能

✅ 支持前端页面切换不同的知识库 ✅ 引用来源通过角标进行展示,点击后可跳转到对应文档 ✅ 前端页面亮暗风格切换

二、快速开始

1. 环境要求

  • Node.js 18+
  • Python 3.11+
  • Docker & Docker Compose(可选,用于容器化部署)
  • CNB Token(用于访问 CNB 知识库 API)
  • Ollama 或其他 LLM 服务

2. Docker Compose 快速部署

2.1 前置准备

# 设置 LangSmith API Key(必需) export LANGSMITH_API_KEY=your_api_key # 设置 CNB Token(用于访问 CNB 知识库) export CNB_TOKEN=your_cnb_token # 设置要查询的知识库仓库(可选,默认为 cnb/docs) export CNB_REPO_SLUG=cnb/docs

2.2 启动服务

# 启动所有服务 docker compose up # 或在后台运行 docker compose up -d

2.3 访问应用

3. 本地开发部署

3.1 一键启动脚本

./start.sh

3.2 安装依赖

在启动云原生开发环境的时候已准备好:

$: vscode: - docker: # 指定开发环境镜像,可以是任意可访问的镜像。 # 如果 image 指定的镜像中已安装 code-server 代码服务,将使用单容器模式启动开发环境 # 如果 image 指定的镜像中未安装 code-server 代码服务,将使用双容器模式启动开发环境 # 如下镜像为 CNB 默认开发环境镜像,已安装代码服务,将使用单容器模式启动开发环境 # 可按需替换为其他镜像 image: docker.cnb.cool/smk2h/sumu/dev-env/ollama-llm-env runner: tags: cnb:arch:amd64:gpu imports: - https://cnb.cool/sumu.k/secret-key/-/blob/main/llm.yml services: - vscode - docker stages: - name: start ollama script: nohup ollama serve >/dev/null 2>&1 & - name: install frontend dependencies script: cd frontend && npm install - name: install backend dependencies script: | cd backend python -m venv .venv . .venv/bin/activate pip install -e .

3.4 访问应用

三、架构设计说明

1. 整体架构

本系统采用前后端分离架构,基于 LangGraph 工作流引擎和 CNB 知识库 API 构建智能问答系统。

2. 关键组件说明

  1. AgentState: 工作流状态管理,包含消息、上下文和检索结果
  2. CNBKnowledgeBase: CNB 知识库 API 客户端,负责查询和格式化知识库内容
  3. Configuration: 系统配置管理,包括 API 端点、模型参数等
  4. Graph: LangGraph 工作流定义,协调检索和生成流程

3. 数据流

  1. 用户输入通过前端发送至后端
  2. LangGraph 工作流接收用户问题,提取查询意图
  3. 检索节点调用 CNB 知识库 API,获取相关文档片段
  4. 生成节点将上下文和问题发送给本地 LLM,生成回答
  5. 回答通过流式方式返回前端,实时显示给用户

四、功能演示说明

1. 界面概览

应用提供简洁直观的对话界面,支持深色/浅色主题切换。

应用界面

2. 主要功能

2.1 智能问答

  • 支持自然语言提问
  • 基于知识库内容生成准确回答
  • 流式输出,实时展示生成过程

2.2 知识库切换

  • 通过输入框指定不同的知识库仓库
  • 实时切换,无需重启应用

2.3 引用溯源

  • 回答中的关键信息带有引用标记
  • 点击引用可跳转到原始文档

引用示例

2.4 思考过程展示

  • 展示模型思考过程(reasoning_content)
  • 可折叠的思考面板

4. 演示视频

项目提供了完整的演示视频,展示系统的各项功能:

演示视频

视频内容包括:

  • 系统启动过程
  • 基本问答功能演示
  • 知识库切换演示
  • 引用溯源功能演示

About

OpenCamp 知识库应用项目

73.06 GiB
27.18 KiB
0 forks0 stars2 branches0 TagREADME
Language
TypeScript24.3%
Python9.5%
CSS2.8%
Dockerfile2.4%
Others61%