一般网站宽度,网站游戏正规网站建设,威海信息网,dw网站的站点建设背景
Dify 是一款开源的大语言模型(LLM) 应用开发平台。其直观的界面结合了 AI 工作流、 RAG 管道、 Agent 、模型管理、可观测性功能等#xff0c;让您可以快速从原型到生产。相比 LangChain 这类有着锤子、钉子的工具箱开发库#xff0c; Dify 提供了更接近生产需要的完整…背景
Dify 是一款开源的大语言模型(LLM) 应用开发平台。其直观的界面结合了 AI 工作流、 RAG 管道、 Agent 、模型管理、可观测性功能等让您可以快速从原型到生产。相比 LangChain 这类有着锤子、钉子的工具箱开发库 Dify 提供了更接近生产需要的完整方案而且可以作为 Coze 的开源平替。 Dify一词源自Define Modify意指定义并且持续的改进你的AI应用它是为你而做的Do it for you。 上一篇我们使用 Ollama 私有化部署了一个2G大小的模型 llama3.2 3B本篇文章先用 Ollama 私有化部署 Qwen2.5 7B模型方便后续使用 Dify 进行中文知识库的理解接着进行私有化部署 Dify 社区版快速搭建一个聊天助手最后结合本地知识库作为 Dify 上下文实现真正的个人助手。
虚机资源
共用到了1台虚机纯CPU运行较慢
主机名IP说明llm192.168.44.170llm节点
基本选用当前最新版本
Ollama版本v0.4.7Qwen版本2.5
系统环境
[rootllm ~]# uname -a
Linux llm 5.10.0-182.0.0.95.oe2203sp3.x86_64 #1 SMP Sat Dec 30 13:10:36 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[rootllm ~]# cat /proc/version
Linux version 5.10.0-182.0.0.95.oe2203sp3.x86_64 (rootdc-64g.compass-ci) (gcc_old (GCC) 10.3.1, GNU ld (GNU Binutils) 2.37) #1 SMP Sat Dec 30 13:10:36 CST 2023Docker镜像加速
为了确保可以成功下载到镜像以下配置了国内目前可以使用的 Docker 镜像源地址 vi /etc/docker/daemon.json 。
{registry-mirrors: [https://docker.hpcloud.cloud,https://docker.m.daocloud.io,https://docker.unsee.tech,https://docker.1panel.live,http://mirrors.ustc.edu.cn,https://docker.chenby.cn,http://mirror.azure.cn,https://dockerpull.org,https://dockerhub.icu,https://hub.rat.dev,https://dockerpull.com,https://docker.hpcloud.cloud,https://docker.m.daocloud.io]
}修改保存之后记得重启 docker 服务。
systemctl daemon-reload
systemctl restart docker私有化部署Qwen2.5模型
通过 Ollama 直接拉取部署 Qwen2.5 7B模型。
容器化部署Qwen2.5
# 拉取qwen2.5:7b
[rootllm ~]# docker exec -it ollama ollama run qwen2.5:7b
pulling manifest
pulling 2bada8a74506... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████▏ 4.7 GB
pulling 66b9ea09bd5b... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████▏ 68 B
pulling eb4402837c78... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████▏ 1.5 KB
pulling 832dd9e00a68... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████▏ 11 KB
pulling 2f15b3218f05... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████▏ 487 B
verifying sha256 digest
writing manifest
success who r u?
I\m Qwen, an AI assistant created by Alibaba Cloud. I exist to provide information, answer questions, and assist with various tasks. How can I help
you today?
[rootllm ollama]# docker exec -it ollama ollama list
NAME ID SIZE MODIFIED
qwen2.5:7b 845dbda0ea48 4.7 GB 16 minutes ago
llama3.2:latest a80c4f17acd5 2.0 GB 8 days ago ollama常用命令
[rootllm docker]# docker exec -it ollama ollama -h
Large language model runnerUsage:ollama [flags]ollama [command]Available Commands:serve Start ollamacreate Create a model from a Modelfileshow Show information for a modelrun Run a modelstop Stop a running modelpull Pull a model from a registrypush Push a model to a registrylist List modelsps List running modelscp Copy a modelrm Remove a modelhelp Help about any commandFlags:-h, --help help for ollama-v, --version Show version informationUse ollama [command] --help for more information about a command.部署Dify
Dify 官方的体验地址提供了一定的免费额度知识库支持上传50个文档 RAG 向量空间只有5MB。不过还是建议稍微折腾一下进行本地部署一方面不用付费另外数据安全也有保障。
容器化部署Dify
从GitHub上 https://github.com/langgenius/dify 下载 Dify 社区版源码。进入 ./dify-main/docker 目录直接执行 docker-compose up -d 命令一键启动 Dify 用到的所有容器。
Note
Dify默认要用到80和443端口我这里是一台干净的新虚机没有启动其他服务所以直接启动了如果你的80或者其他端口被占用可通过.env环境变量进行更改。如果没有镜像第一次启动过程会很慢因为要到远程拉取镜像等等吧实际共下载了8个镜像9个容器。
# 启动服务
[rootllm docker]# docker-compose up -d
...
Creating docker_redis_1 ... done
Creating docker_ssrf_proxy_1 ... done
Creating docker_sandbox_1 ... done
Creating docker_web_1 ... done
Creating docker_db_1 ... done
Creating docker_weaviate_1 ... done
Creating docker_worker_1 ... done
Creating docker_api_1 ... done
Creating docker_nginx_1 ... done# 查看镜像
[rootllm docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/open-webui/open-webui main 065a36698c69 12 days ago 4.22GB
ollama/ollama latest a8316b7b7fcd 13 days ago 4.65GB
nginx latest 66f8bdd3810c 2 weeks ago 192MB
postgres 15-alpine 933581caa3e7 3 weeks ago 248MB
langgenius/dify-web 0.11.2 c26e830052b6 3 weeks ago 348MB
langgenius/dify-api 0.11.2 de697455d474 3 weeks ago 2.93GB
langgenius/dify-sandbox 0.2.10 4328059557e8 8 weeks ago 567MB
redis 6-alpine 4100b5bd1743 2 months ago 35.5MB
ubuntu/squid latest 87507c4542d0 3 months ago 242MB
semitechnologies/weaviate 1.19.0 8ec9f084ab23 19 months ago 52.5MB验证Dify安装
浏览器访问 http://192.168.44.170 打开 Dify 页面。
首先需要设置用户账号信息创建管理员账号 登录成功后进入首页 构建聊天助手
创建应用
类型选择最简单的聊天助手基础编排。 添加大模型
支持主流的模型托管服务商OpenAI、Anthropic以及Ollama等这里选择我们刚下载的Qwen2.5模型。 Note在输入模型名称点击保存时会有一个调用远程模型API是否可用的校验过程稍微会卡顿一下如果添加失败说明无法访问到模型的API。
选择模型 测试模型 对话交互 构建个人知识库
大语言模型的训练数据一般基于公开的数据且每一次训练需要消耗大量算力这意味着模型的知识一般不会包含私有领域的知识同时在公开知识领域存在一定的滞后性。为了解决这一问题目前通用的方案是采用 RAG 检索增强生成技术使用用户问题来匹配最相关的外部数据将检索到的相关内容召回后作为模型提示词的上下文来重新组织回复。
这里我选择之前写的关于数据集成工具 ETLCloud 的系列文章( PDF 格式)作为知识库素材。
Note: 当前 Dify 的知识库支持以下格式的文件
长文本内容TXT、Markdown、DOCX、HTML、JSONL 甚至是 PDF 文件结构化数据CSV、Excel 等
选择数据源 文本分段与清洗 处理并完成 添加知识库作为聊天助手的上下文 询问知识库相关内容 Note:
打完收工个人知识库小助手成功上线啦每次的回答输出还提供了参考文档贴心~
离线部署
实际生产环境有时候没有互联网环境需要进行离线部署。
导出/导入镜像tar包
先将前面在可以连接互联网的主机上下载的镜像保存导出为tar包。
docker save langgenius/dify-web:0.11.2 -o dify-web.tar
docker save langgenius/dify-api:0.11.2 -o dify-api.tar
docker save langgenius/dify-sandbox:0.2.10 -o dify-sandbox.tar
docker save nginx:latest -o nginx.tar
docker save postgres:15-alpine -o postgres.tar
docker save redis:6-alpine -o redis.tar
docker save ubuntu/squid:latest -o squid.tar
docker save semitechnologies/weaviate:1.19.0 -o weaviate.tar然后在需要进行离线部署的主机上执行以下命令加载镜像。
docker load -i dify-web.tar
docker load -i dify-api.tar
docker load -i dify-sandbox.tar
docker load -i nginx.tar
docker load -i postgres.tar
docker load -i redis.tar
docker load -i squid.tar
docker load -i weaviate.tar模型迁移
比如将我们已下载的 llama3.2 、 Qwen2.5 模型迁移到离线主机上将模型文件目录 models 这里是 /opt/ollama/models 拷贝到目标离线主机的对应目录即可。
小总结
文章主要介绍了如何使用 Ollama 和 Dify 搭建个人 AI 助手。首先通过 Ollama 私有化部署了 Qwen2.5 (7B) 模型然后使用 Docker Compose 一键部署了 Dify 社区版平台。在 Dify 平台上创建了基于 Qwen2.5 模型的聊天助手并添加了个人知识库作为上下文实现了真正的个人助手功能。文章最后还介绍了离线部署方案包括如何导出/导入 Docker 镜像和迁移模型文件方便在无互联网环境下部署使用。整个过程展示了从模型部署到应用构建的完整流程为搭建私有化 AI 助手提供了实践指导。
Reference
http://difyai.com/https://github.com/langgenius/difyhttps://docs.dify.ai/zh-hans If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome! 文章转载自: http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn http://www.morning.tsgxz.cn.gov.cn.tsgxz.cn http://www.morning.jfcbs.cn.gov.cn.jfcbs.cn http://www.morning.sdkaiyu.com.gov.cn.sdkaiyu.com http://www.morning.blxor.com.gov.cn.blxor.com http://www.morning.qqklk.cn.gov.cn.qqklk.cn http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn http://www.morning.rhkgz.cn.gov.cn.rhkgz.cn http://www.morning.lxthr.cn.gov.cn.lxthr.cn http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn http://www.morning.mdwtm.cn.gov.cn.mdwtm.cn http://www.morning.gqmhq.cn.gov.cn.gqmhq.cn http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn http://www.morning.cniedu.com.gov.cn.cniedu.com http://www.morning.rmmz.cn.gov.cn.rmmz.cn http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn http://www.morning.4r5w91.cn.gov.cn.4r5w91.cn http://www.morning.kmcby.cn.gov.cn.kmcby.cn http://www.morning.kscwt.cn.gov.cn.kscwt.cn http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn http://www.morning.bqppr.cn.gov.cn.bqppr.cn http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn http://www.morning.phcqk.cn.gov.cn.phcqk.cn http://www.morning.c7625.cn.gov.cn.c7625.cn http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn http://www.morning.yksf.cn.gov.cn.yksf.cn http://www.morning.gthwz.cn.gov.cn.gthwz.cn http://www.morning.xfhms.cn.gov.cn.xfhms.cn http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.rcjqgy.com.gov.cn.rcjqgy.com http://www.morning.rpkg.cn.gov.cn.rpkg.cn http://www.morning.rkmsm.cn.gov.cn.rkmsm.cn http://www.morning.bmts.cn.gov.cn.bmts.cn http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn http://www.morning.rbtny.cn.gov.cn.rbtny.cn http://www.morning.phtqr.cn.gov.cn.phtqr.cn http://www.morning.bsplf.cn.gov.cn.bsplf.cn http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn http://www.morning.qqrlz.cn.gov.cn.qqrlz.cn http://www.morning.dfndz.cn.gov.cn.dfndz.cn http://www.morning.drywd.cn.gov.cn.drywd.cn http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn http://www.morning.rdng.cn.gov.cn.rdng.cn http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn http://www.morning.pxsn.cn.gov.cn.pxsn.cn http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn http://www.morning.shawls.com.cn.gov.cn.shawls.com.cn http://www.morning.blxlf.cn.gov.cn.blxlf.cn http://www.morning.yltnl.cn.gov.cn.yltnl.cn http://www.morning.xbxks.cn.gov.cn.xbxks.cn http://www.morning.nrxsl.cn.gov.cn.nrxsl.cn http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn http://www.morning.zknxh.cn.gov.cn.zknxh.cn http://www.morning.mnclk.cn.gov.cn.mnclk.cn http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.zntf.cn.gov.cn.zntf.cn http://www.morning.ndynz.cn.gov.cn.ndynz.cn http://www.morning.rnzbr.cn.gov.cn.rnzbr.cn http://www.morning.rbbyd.cn.gov.cn.rbbyd.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.hnrls.cn.gov.cn.hnrls.cn