内蒙网站设计公司自动点击关键词软件
关于dify,来自官网的介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
为什么使用 Dify?
你或许可以把 LangChain 这类的开发库(Library)想象为有着锤子、钉子的工具箱。与之相比,Dify 提供了更接近生产需要的完整方案,Dify 好比是一套脚手架,并且经过了精良的工程设计和软件测试。
重要的是,Dify 是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似 Assistants API 和 GPTs 的能力,在灵活和安全的基础上,同时保持对数据的完全控制。
一、根据官网提示,克隆 dify 源代码至本地环境
git clone https://github.com/langgenius/dify.git --branch 0.15.3
此文件夹包含了dify docker-compose启动文件,在不联网情况下直接启动会报找不到镜像
二、导入离线必备镜像
1. langgenius_dify-api_0.15.3.tar
下载
- 用途:Dify 的核心后端服务,提供 API 接口,处理业务逻辑、AI 模型集成、数据存储等。
- 功能:包括用户管理、应用管理、模型推理、数据集处理等核心功能。
2. langgenius_dify-web_0.15.3.tar
下载
- 用途:Dify 的前端界面,基于 Web 的用户交互界面。
- 功能:提供可视化操作界面,方便用户创建、管理和部署 AI 应用。
3. langgenius_dify-sandbox_0.2.10.tar
下载
- 用途:Dify 的沙箱环境,用于安全地运行用户自定义代码或 AI 模型推理。
- 功能:隔离运行环境,防止恶意代码影响主系统,通常用于插件或自定义逻辑的执行。
4. postgres_15-alpine.tar
下载
- 用途:PostgreSQL 数据库,作为 Dify 的主要数据存储。
- 功能:存储用户信息、应用配置、日志等结构化数据。
5. redis_6-alpine.tar
下载
- 用途:Redis 缓存数据库,用于提高系统性能。
- 功能:缓存高频访问数据(如会话信息、临时数据),支持消息队列和实时数据处理。
6. semitechnologies_weaviate_1.19.0.tar
下载
- 用途:Weaviate 向量数据库,用于存储和检索向量数据。
- 功能:支持 AI 应用的语义搜索、相似性检索(如文本、图像嵌入向量)。
7. nginx_latest.tar
下载
- 用途:Nginx Web 服务器和反向代理。
- 功能:
- 反向代理,将请求路由到
dify-api
或dify-web
。 - 负载均衡(如果部署了多个实例)。
- 静态资源托管(如前端文件)。
- 反向代理,将请求路由到
8. ubuntu_squid_latest.tar
下载
- 用途:Squid 代理服务器,基于 Ubuntu 镜像。
- 功能:
- 可能用于缓存外部请求(如模型 API 调用),减少延迟。
- 提供网络访问控制或安全策略(如白名单限制)。
整体协作流程:
- 用户访问:通过
nginx
进入系统,请求被路由到dify-web
(前端)或dify-api
(后端)。 - 数据处理:
- 结构化数据(用户信息、应用配置)存储在
postgres
。 - 缓存和实时数据由
redis
处理。 - 向量数据(如嵌入)由
weaviate
管理。
- 结构化数据(用户信息、应用配置)存储在
- AI 推理:
dify-api
调用模型,可能需要通过dify-sandbox
安全执行自定义代码。 - 网络优化:
squid
可能用于加速或安全控制外部请求。
三、编辑docker-compose
1、解决OpenBLAS线程创建失败问题
2、解决pthread_create failed for thread 1 of 16: Operation not permitted问题
最终docker-compose
四、使用命令启动dify
在/dify/docker文件夹下执行docker-compose up -d ,进入首页会要求设置密码,再次登录显示: