长沙流川枫 发表于 2026-8-11 10:26:47

Dify 知识库搭建教程 新手从文档上传到智能问答

<div class="ce-block ce-block--focused" data-id="3pkpJzZsiV" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">很多人第一次看 Dify,最容易想得太大。又想做客服,又想做内部助理,又想接工作流,最后打开后台反而不知道先点哪里。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="zQAW6Tl7ml" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">新手先从一个最小版本开始就够了。准备一份文档,建一个聊天助手,把文档导成知识库,再让助手按这份资料回答问题。这个流程走通以后,后面再加更多资料,心里就有数了。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="lnIujqiT21" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">下面这篇按真实操作截图来讲。你照着做,先别急着追求复杂效果。</span></div>
        </div>
</div><div class="ce-block" data-id="IpEeNi4Jfd" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">一 先配置模型供应商</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="uisBHO-l9X" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">Dify 自己负责应用页面,知识库和流程编排,真正回答问题还要靠模型。所以第一步要先去设置里看模型供应商。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="rR0i2rRiTy" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">如果你本地已经用 Ollama 跑了模型,可以在模型供应商里搜索 Ollama,然后安装对应插件。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="AC6X1MW216" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_AC6X1MW216" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101206sakh2es52xca2hzh.png" title="" alt="" data-aid="2686"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="VoFNXIDt_Y" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">安装后还要把模型名称和访问地址填进去。截图里用的是本地 Ollama,模型名填的是 </span><span md-inline="code" spellcheck="false" class="md-pair-s" style="box-sizing: border-box;"><code>deepseek-r1:1.5b</code></span><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">,基础 URL 填的是本地部署环境对应的地址。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="NR5-Pg8KTW" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">这一步别随便跳过。后面创建应用时,右上角能选到模型,才说明这里配置成功了。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="56FhUa8onN" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_56FhUa8onN" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101229jbn2jum0c4j2hobn.png" title="" alt="" data-aid="2687"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block" data-id="CmGlCG3Xcw" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">二 创建一个聊天助手应用</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="sw3ekz10vT" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">模型接好以后,回到应用页面,新建一个空白应用。新手做知识库问答,先选聊天助手。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="EkF1tTxR7C" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">聊天助手比较适合这种场景。用户直接提问,应用从知识库里找相关内容,再组织成一段能读懂的回答。客服问答,课程资料,公司制度,产品说明,都可以先用这个入口试。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="iuKGeQlYi6" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_iuKGeQlYi6" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101252nihfdkhhdap6t06e.png" title="" alt="" data-aid="2688"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="vav3cUbtkA" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">应用名称不用太复杂,先写清用途。比如课程资料助手,产品说明助手,售后问答助手。名称越贴近资料,后面自己找起来越省事。</span></div>
        </div>
</div><div class="ce-block" data-id="tQG1FfRaQ9" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">三 先在编辑页测试一下模型</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="lMvKuuE4rS" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">应用创建完成以后,会进入编辑页。左边是提示词,变量和知识库设置,右边是调试预览。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="zSjUW-66Ra" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">这时可以先问一句普通问题,看看模型能不能正常回复。能回复,说明模型这边已经能用。不能回复,就先回去查模型供应商配置,别急着上传文档。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="Io66XHO3nP" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_Io66XHO3nP" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101314lv616otgtn1q1uvv.png" title="" alt="" data-aid="2689"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="kxOMutFV0m" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">提示词一开始不用写得太花。你可以先让它做一件简单的事,按资料回答用户问题,资料里没有就说明没有找到相关内容。这样后面测试知识库时,问题更容易定位。</span></div>
        </div>
</div><div class="ce-block" data-id="vXa6wWXG6p" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">四 从应用里添加知识库</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="wd0cApWucM" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">编辑页往下看,会看到知识库区域。这里点击添加,就能把应用和知识库接起来。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="569f_ZP969" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">如果当前还没有知识库,Dify 会提示创建。这个地方很多新手会卡一下,以为必须先去别的页面建好。其实从应用里加也可以,流程能顺着走下去。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="nZVnH_0DzS" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_nZVnH_0DzS" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101505pdq1m1gqmg4uzi1d.png" title="" alt="" data-aid="2690"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="9mDU2Hwq7c" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">知识库适合放整理好的资料。比如 PDF 课件,Markdown 文档,Word 文档,产品说明书,常见问题表。资料越乱,回答越容易跑偏。先拿一份干净文档试,比一次塞几十个文件更稳。</span></div>
        </div>
</div><div class="ce-block" data-id="a9Fv_Q4DE7" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">五 上传文档</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="5n1hyQWCis" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">创建知识库时,先选择数据来源。最常用的是导入已有文本,然后上传文件。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="3gfoXUUC4F" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">截图里上传的是一个 PDF 课件。Dify 支持多种常见文档格式,新手不用先研究所有格式,先拿手上最完整的一份资料测试。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="1dKPUk3-2K" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_1dKPUk3-2K" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101526csd9z77aarpr0krr.png" title="" alt="" data-aid="2691"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="9ntTeiT8SX" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">上传文件以后,不要马上想着发布。先看下一步的文本处理和索引方式。</span></div>
        </div>
</div><div class="ce-block" data-id="s5BeI6cVXK" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">六 看一下分段和索引</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="Xfo2MqZ9_K" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">知识库能不能答准,很大程度取决于文档怎么切分。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="oy2NaBeeVs" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">分段太短,模型拿到的上下文会碎。分段太长,检索时又可能带进太多没用内容。新手可以先用默认设置,跑几轮问题以后再改。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="CpvTgVjXgn" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">截图里能看到分段设置,索引方式,还有知识库创建完成后的状态。只要文档显示可用,应用那边才有资料可以引用。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="qWfFUfprK1" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_qWfFUfprK1" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101549zu1bjb6kez1j1jgi.png" title="" alt="" data-aid="2692"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="S6zxC2vq2g" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">这里有个小经验。第一份文档不要选太大,最好是十几页以内,问题也先围绕文档里明确写过的内容来问。这样你能判断是资料没导好,还是提示词没写清。</span></div>
        </div>
</div><div class="ce-block" data-id="V-rKViEa3r" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">七 把知识库接回应用并测试</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="F2vCDKOHdS" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">知识库创建好以后,回到应用编辑页,在知识库区域选中刚才那份资料。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="mpZEW_wI3D" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">接上以后,右侧调试区再问一个和文档有关的问题。截图里能看到,应用已经带着 PDF 资料回答。这个状态才算最小版本跑通。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="lmpkSpUPIf" >
    <div class="ce-block__content">
      <div class="cdx-block image-tool image-tool--filled   ">
            <div class="image-tool__image">
                <div class="image-tool__image-preloader" style=""></div>
                <img id="aimg_lmpkSpUPIf" class="image-tool__image-picture _zoom" src="https://bbs.gpt.com.cn/data/attachment/forum/202608/11/101607vyyyal3ydow5mw9l.png" title="" alt="" data-aid="2693"/>
            </div>
            <div class="cdx-input image-tool__caption" data-placeholder=""></div>
      </div>
    </div>
</div><div class="ce-block ce-block--focused" data-id="SAbb202N5D" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">测试时建议问三类问题。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="i9Lp5zpav3" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">第一类,文档里能直接找到答案的问题。它应该答得比较稳。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="EdnFlNEYIX" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">第二类,文档里只有部分信息的问题。它应该把能找到的内容说出来,并提醒缺少哪些材料。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="F-Uod2XFxW" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">第三类,文档里完全没有的问题。它最好别硬编。能做到这一点,才适合给别人用。</span></div>
        </div>
</div><div class="ce-block" data-id="jL8ktAnVLQ" >
        <div class="ce-block__content" style="">
                <h2 class="ce-header ce-header--left">八 Dify 知识库适合哪些场景</h2>
        </div>
</div><div class="ce-block ce-block--focused" data-id="RU5iS-qJv8" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">客服常见问题适合。问题重复,答案范围固定,资料也容易整理。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="syHTRtrjGj" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">产品说明适合。安装步骤,参数解释,售后流程,版本差异,都可以放进文档里。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="sagz5ceCID" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">公司制度适合。请假,报销,审批,入职流程,这些问题本来就需要按资料回答。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="kMlhADKZHA" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">课程资料适合。课件,讲义,学习笔记,考试说明,都能先做成小知识库。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="wpAfb7qTaY" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">个人资料整理也适合。比如把自己写过的教程,项目记录,常用命令放进去,后面查起来会方便很多。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="5c73fF_22i" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain" style="box-sizing: border-box;">Dify 知识库不太适合资料经常变来变去的场景,也不适合答案必须百分百准确的严肃业务。至少在新手阶段,先把它当成资料问答工具,别一上来就让它替人做决定。</span></div>
        </div>
</div><div class="ce-block ce-block--focused" data-id="W-BhQpA6Se" >
        <div class="ce-block__content">
                <div class="ce-paragraph cdx-block ce-paragraph--left"><span md-inline="plain" class="md-plain md-expand" style="box-sizing: border-box;">把这条线跑通以后,你对 Dify 的理解会清楚很多。到最后要看的就是三件事。资料能不能整理清楚,问题能不能落回资料,回答能不能经得起测试。</span></div>
        </div>
</div><style type="text/css">
.ce-block {
    margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
        /* max-width:calc(100% - 50px) */
        margin-left: auto;
    margin-right: auto;
}
.ce-paragraph {
    line-height: 1.6em;
    outline: none;
    text-indent: 2em;
    font-size: 16px;
}
.ce-paragraph--right {
    text-align: right;
}
.ce-paragraph--center {
    text-align: center;
}
.ce-paragraph--left {
    text-align: left;
}

.ce-paragraph--justify {
    text-align: justify;
}

.ce-paragraph-text-indent {
    text-align: justify;
}
.ce-paragraph:empty::before{
content: attr(data-placeholder);
color: #707684;
font-weight: normal;
opacity: 0;
}

/** Show placeholder at the first paragraph if Editor is empty */
.codex-editor--empty .ce-block:first-child .ce-paragraph:empty::before {
opacity: 1;
}

.codex-editor--toolbox-opened .ce-block:first-child .ce-paragraph:empty::before,
.codex-editor--empty .ce-block:first-child .ce-paragraph:empty:focus::before {
opacity: 0;
}

.ce-paragraph p:first-of-type{
    margin-top: 0;
}

.ce-paragraph p:last-of-type{
    margin-bottom: 0;
}


.svg-icon {
    width: 1em;
    height: 1em;
}

.svg-icon path,
.svg-icon polygon,
.svg-icon rect {
    fill: #4691f6;
}

.svg-icon circle {
    stroke: #4691f6;
    stroke-width: 1;
}
</style><style type="text/css">
.ce-block {
        margin-top: 20px;
    margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
        /* max-width:calc(100% - 50px) */
        margin-left: auto;
    margin-right: auto;
}
/**
* Plugin styles
*/
.ce-header {
position: relative;
padding: 1px 0px 1px 15px;
margin: 0;
line-height: 1.25em;
outline: none;
margin-bottom: 10px;
}

.ce-header p,
.ce-header div {
padding: 0 !important;
margin: 0 !important;
}
.ce-header::before {
        content: "";
        background-color: #3e8fe3;
        width: 6px;
        height: 100%;
        position: absolute;
        left: 0;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
}
/**
* Styles for Plugin icon in Toolbar
*/
.ce-header__icon {
}

.ce-header::before {
position: absolute;
content: attr(data-placeholder);
color: #707684;
font-weight: normal;
display: none;
cursor: text;
}

.ce-header:empty::before {
display: block;
}

.ce-header:empty:focus::before {
display: none;
}
/* FontSize */
h1.ce-header {
    font-size: 2.0em;
}
h2.ce-header {
    font-size: 1.7em;
}
h3.ce-header {
    font-size: 1.4em;
}
h4.ce-header {
    font-size: 1.15em;
}
h5.ce-header {
    font-size: 0.95em;
}
h6.ce-header {
    font-size: 0.8em;
}
/* Alignment*/
.ce-header--right {
text-align: right;
}
.ce-header--center {
text-align: center;
}
.ce-header--left {
text-align: left;
}
.ce-header--justify {
text-align: justify;
}
</style><style type="text/css">
.ce-block {
    margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
        /* max-width:calc(100% - 50px) */
        margin-left: auto;
    margin-right: auto;
}
.image-tool {
--bg-color: #cdd1e0;
--front-color: #388ae5;
--border-color: #e8e8eb;

}

.image-tool__image {
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 10px;
}

.image-tool__image-picture {
      max-width: 100%;
      vertical-align: bottom;
      display: block;
      margin-left: auto;
      margin-right: auto;
    }

.image-tool__image-preloader {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background-size: cover;
      margin: auto;
      position: relative;
      background-color: #cdd1e0;
      background-position: center center;
    }

.image-tool__image-preloader::after {
      content: "";
      position: absolute;
      z-index: 3;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      border: 2px solid #cdd1e0;
      border-top-color: #388ae5;
      left: 50%;
      top: 50%;
      margin-top: -30px;
      margin-left: -30px;
      animation: image-preloader-spin 2s infinite linear;
      box-sizing: border-box;
      }

.image-tool__caption::before {
      position: absolute !important;
      content: attr(data-placeholder);
      color: #707684;
      font-weight: normal;
      display: none;
    }

.image-tool__caption:empty::before {
      display: block;
      }

.image-tool__caption:empty:focus::before {
      display: none;
      }

.image-tool--empty .image-tool__image {
      display: none;
    }

.image-tool--empty .image-tool__caption, .image-tool--loading .image-tool__caption {
      display: none;
    }

.image-tool .cdx-button {
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-tool .cdx-button svg {
      height: auto;
      margin: 0 6px 0 0;
    }

.image-tool--filled .cdx-button {
      display: none;
    }

.image-tool--filled .image-tool__image-preloader {
      display: none;
      }

.image-tool--loading .image-tool__image {
      min-height: 200px;
      display: flex;
      border: 1px solid #e8e8eb;
      background-color: #fff;
    }

.image-tool--loading .image-tool__image-picture {
      display: none;
      }

.image-tool--loading .cdx-button {
      display: none;
    }

/**
   * Tunes
   * ----------------
   */

.image-tool--withBorder .image-tool__image {
      border: 1px solid #e8e8eb;
    }

.image-tool--withBackground .image-tool__image {
      padding: 15px;
      background: #cdd1e0;
    }

.image-tool--withBackground .image-tool__image-picture {
      max-width: 60%;
      margin: 0 auto;
      }

.image-tool--stretched .image-tool__image-picture {
      width: 100%;
      }

.image-tool__caption {
                text-align: center;
                font-size: 14px;
                color: #a3a3a3;
        }
@keyframes image-preloader-spin {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
</style><style type="text/css">
.inline-code {
background: rgba(250, 239, 240, 0.78);
color: #b44437;
padding: 3px 4px;
border-radius: 5px;
margin: 0 1px;
font-family: inherit;
font-size: 0.86em;
font-weight: 500;
letter-spacing: 0.3px;
}
</style>
页: [1]
查看完整版本: Dify 知识库搭建教程 新手从文档上传到智能问答