【有手就行】2分钟0代码,教你用Dify搭建专属AI知识库 * { margin: 0; padding: 0; outline: 0; } body { font-family: “PingFang SC”, system-ui, -apple-system, BlinkMacSystemFont, “Helvetica Neue”, “Hiragino Sans GB”, “Microsoft YaHei UI”, “Microsoft YaHei”, Arial, sans-serif; line-height: 1.6; } .__page_content__ { max-width: 667px; margin: 0 auto; padding: 20px; text-size-adjust: 100%; color: rgba(0, 0, 0, 0.9); padding-bottom: 64px; } .title { user-select: text; font-size: 22px; line-height: 1.4; margin-bottom: 14px; font-weight: 500; } .__meta__ { color: rgba(0, 0, 0, 0.3); font-size: 15px; line-height: 20px; hyphens: auto; word-break: break-word; margin-bottom: 50px; } .__meta__ .nick_name { color: 576B95; } .__meta__ .copyright { color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.05); padding: 0 4px; margin: 0 10px 10px 0; } blockquote.source { padding: 10px; margin: 30px 0; border-left: 5px solid ccc; color: #333; font-style: italic; word-wrap: break-word; } blockquote.source a { cursor: pointer; text-decoration: underline; } .item_show_type_0 > section { margin-top: 0; margin-bottom: 24px; } a { color: 576B95; text-decoration: none; cursor: default; } .text_content { margin-bottom: 50px; user-select: text; font-size: 17px; white-space: pre-wrap; word-wrap: break-word; line-height: 28px; hyphens: auto; } .picture_content .picture_item { margin-bottom: 30px; } .picture_content .picture_item .picture_item_label { text-align: center; } img { max-width: 100%; } .pay_subscribe_notice { margin: 30px 0; padding: 20px; background: fffbe6; border: 1px solid ffe58f; border-radius: 8px; } .pay_subscribe_badge { display: inline-block; padding: 4px 12px; background: faad14; color: fff; border-radius: 4px; font-size: 14px; font-weight: 500; margin-bottom: 12px; } .pay_subscribe_desc { font-size: 15px; line-height: 1.8; color: rgba(0, 0, 0, 0.7); margin-bottom: 12px; } .pay_subscribe_hint { font-size: 13px; color: rgba(0, 0, 0, 0.4); } .__bottom-bar__ { display: flex; justify-content: space-between; align-items: center; position: fixed; bottom: 0; left: 0; right: 0; height: 64px; padding: 8px 20px; background: white; box-sizing: border-box; border-top: 1px solid rgba(0, 0, 0, 0.2); } .__bottom-bar__ .left { display: flex; align-items: center; font-size: 15px; white-space: nowrap; } .__bottom-bar__ .right { display: flex; } .__bottom-bar__ .sns_opr_btn { display: flex; align-items: center; user-select: none; background: transparent; border: 0; color: rgba(0, 0, 0, 0.9); font-size: 14px; } .__bottom-bar__ .sns_opr_btn:not(:last-child) { margin-right: 16px; } .__bottom-bar__ .sns_opr_btn > img { margin-right: 4px; }
【有手就行】2分钟0代码,教你用Dify搭建专属AI知识库
原创 数字生命卡兹克 数字生命卡兹克 2023-06-12 23:00 天津
自从ChatGPT发布以来,已经过去了8个月了。
而基于知识库的问答产品,ChatPDF的发布,也过去很多个月了。
随着越来越多人的接触到AI,基于ChatGPT和私有数据,搭建专属知识库的诉求越来越强。
毕竟,这玩意,可不是玩玩而已,是真的生产力啊。
比如智能AI客服,7*24小时在线沟通,百问百答,没任何脾气,可同时服务数千客户咨询;
比如企业内部知识库,大家都做了那么多文档那么多SOP对吧,看那么多文件,脑袋都大了,这下好了,一句话全部解决。
比如你的搭建你的数字分身,学习、咨询一站式服务;
当然,还能搞垂直行业的AI咨询师,比如律师、比如金融等等。
三头六臂,直接起飞。
话不多说,今天带大家搭自己的知识库,用的项目是Dify。
首先要理解一下搭知识库的基本原理。
知识库并不是将几百页的文档全灌给了GPT,而是将文档全部转成向量,存到向量数据库中,当用户发起提问时,就将这个问题的向量去向量数据库里查,找到最相近的文本,给它取出来,并嵌入给GPT,让GPT根据这段取出来的文字进行回答。
这涉及到了很多知识,比如你要用API接入,你要做文本分割,你要做向量库,你要做嵌入等等…
你不会代码的话,直接就可以回家玩泥巴了。。。
而现在,Dify横空出世,无需代码,无需那些乱七八糟的知识,真正的实现,有手就行。
Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生 AI 应用。Dify 提供多种类型应用的可视化编排,应用可开箱即用,也能以“后端即服务”的 API 提供服务。
一进来是一个非常简单的登录页面,用Google登录就好。
然后你会发现,你现在没有任何应用,是空空如也的状态。我们点击左上角,创建应用。
在弹出的框中,选择对话型应用,毕竟我们是要做一个对话知识库嘛。然后名字按照真实场景随便填。
进入到一个数据统计页面后,说明我们的应用已经创建完成了,是不是很迅速?但是不急,我们还需要做两步操作,输入我们的OpenAI的Key,再上传我们的数据集。
我们先点头像右上角,点击设置。在弹窗里找到模型供应商,把OpenAI这块的Key,改成自己的账号的Key。
然后,我们点击数据集这个tab。再创建一个自己的数据集。
目前Dify的数据集只支持文本上传,已支持TXT,HTML,Markdown,PDF,XLSX。对本地的文档支持的很全面了。你要是有多个文件,就一个一个传。
我随便弄了一个文档传上去了。
然后这个分段与清洗的设置页面,如果你不太懂文本切割,你就无脑选自动和高质量就行。
然后我们保存并处理,很快就好啦。
处理完成之后,我们回到刚才所创建的应用页面。点击提示词编排。
对话前的预设Prompt我就随便写了两句,大家可以根据自己的实际情况去写,比如智能客服跟法律顾问的Prompt肯定是不一样的。
在上下文关联那,把自己的数据集给添加进去。
我们点击发布!大功告成!
回到概览页,我们就可以把这个链接分享给朋友,或者懂代码的话,也可以直接接这个API。
我们打开网页,来问一下我上传的文档内容来试试看。
当然,Dify的功能还不止于此。知识库只是冰山一角。
大家对他们还感兴趣的话,以后可以慢慢写。
以上,既然看到这里了,如果觉得不错,随手点个赞和“在看”吧,感恩。
数字生命卡兹克
 阅读 赞  分享 ‘%3E %3Cg transform=‘translate(0 -2.349)‘%3E %3Cpath d=‘M0 2.349h24v24H0z’/%3E %3Cpath fill=‘%23576B95’ d=‘M16.45 7.68c-.954 0-1.94.362-2.77 1.113l-1.676 1.676-1.853-1.838a3.787 3.787 0 0 0-2.63-.971 3.785 3.785 0 0 0-2.596 1.112 3.786 3.786 0 0 0-1.113 2.687c0 .97.368 1.938 1.105 2.679l7.082 6.527 7.226-6.678a3.787 3.787 0 0 0 .962-2.618 3.785 3.785 0 0 0-1.112-2.597A3.687 3.687 0 0 0 16.45 7.68zm3.473.243a4.985 4.985 0 0 1 1.464 3.418 4.98 4.98 0 0 1-1.29 3.47l-.017.02-7.47 6.903a.9.9 0 0 1-1.22 0l-7.305-6.73-.008-.01a4.986 4.986 0 0 1-1.465-3.535c0-1.279.488-2.56 1.465-3.536A4.985 4.985 0 0 1 7.494 6.46c1.24-.029 2.49.4 3.472 1.29l.01.01L12 8.774l.851-.85.01-.01c1.046-.951 2.322-1.434 3.59-1.434 1.273 0 2.52.49 3.472 1.442z’/%3E %3C/g%3E %3C/g%3E %3C/g%3E%3C/svg%3E) 推荐 ’ fill=‘%23000’ fill-opacity=’.9’/%3E%3C/svg%3E) 留言