(前5位完成实验送积分30分)workshop 实验一:体验新版 OceanBase 极简安装部署,基于 LangChain V1 和 OceanBase 快速构建 Agentic RAG

Workshop 的第一个环节是基础环境配置。现场为了规避 Wi-Fi 网络高并发可能带来的延迟,我们为每位参会者都准备了阿里云 ECS 云服务器作为实验环境。以下是本地电脑(Mac/Windows)详细安装流程(以 CLI 为主):

  1. Docker (用于三个实验)
    Mac: 下载 Docker Desktop 并安装。
    Windows: 同样下载 Docker Desktop,需开启 WSL2,安装后启动 Docker 应用。
  2. Python 3.10+ (用于三个实验)
    下载 Python 官方安装包 进行安装。
    安装完成后检查:
python --version # 应输出 3.10 或更高
  1. uv (Python 包管理器)
pip install uv
  1. seekdb (用于三个实验)
# 获取docker 镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oceanbase/seekdb:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oceanbase/seekdb:latest  docker.io/oceanbase/seekdb:latest

# arm机器
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oceanbase/seekdb:latest-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oceanbase/seekdb:latest-linuxarm64  docker.io/oceanbase/seekdb:latest

# 方式一: docker 方式安装
docker run -d \
  --name seekdb \
  -p 2881:2881 \
  -v ./data:/var/lib/oceanbase/store \
  oceanbase/seekdb:latest
  1. Jupyter(用于实验一)
pip install jupyter

PPT 内容

2025年度发布会 OceanBase x LangChain.pdf (16.3 MB)

详细步骤

第一阶段:构建向量知识库 (Notebook 01)

这一阶段的核心是将静态文档转化为可检索的向量数据。

1. 环境连接与模型配置

  • 配置连接 :加载环境变量,读取 OceanBase 的连接信息(Host, Port, Database)以及模型服务商(SiliconFlow)的配置。
  • 加载模型 :初始化 Embedding 模型,本次实验使用 BAAI/bge-m3 ,用于将文本转换为高维向量。

2. 文档加载 (Document Loading)

  • 操作 :使用 LangChain 的 PyPDFLoader 加载本地文件 data/nke-10k-2023.pdf (Nike 2023 年 10-K 年报)。

3. 文本切分 (Text Splitting)

为了适应模型的上下文窗口限制并提高检索的精确度,需要对长文档进行切分。

  • 工具 :使用 RecursiveCharacterTextSplitter

  • 参数设置

    • chunk_size=1000 :每个文本块大小约为 1000 字符。
    • chunk_overlap=100 :块与块之间保留 100 字符重叠,保证上下文语义连贯。

4. 向量化与存储 (Embedding & Storage)

这是利用 OceanBase seekdb 核心能力的关键步骤。

  • 初始化存储 :创建 OceanbaseVectorStore 实例。

  • 配置参数

    • table_name="langchain_knowledge_base" :指定 OceanBase 中的存储表名。
    • index_type="HNSW" :指定使用 HNSW 索引算法,以支持高性能的近似最近邻搜索。
    • vidx_metric_type="cosine" :使用余弦相似度作为距离度量。
  • 执行入库 :调用 add_documents 方法。系统自动调用 Embedding 模型生成向量,并将文本、元数据及向量并发写入 OceanBase。实验中采用了分批处理(Batch Size = 50)以确保存储过程的稳定性。

第二阶段:构建 Agentic RAG (Notebook 02)

这一阶段利用 LangChain v1 将知识库升级为能够自主思考的智能体。

1. 定义检索工具 (Create Tool)

Agent 无法直接访问数据库,必须通过“工具”进行交互。

  • 定义函数 :创建一个名为 search_knowledge_base 的 Python 函数。
  • 逻辑实现 :函数内部调用第一阶段创建的向量存储实例,执行 similarity_search (相似度搜索)并返回结果。
  • 工具描述 :通过 @tool 装饰器和 Docstring(文档字符串)明确告知 Agent:“当需要查找 Nike 的财务、战略、风险或细分市场信息时使用此工具”。这是 Agent 能够正确调用工具的基础。

2. 初始化智能体 (Create Agent via LangChain v1)

使用 LangChain v1 的新标准接口构建 Agent。

  • 模型 :使用 Qwen 系列大模型作为推理核心。
  • 构建接口 :使用 create_agent 函数。
  • 系统提示词 (System Prompt) :设定 Agent 的人设——“你是一个拥有 Nike 年报访问权限的 AI 助手。对于需要事实数据的问题,请使用检索工具;对于简单问题,请直接回答。”。

积分悬赏课后题,最先截图附上结果的小伙伴,每人送积分30分。

  • 问题 :“Nike 2023 财年的总营收和营业利润是多少?”
  • Agent 行为 :Agent 分析后认为这是具体财务数据,自主决定调用 search_knowledge_base 工具。
6 个赞

学习学习 :+1: :+1: :+1:

4 个赞

打卡

4 个赞

11

2 个赞

实践下

3 个赞

为了积分

5 个赞

加油

3 个赞

66

2 个赞

打卡

2 个赞

6666

2 个赞

学习了

2 个赞

学习了

2 个赞

天天向上

2 个赞

好实验,大家都来体验一下!

1 个赞

:+1:

努力学习

1 个赞

可以

2 个赞

学习了

2 个赞

点赞:+1:

2 个赞