> ## Documentation Index
> Fetch the complete documentation index at: https://docs.somark.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 在 RAGFlow 中使用 SoMark

> 通过 RAGFlow 的模型供应商和知识库解析配置，将 SoMark 接入 PDF 知识库导入流程

## 配置流程

<Steps>
  <Step title="确认 Base URL">
    根据部署方式确认 SoMark API Base URL。

    | 部署方式          | Base URL                   |
    | ------------- | -------------------------- |
    | SoMark 官方 API | `https://somark.cn/api/v1` |
    | SoMark 私有化部署  | 填写私有化服务的 API Base URL      |
  </Step>

  <Step title="添加SoMark模型供应商">
    进入 RAGFlow 后，打开用户设置，进入模型供应商配置页面，在模型供应商列表中选择 `SoMark`，新增 SoMark OCR 模型实例。

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E6%B7%BB%E5%8A%A0SoMark%E6%A8%A1%E5%9E%8B%E4%BE%9B%E5%BA%94%E5%95%86.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=0ecd5af782b6457c9e4f00e6a6672995" alt="添加 SoMark 模型供应商" width="1600" height="776" data-path="images/添加SoMark模型供应商.webp" />
  </Step>

  <Step title="填写模型配置">
    填写以下配置：

    | 字段       | 必填        | 推荐值                        | 说明                      |
    | -------- | --------- | -------------------------- | ----------------------- |
    | 实例名称     | 是         | `somark`                   | RAGFlow 中的供应商实例名称       |
    | 模型名称     | 是         | `somark` 或自定义名称            | 用于在解析配置中引用该 OCR 模型      |
    | Base URL | 是         | `https://somark.cn/api/v1` | SoMark API 地址           |
    | API Key  | 官方 API 必填 | `sk-...`                   | SoMark API Key；私有化部署可留空 |

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E5%A1%AB%E5%86%99%E6%A8%A1%E5%9E%8B%E9%85%8D%E7%BD%AE.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=8eeb1dd68e6ae1cb45aeeb430165e166" alt="填写模型配置" width="1600" height="779" data-path="images/填写模型配置.webp" />
  </Step>

  <Step title="配置元素输出格式">
    按需配置图片、公式、表格和化学结构式的返回格式。

    | 配置项     | 默认值     | 可选值                       | 说明        |
    | ------- | ------- | ------------------------- | --------- |
    | 图片格式    | `url`   | `url`、`base64`、`none`     | 图片元素返回方式  |
    | 公式格式    | `latex` | `latex`、`mathml`、`ascii`  | 公式元素返回方式  |
    | 表格格式    | `html`  | `html`、`markdown`、`image` | 表格元素返回方式  |
    | 化学结构式格式 | `image` | `image`                   | 化学结构式返回方式 |

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E9%85%8D%E7%BD%AE%E5%85%83%E7%B4%A0%E8%BE%93%E5%87%BA%E6%A0%BC%E5%BC%8F.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=4172c20fc13235bc1c4d4e496e4f5f8d" alt="配置元素输出格式" width="1600" height="778" data-path="images/配置元素输出格式.webp" />
  </Step>

  <Step title="配置解析能力开关">
    按需开启或关闭解析能力。

    | 配置项    | 默认值 | 说明                 |
    | ------ | --- | ------------------ |
    | 文字跨页拼接 | 关闭  | 将跨页文字段合并为连续段落      |
    | 表格跨页拼接 | 关闭  | 将跨页表格合并为完整表格       |
    | 标题层级识别 | 关闭  | 识别 H1、H2、H3 等标题层级  |
    | 文中图    | 关闭  | 返回文字段落中的图片         |
    | 表格图    | 开启  | 返回表格单元格内的图片        |
    | 图片理解   | 开启  | 对文档内图片进行语义理解和结构化描述 |
    | 保留页眉页脚 | 关闭  | 开启后保留页眉页脚内容        |

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E9%85%8D%E7%BD%AE%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E5%BC%80%E5%85%B3.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=3d04e6a63b7b0dabcc2519a1dc85104f" alt="配置解析能力开关" width="1600" height="777" data-path="images/配置解析能力开关.webp" />
  </Step>

  <Step title="在知识库中选择 SoMark">
    打开需要导入 PDF 的 RAGFlow 知识库，上传 PDF 文件，打开解析配置，将 PDF 解析方法设置为 `SoMark`。

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E5%9C%A8%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B8%AD%E9%80%89%E6%8B%A9SoMark.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=4edc2a229f7e5947f7a2ba8bb93af70c" alt="在知识库中选择SoMark" width="1600" height="776" data-path="images/在知识库中选择SoMark.webp" />
  </Step>

  <Step title="开始解析">
    启动解析任务，等待 RAGFlow 完成后续入库流程。RAGFlow 会将 PDF 文件提交给 SoMark，轮询异步解析任务，获取结构化 JSON 结果，将 SoMark block 转换为 RAGFlow 内部结构，并继续执行分块、索引和向量化流程。

    <img src="https://mintcdn.com/soulcode-aa7e5a93/g3vkBK95Mv-OvA5f/images/%E5%BC%80%E5%A7%8B%E8%A7%A3%E6%9E%90.webp?fit=max&auto=format&n=g3vkBK95Mv-OvA5f&q=85&s=00db7f42ff285e5eff14cb1976a60272" alt="开始解析" width="1600" height="775" data-path="images/开始解析.webp" />
  </Step>
</Steps>

***

## 解析结果映射

SoMark 返回的结构化块会映射到 RAGFlow 内部的版面类型。

| SoMark 类型                      | RAGFlow 类型 | 说明               |
| ------------------------------ | ---------- | ---------------- |
| `text`                         | `text`     | 普通文本             |
| `title`                        | `text`     | 标题文本             |
| `figure`                       | `image`    | 图片               |
| `figure_caption`               | `text`     | 图片说明             |
| `table`                        | `table`    | 表格               |
| `table_caption`                | `text`     | 表格说明             |
| `footnote`                     | `text`     | 脚注               |
| `sider`                        | `text`     | 侧边栏文本            |
| `code`                         | `code`     | 代码块              |
| `choice`                       | `text`     | 选项文本             |
| `reference`                    | `text`     | 引用文本             |
| `equation`                     | `equation` | 公式               |
| `cs`                           | `image`    | 化学结构式            |
| `qrcode`                       | `image`    | 二维码              |
| `stamp`                        | `image`    | 印章               |
| `header` / `footer`            | 取决于配置      | 默认丢弃；开启保留页眉页脚后保留 |
| `cate` / `cate_item` / `blank` | 丢弃         | 目录噪声或空白字段        |

## 注意事项

* SoMark 当前在 RAGFlow 中主要用于 PDF 解析流程。
* 文档解析成功后，RAGFlow 会继续执行原有的知识库分块、索引、向量化流程。
* 如果知识库使用 SoMark 解析，仍然需要正常配置 embedding 模型，否则后续入库流程无法完成。
