首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • 1684XB-32T

    • 一、简介

      • AIBOX-1684XB-32简介
    • 二、快速上手

      • 初次使用
      • 网络配置
      • 磁盘使用
      • 内存分配
      • 风扇策略
      • 固件升级
      • 交叉编译
      • 模型量化
    • 三、应用开发

      • 开发简介

        • Sophgo SDK开发
        • SOPHON-DEMO简介
      • 大语言模型

        • 部署Llama3示例
        • Sophon LLM_api_server开发
        • 部署MiniCPM-V-2_6
        • Qwen-2-5-VL图片视频识别DEMO
        • Qwen3-chat-DEMO
        • Qwen3-Qwen Agent-MCP开发
        • Qwen3-langchain-AI Agent
      • 深度学习

        • ResNet(图像分类)
        • LPRNet(车牌识别)
        • SAM(通用图像分割基础模型)
        • YOLOv5(目标检测)
        • OpenPose(人体关键点检测)
        • PP-OCR(光学字符识别)
    • 四、资料下载

      • 资料下载
  • 1684X-416T

    • 简介

      • AIBOX-1684X-416简介
    • Demo简单操作指引

      • shimeta智慧监控demo的简单使用说明

Qwen3-langchain-AI Agent

一、 简介

LangChain 是一个专为开发大型语言模型(LLM)应用设计的框架,支持集成外部工具、数据资源并管理交互逻辑,助力构建智能对话、文档分析等复杂 AI 应用。该项目的主要目标是通过使用自然语言来简化与文档的交互,并提取有价值的信息。此项目使用LangChain、Qwen3-7b构建,以向用户提供流畅自然的对话体验。

1、特性

  • 完全本地推理。
  • 支持多种文档格式PDF, DOCX, TXT。
  • 与文档内容进行聊天,提出问题根据文档获得相关答案。
  • 用户友好的界面,确保流畅的交互。

2、工程目录

个人演示的工程目录

 |-- ChatDoc-TPU
    |-- data
        |-- db_tpu        -- 知识库持久化目录
        |-- uploaded      -- 已上传文件目录
    |-- models
        |-- bert_model    -- BERT 模型
        |-- qwen_model    -- qwen-7B 模型
    |-- chat
        |-- chatbot.py    -- ChatDoc业务逻辑脚本
        |-- charglm3      -- charglm3 代码
        |-- qwen          -- qwen 代码
    |-- embedding         -- 文本嵌入模型
    |-- docs              -- 环境安装文档
    |-- static            -- README中图片文件
    |-- README.md         -- README
    |-- config.ini        -- 推理模型配置文件
    |-- requirements.txt  -- 项目依赖
    |-- run.sh            -- 启动脚本
    |-- web_demo_st.py    -- 页面交互脚本

二、运行步骤

1、准备Python环境、数据与模型

1.1 首先确认python>3.8,创建并进入虚拟环境

    sudo apt update
    #检查python版本,若不满足则需升级
    python3 --version

    # 创建虚拟环境(不含pip包)
    # !!!每次运行都要按照步骤切换虚拟环境!!!
    cd /data
    # 创建虚拟环境(不包含 pip)
    python3.10 -m venv --without-pip myenv

    # 进入虚拟环境
    source myenv/bin/activate

1.2 复制算能官方的 ChatDoc - TPU工程目录(或者复制后将文件上传到盒子中的/data下)

    git clone https://github.com/wangyifan2018/ChatDoc-TPU
    cd ChatDoc-TPU
    # 安装相关pip包
    pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    #检查pip包情况
    pip list

1.3 安装sail

此例程依赖新版本sail,旧版本需要更新,安装方法请参考Sail_Install_Guide

2 启动

回到ChatDoc-TPU主目录,启动程序

# 使用默认路径启动 Qwen-7b ,模型和配置文件自动下载
./run.sh --model qwen7b --dev\_id 0

当然也可以选用其他模型,参考模板如下:


usage: ./run.sh [--model MODEL]  [--dev_id DEV_ID] [--server_address SERVER_ADDRESS] [--server_port SERVER_PORT]
--model: 选择模型,可选项为 chatglm3/qwen。默认为 "chatglm3"。
--dev_id: 用于推理的 TPU 设备 ID。默认为 0。
--server_address: web server 地址。默认为 "0.0.0.0"。
--server_port:web sever 端口。如不设置,从 8501 起自动分配。

3、操作说明

1751598696151

3.1 界面简介

ChatDoc由控制区和聊天对话区组成。控制区用于管理文档和知识库,聊天对话区用于输入和接受消息。

上图中的10号区域是 ChatDoc 当前选中的文档。若10号区域为空,即 ChatDoc 没有选中任何文档,仍在聊天对话区与 ChatDoc 对话,则此时的 ChatDoc 是一个单纯依托 LLM 的 ChatBot。

3.2 上传文档

点击1选择要上传的文档,然后点击按钮4构建知识库。随后将embedding文档,完成后将被选中,并显示在10号区域,接着就可开始对话。我们可重复上传文档,embedding成功的文档均会进入10号区域。

3.3 持久化知识库

10号区域选中的文档在用户刷新或者关闭页面时,将会清空。若用户需要保存这些已经embedding的文档,可以选择持久化知识库,下次进入时无需embedding计算即可加载知识库。具体做法是,在10号区域不为空的情况下,点击按钮5即可持久化知识库,知识库的名称是所有文档名称以逗号连接而成。

3.4 导入知识库

用户可以从选择框2查看目前已持久化的知识库。选中我们需要加载的知识库后,点击按钮3导入知识库。完成后即可开始对话。注意cpu版的知识库和tpu版的知识库不能混用,若启动tpu版程序,则不能加载已持久化的cpu版知识库;若启动cpu版程序,则不能加载已持久化的tpu版知识库。

3.5 删除知识库

当用户需要删除本地已经持久化的知识库时,可从选择框2选择要删除的知识库,然后点击按钮6删除知识库。

3.6 重命名知识库

1751595366009

由于知识库的命名是由其文档的名称组合而来,难免造成知识库名称过长的问题。ChatDoc提供了一个修改知识库名称的功能,选择框2选择我们要修改的知识库,然后点击按钮9重命名知识库,随后ChatDoc将弹出一个输入框和一个确认按钮,如上图。在输出框输入修改后的名称,然后点击确认重命名按钮。

3.7 清空聊天记录

点击按钮7即可清除聊天对话区聊天记录。其他不受影响。

3.8 移除选中文档

点击按钮8将清空10号区域,同时清除聊天记录。

在 GitHub 上编辑此页
上次更新:
贡献者: xwdong
Prev
Qwen3-Qwen Agent-MCP开发