当前位置: 首页 > news >正文

01、大模型部署方案与Dify的使用

大模型部署方案与Dify的部署

一、整体部署方案

在这里插入图片描述

##1、为什么只把dify安装在docker中?
Ollama和Xinference在调用模型的时候需要消耗大量的GPU资源,而docker默认是使用cpu的。
docker如果要支持GPU是需要额外安装软件来支持的。##2、为什么不把Embedding嵌入模型和ReRank重排序模型安装在Ollama中?
Ollama专注于简化大语言模型(LLM)的本地部署和管理,其核心优势在于LLM的易用性和快速上手。对嵌入式模型和重排序模型支持不太好。
Xinference是一个功能更全面的模型服务框架,它不仅支持部署和管理大语言模型,还对嵌入模型和重排序模型提供了广泛且灵活的支持。
##3、基于RAG架构的开发流程
“大模型的知识冻结” 是指:大语言模型(LLM)在训练完成后,其内部学到的知识就被“固定”下来,不会自动更新。之后它将无法自动感知或学习新发生的事件和信息。"大模型幻觉"模型在生成内容时,输出了看似合理但事实上错误、虚构、甚至完全不存在的信息,而模型自己还表现得非常自信。RAG :  Retrieval检索 + Augmented增强 + Generation生成本地文档--->文本加载器-->文本数据-->文本切割器-->文本切片-->嵌入模型-->向量存储问题--->嵌入模型-->查询向量-->同向量存储里的数据做 向量匹配--->找到关联的文本切片-->提示词模板--->提示词--->大语言模型--->回答其中Retrieval检索==>10从向量数据库中查询
Augmented增强==>12将关联的文本切片塞到提示词模板当中
Generation生成==>大语言模型的回答

在这里插入图片描述

在这里插入图片描述

其中  Embedding用到嵌入式模型知识重排序用到 重排序模型LLM用到 大语言模型
##5、基于Agent架构的5个核心要素充分利用 LLM 的推理决策能力,通过增加规划、记忆和工具调用的能力,构造一个能够独立思考、逐步完成给定目标的智能体。
Agent = LLM + Memory + Tools + Planning + Action

在这里插入图片描述

##核心要素1:大模型LLM
大模型作为“大脑”:提供推理、规划和知识理解能力,是AI Agent的决策中枢。##核心要素2:记忆
短期记忆:存储单次对话周期的上下文信息,属于临时信息存储机制。受限于模型的上下文窗口长度。长期记忆:可以横跨多个任务或时间周期,可存储并调用核心知识,非即时任务。
长期记忆,可以通过模型参数微调知识图谱(固化知识)、(结构化语义网络)或向量数据库(相似性检索)方式实现。##核心要素3:工具的使用tool use
工具使用:调用外部工具(如API、数据库)扩展能力边界##核心要素4:规划决策
规划决策:通过任务分解、反思与自省框架实现复杂任务处理。例如,利用思维链:(Chainof Thought)将目标拆解为子任务,并通过反馈优化策略。##核心要素5:行动
行动:实际执行决策的模块,涵盖软件接口操作(如自动订票)和物理交互(如机器人执行搬运)。比如:检索、推理、编程等。
AutoDL平台地址: https://www.autodl.com
Ollama官方地址: https://ollama.comXInference官方地址: https://xinference.cn/

二、Dify部署

Dify 作为一个综合性的 LLM 应用开发平台,内置了构建现代生成式A! 应用所需的几乎所有关键技术栈。
它的具体功能如下:
·基于Agent架构构建智能体应用
·基于RAG构建私有知识库应用
·基于Workflow构建智能工作流应用##官网:https://dify.ai/zh

1、部署Docker:

##centos7安装官网文档:  https://docs.docker.com/install/linux/docker-ce/centos/1》、yum install -y yum-utils \device-mapper-persistent-data \lvm2
2》、yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3》、可选:yum-config-manager --enable docker-ce-nightlyyum-config-manager --enable docker-ce-test4》、yum install docker-ce docker-ce-cli containerd.io5》、启动 systemctl start docker
6》、测试 docker run hello-world## docker开机启动
systemctl enable docker   ##开启开机自启
systemctl disable docker  ##关闭开机自启

部署Dify:

##安装
cd /opt
mkdir dify
git clone https://gitee.com/night_wish/dify.git
cd dify/dockercp .env.example .env  ##里面有端口之类的配置,默认是80docker compose up -d   ##如果执行不成功看下 /etc/docker/daemon.json 设置好后 重启docker   systemctl reload docker
##拓展 /etc/docker/daemon.json 内容{"registry-mirrors": ["https://docker.unsee.tech","https://dockerpull.org","https://docker.1panel.live","https://dockerhub.icu","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://5tqw56kt.mirror.aliyuncs.com","https://docker.hpccloud.cloud","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","https://docker.ckyl.me","http://mirror.azure.cn","https://hub.rat.dev"]
}systemctl reload-daemon
systemctl reload docker
##访问
http://192.168.73.108:80
设置管理员账号  邮箱:277014708@qq.com  用户名:root  密码:admin123

2、Dify更新

cd /opt/software/dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

3、配置文件

cd /opt/software/dify/docker
ls -a
mv .env.example .env

4、安装常用的python依赖包

vi /opt/software/dify/docker/volumes/sandbox/dependencies/python-requirements.txt
##接入Mysql
#修改python-requirements.txt后,执行下面命令
docker compose down
docker compose up -d##有可能安装不上
docker exec -it docker-sandbox-1 /bin/bash
看下有没有 /app/python-requirements.txt
如果没有 退出 sandbox:vi docker/docker-compose.yaml
增加 
sandbox:image: langgenius/dify-sandbox:0.2.12restart: alwaysenvironment:xxxxxxxxvolumes:- ./volumes/sandbox/dependencies:/dependencies- ./volumes/sandbox/dependencies/python-requirements.txt:/app/python-requirements.txt:ro  ##这一行是新增的,我的是没有的- ./volumes/sandbox/conf:/conf##允许dify访问3306端口
cd dify/docker/ssrf_proxy
vi squid.conf.template
# 新增
acl Safe_ports port 3306   # MYSQL##dify访问外部网络
vi docker/docker-compose.yamlsandbox:xxxxnetworks:- ssrf_proxy_network- default    ##这一行是新增的##重启
docker compose down
docker compose up -d执行
# 检查是否安装
pip list | grep pymysql# 检查是否能导入
python -c "import pymysql; print('🎉 pymysql 可用!')"如果输出:🎉 pymysql 可用!,说明一切正常!如果没有自动安装,手动执行安装:
pip install -r /app/python-requirements.txt

5、接入大模型

头像-->设置-->模型供应商-->设置秘钥

在这里插入图片描述

http://www.dtcms.com/a/482067.html

相关文章:

  • 使用Spring Boot构建消息通信层
  • 山东济南seo整站优化公司对其网站建设进行了考察调研
  • MIPI_CSI22_Xilinx IP
  • 【C++STL :stack queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
  • DevOps工具链对比,云效 vs TikLab哪一款更好用?
  • Kanass,一款超级轻量且简洁的项目管理工具
  • 如何做企业的网站微信如何开通小程序
  • 【从0开始学习Java | 第20篇】网络编程
  • PetaLinux 工程迁移指南
  • Java面试实战:互联网医疗场景中的JVM调优与Spring Boot应用
  • http环境实现通知
  • 分布式雷达 vs 多基地雷达:同频共振的“合唱团”和“乐队”
  • 手机端-adb脚本自动化-真机版
  • Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
  • 简繁英3合1企业网站生成管理系统V1.6wordpress如何降级
  • 【学以致用|python自动化办公】OCR批量识别自动存为Excel(批量识别发票)
  • AJAX 实时搜索
  • 详细介绍C++中通过OLE操作excel时,一般会出现哪些异常,这些异常的原因是什么,如何来解决这些异常
  • ES6知识点详解和应用场景
  • 网站平台建设可行性c 网站开发项目教程
  • Webpack 核心知识点详解:proxy、热更新、Loader与Plugin全解析
  • 本地搭建 Jekyll 环境
  • 前端基础之《React(1)—webpack简介》
  • 攻击者利用Discord Webhook通过npm、PyPI和Ruby软件包构建隐蔽C2通道
  • [Spark] Metrics收集流程
  • pyspark并行性能提升经验
  • HTML盒子模型详解
  • 个人电脑做网站违法吗东莞市住建局官网
  • 下载selenium-ide及使用
  • [Spark] 事件总线机制