初步尝试AI应用开发平台——Dify的本地部署和应用开发

news2025/5/24 2:14:38

随着大语言模型LLM和相关应用的流行,在本地部署并构建知识库,结合企业的行业经验或个人的知识积累进行定制化开发,是LLM的一个重点发展方向,在此方向上也涌现出了众多软件框架和工具集,Dify就是其中广受关注的一款,今天我们就来近距离了解下它。

Dify介绍

简单说,Dify 是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as Service)和LLM运维服务(LLMOps)的理念,旨在简化和加速生成式 AI 应用的创建和部署。
Dify 的名称来源于 “Define + Modify”。“Define” 代表着对 AI 应用进行定义,包括明确其功能、目标、应用场景等方面;“Modify” 则表示持续改进,体现了 Dify 平台支持开发者根据实际需求和反馈,不断优化和调整 AI 应用的特点。这两个词结合起来,传达出了 Dify 平台的核心理念,即帮助开发者定义并不断完善自己的 AI 应用。

Dify安装

我们先把Dify在本地安装运行起来。
安装Dify的最简单方式是借助Docker。官方已经做好了编排文件,只要将Dify源码下载下来,然后运行Docker编排命令就可以了。关于基础的linux系统环境和软件工具,如Git,Docker等,可以自行上网查询其安装方式,也可以参考我之前的文章:
Docker+Ollama+RAGFlow本地部署DeepSeek R1并构建本地知识库
这里就不再赘述。
在linux命令行中,先进入自己创建好的本地工作目录,执行如下命令下载Dify源码:

$ git clone https://gitee.com/dify_ai/dify.git

然后进到dify/docker目录,执行如下命令:

$ docker compose up -d

命令运行过程中显示了如下三段信息:
第一段

WARN[0000] The "DB_USERNAME" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_DATABASE" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_PASSWORD" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_USERNAME" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_PASSWORD" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_DATABASE" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_PASSWORD" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_DATABASE" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_USERNAME" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_USERNAME" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_DATABASE" variable is not set. Defaulting to a blank string.
WARN[0000] The "DB_PASSWORD" variable is not set. Defaulting to a blank string.
WARN[0000] The "CERTBOT_EMAIL" variable is not set. Defaulting to a blank string.
WARN[0000] The "CERTBOT_DOMAIN" variable is not set. Defaulting to a blank string.

这显然是一段告警,表示初始的数据库字段未设置。注意到docker目录下有个readme.md文件,打开它,情况就一目了然。Dify已将所有的环境变量设置都集中到了配置文件.env中,并提供了一个样板文件.env.example,里面已经有了必要的初始化参数配置,我们只需复制样板文件就行,复制后也可以根据实际情况略加修订。

第二段

[+] Running 79/79
 ✔ plugin_daemon Pulled                                                                                          123.2s
 ✔ web Pulled                                                                                                    216.7s
 ✔ weaviate Pulled                                                                                                98.6s
 ✔ sandbox Pulled                                                                                                208.7s
 ✔ db Pulled                                                                                                     146.3s
 ✔ redis Pulled                                                                                                  209.9s
 ✔ nginx Pulled                                                                                                  180.0s
 ✔ api Pulled                                                                                                    198.8s
 ✔ ssrf_proxy Pulled                                                                                              42.6s
 ✔ worker Pulled                                                                                                 198.8s

这是在拉取Dify依赖的软件包,显示了其中的几大关键组件及其所消耗的时间。

第三段

[+] Running 12/12
 ✔ Network docker_default             Created                                                                      0.1s
 ✔ Network docker_ssrf_proxy_network  Created                                                                      0.0s
 ✔ Container docker-ssrf_proxy-1      Started                                                                     10.6s
 ✔ Container docker-web-1             Started                                                                     10.4s
 ✔ Container docker-weaviate-1        Started                                                                     10.6s
 ✔ Container docker-db-1              Healthy                                                                     16.0s
 ✔ Container docker-sandbox-1         Started                                                                     10.4s
 ✔ Container docker-redis-1           Started                                                                     10.4s
 ✔ Container docker-plugin_daemon-1   Started                                                                      7.7s
 ✔ Container docker-worker-1          Started                                                                      7.6s
 ✔ Container docker-api-1             Started                                                                      7.7s
 ✔ Container docker-nginx-1           Started                                                                      8.4s

这是把几大组件直接启动起来了,也就是说,这一个命令就完成了Dify的部署和运行,是不是太简单?!
总结一下,安装和运行Dify只需要执行下面的几条命令:

$ git clone https://gitee.com/dify_ai/dify.git
$ cd dify/docker
$ cp .env.example .env
$ docker compose up -d

完成以上步骤之后,打开浏览器,输入本地服务器地址(如http://192.168.1.229,默认端口号是80),就会出现Dify平台的登录界面。首次运行时需要设置管理员账号,输入账号名、邮箱地址和密码,提交完成后再以该账号登录(跟前面参考文章中的Open-WebUI的配置机制一样),出现的首页就长这个样:
在这里插入图片描述

Dify的配置

首页显示“工作室”的内容,从首页界面就能发现:Dify主要是用来创建和管理LLM应用的。应用分为五大类型,分别是:聊天助手(chat)、智能体(agent-chat)、文本生成(completion)、对话流(advanced-chat)、工作流(workflow)。可以按五大类型分类,分别罗列已经创建的应用。当然,我的实际环境中一个都还没有,在创建应用之前,需要先配置一下LLM模型!
点击页面顶端右侧的账号图标,出现一个下拉菜单,点击“设置”按钮,出现如下设置界面:
在这里插入图片描述
默认显示的是成员配置,点击左侧“模型供应商”菜单,出现模型供应商安装界面:
在这里插入图片描述
第一次进入时,会提示“尚未安装模型供应商”、“系统模型尚未完全配置”等信息。下面的待安装模型供应商列表显示了国内外各大知名供应商,包括OpenAI、Gemini、深度求索、通义千问、硅基流动等等。安装模型供应商的作用,实际上是安装访问各个供应商的模型API接口的插件(这里的模型供应商就是插件)。在安装插件之后,还要进一步配置我们在各供应商服务平台上注册的账号和API Key,这一步的目的就是建立起访问LLM模型的通道。
对于本地部署LLM模型的情况,根据运行LLM模型的方式提供相应的本地API接口即可。典型地,对于以Ollama方式运行的LLM模型,我们首先就要安装Ollama模型供应商(插件)。在待安装模型供应商列表中找到Ollama,点击“安装”按钮,
在这里插入图片描述
在出现的确认界面上继续点击“安装”按钮,等待安装过程完成。
在这里插入图片描述
安装需要一定的时间,在安装的过程中,可以点击浏览器的刷新按钮,或者也可以先浏览下其他的页面,直到页面顶端右侧(“插件”菜单的左边)的下载图标消失,就表示安装完成。
在这里插入图片描述
再次回到模型供应商的设置界面,可以看到Ollama已经出现在模型列表中(如果还是没有,可以再重新安装一遍,有时会出现安装失败的情况)。
在这里插入图片描述
点击Ollama组合框右下角的“添加模型”按钮,添加我们将要调用的LLM模型。因为Ollama可以同时部署多种不同类型和规模的LLM模型(关于用Ollama部署LLM模型的方法步骤,也可以参考我上面链接的文章),所以这里需要告诉Dify我们会使用哪些模型。在“添加模型”的界面上,按实际情况填写模型参数,如果有不清楚的地方,可以在命令行执行“ollama show model-name”命令(注意将其中的model-name改成实际的模型名称),然后将对应字段填入。下面是我的实例参数值:
在这里插入图片描述
填好参数以后,点击“保存”按钮,这个模型就会被设置生效并保存,然后出现在模型列表中。
在这里插入图片描述
添加了至少一个LLM模型之后,就可以继续设置系统模型了。点击“系统模型设置”按钮,弹出如下的标签页:
在这里插入图片描述
由于我目前只添加了一个deepseek-r1:1.5b模型,它只能用于推理,所以目前也只能设置“系统推理模型”,点击该配置项的下拉框,刚添加的deepseek-r1:1.5b就出现在下拉列表中了,选中它,然后点击“保存”按钮。完成之后,刷新页面,再次进入模型供应商设置页面就不会再有“尚未安装模型供应商”、“系统模型尚未完全配置”等提示了,已经添加的模型会显示在模型列表中,可以点击“配置”按钮对这些已经添加的LLM模型调整参数。
在这里插入图片描述
除了模型配置外,也可以在配置界面上设置Dify平台的默认语言和系统时区参数:在这里插入图片描述
也可以添加其他成员账号,供团队成员访问:
在这里插入图片描述
至此,最基础的Dify配置就完成了。至于“数据来源”和“API扩展"两项,暂且可以不管它,等后续需要更丰富的功能时再来研究。

创建应用

下面我就来尝试创建第一个应用。

回到首页,点击左上角的“创建空白应用”菜单,弹出创建应用界面:
在这里插入图片描述首先选择五大类型中的某一种,右边会展示该类型应用的基本样式。

也可以在首页点击左上角的“从应用模板创建”菜单,就会弹出各种应用模板的列表:
在这里插入图片描述
模板按“用途”进行了分类,每个模板的下面以文字标明了其所属的类型。

我就选择创建一个“聊天助手”类型的空白应用,填入应用名称和简要描述,然后点击“创建”按钮,出现了如下的应用“定义”界面:
在这里插入图片描述
这里我们就很容易理解“定义”这个词在Dify平台中的含义了。开发LLM应用确实就是个定义过程,定义的对象包括模型(前面已经演示,模型也是定义出来)、提示词、变量、知识库、元数据过滤规则等。定义界面上可以方便地进行即时的调试和预览。

来尝试一把。先选定LLM模型,并设定模型参数。我们目前只添加了一个deepseek-r1模型,所以就选定它了。对于模型参数,如果不清楚它有什么作用,可以点击参数旁边的小问号查看参数解释,如果还不清楚就上网搜索或者直接问AI助手。
在这里插入图片描述
然后填入提示词,其他字段暂且留空。完成这两步之后,就可以在“和机器人聊天”的输入框中输入问题,点击箭头符号确认输入,我们指定的deepseek模型就开始推理思考了(速度取决于咱们的硬件资源),最后给出了很详细的回答。
在这里插入图片描述
以上推理过程都是在本地完成的。如果对这个“定义”和回答还满意,我们就可以发布这个应用了。可以当它是AI应用,也可以当它是个机器人,它就是基于LLM大模型,在我们的明确定义之下,形成的一个有特定功能,面向特定方面提供服务的应用程序。点击“发布”按钮,然后点击“发布更新”,发布过程就完成了。再点击“运行”菜单,弹出一个新的应用界面:
在这里插入图片描述
点击“嵌入网站”菜单(“发布”按钮下的子菜单),弹出一段HTML代码,直接复制,可以将它粘贴到咱们自己的网站中,咱们的网站就有了AI聊天助手功能。
还可以通过API的方式来访问这个应用,点击“访问API”菜单(“发布”按钮下的子菜单),就会弹出一个页面,显示详细的使用指南,教你如何在程序中编码来调用API,以及如何处理输入和输出信息等,指导信息很具体很详细。

保存应用

创建了第一个AI应用之后,在Dify首页的应用列表中就可以看到它了。
在这里插入图片描述
进一步思考一个问题:我们定义(开发)的这些AI应用,它们的本体到底是什么呢? 我们怎么保存它,怎么传输给别人并和别人交流,怎么记录我们对应用的改进历史?像我们平常开发的其他软件一样,这个程序的“代码”在哪里呢?对于这个问题,我们需要理解一个新概念——DSL。Dify是一个AI应用定义平台,它对AI应用的具体定义,存储在一个DSL文件中。把鼠标放到上图的“测试应用”图标上,图标右下角出现一个省略符号,点击它,出现一个操作菜单,其中有一个“导出DSL”的子菜单,点击它,浏览器就会自动下载(由Dify生成)一个名为“测试应用.yml”的文件。
在这里插入图片描述
所以DSL文件的格式其实是yml,用文本编辑器打开它,看看它的内容:

app:
  description: 第一个dify机器人
  icon: 🤖
  icon_background: '#FFEAD5'
  mode: chat
  name: 测试应用
  use_icon_as_answer_icon: false
dependencies:
- current_identifier: null
  type: marketplace
  value:
    marketplace_plugin_unique_identifier: langgenius/ollama:0.0.6@7d66a960a68cafdcdf5589fdf5d01a995533f956853c69c54eddcf797006fa37
kind: app
model_config:
  agent_mode:
    enabled: false
    max_iteration: 5
    strategy: function_call
    tools: []
  annotation_reply:
    enabled: false
  chat_prompt_config: {}
  completion_prompt_config: {}
  dataset_configs:
    datasets:
      datasets: []
    reranking_enable: false
    retrieval_model: multiple
    top_k: 4
  dataset_query_variable: ''
  external_data_tools: []
  file_upload:
    allowed_file_extensions:
    - .JPG
    - .JPEG
    - .PNG
    - .GIF
    - .WEBP
    - .SVG
    - .MP4
    - .MOV
    - .MPEG
    - .WEBM
    allowed_file_types: []
    allowed_file_upload_methods:
    - remote_url
    - local_file
    enabled: false
    image:
      detail: high
      enabled: false
      number_limits: 3
      transfer_methods:
      - remote_url
      - local_file
    number_limits: 3
  model:
    completion_params:
      stop: []
    mode: chat
    name: deepseek-r1:1.5b
    provider: langgenius/ollama/ollama
  more_like_this:
    enabled: false
  opening_statement: ''
  pre_prompt: '#角色:你是一位经验丰富的出国留学顾问

    #功能:

    1)你通晓出国留学相关的各种知识,包括全世界各个国家的排名前10的大学和全世界排名前100名的大学的情况,包括它们的历史、突出专业、师资队伍、学术地位、招生政策、教学制度、留学费用、申请流程等等;

    2)你熟悉国内有留学需求群体的特点,了解改革开放依赖国内留学政策及其变迁,了解实际留学人员的学习过程情况和毕业后工作发展情况,熟悉当前留学市场客户的心理特征和期望,熟悉留学市场的当前状况和未来趋势;

    3)你能结合留学需求人员和留学市场的国际国内行情,为客户提供最合适的留学方案,并耐心回答客户问题,完成留学申请过程的辅导以及后续跟踪服务。

    #限制:

    1)要求实事求是,基于确定的事实、历史记录和数据来回答客户问题;对于趋势分析、未来预测等要求基于有科学依据且广受认可的分析方法来进行,对其结果要明确标定,方便客户识别你的回答内容是客观事实还是分析判断;

    2)要求友好理性,对客户的任何问题,要友善地回答,以帮助客户充分理解具体情况并能进一步作出最优决策为宗旨,对客户问题及相关背景进行理性分析,然后组织语言,简明清晰地回答问题;不允许出现任何没有根据或者不友好的回答;

    3)要求合理合法,回答内容必须合乎相关国家的法律法规以及社会风俗习惯。'
  prompt_type: simple
  retriever_resource:
    enabled: true
  sensitive_word_avoidance:
    configs: []
    enabled: false
    type: ''
  speech_to_text:
    enabled: false
  suggested_questions: []
  suggested_questions_after_answer:
    enabled: false
  text_to_speech:
    enabled: false
    language: ''
    voice: ''
  user_input_form: []
version: 0.3.0

这就是我们前面所有定义的内容。一个AI应用,是以Dify平台服务为基础的一系列属性值的组合,Dify根据这些属性来修饰和调用LLM模型,并为用户呈现LLM推理的结果,对外表现为独立的AI应用。基于用户的各种定义,同一个Dify平台,可以同时为用户呈现多种不同的AI应用服务。

有了上面的DSL文件,我们就可以在不同的地方传递、共享、重现我们定义的AI应用,也可以用Git等配置管理软件进行历史版本记录和团队合作开发。在Dify首页上创建AI应用时,有个“导入DSL文件”的子菜单,其中的DSL文件就来源于此。
在这里插入图片描述

确实是好方便啊!

总结

至此,我们就简单但完整地体验了一下Dify的安装部署和使用。这个过程让我想起了之前使用字节跳动的“扣子”平台的经历,可以回顾我之前写的系列文章。相比较而言,Dify已经是一个成熟产品,一个软件平台,一个可在本地部署的AI应用定制开发平台,更准确地说,Dify是一款开发AI应用的工具软件。它也支持工作流的定义,支持知识库的应用,功能已经很强大。“扣子”平台还在开发和完善之中,它的功能跟Dify有很多重叠,但它的目标可能更远大,背景实力更强。“扣子”是一个在线平台,是字节跳动公司的一种生意模式,它将开发者聚集到这个网络平台上,支持在线开发AI应用的功能,同时与其他在线资源,比如各大LLM模型服务器、AI应用市场、抖音发布平台、豆包APP等结合起来,成为字节跳动公司抢占AI软件市场的一把利器!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卷积神经网络中的局部卷积:原理、对比与应用解析

【内容摘要】 本文聚焦卷积神经网络中的局部卷积,重点解析全连接、局部连接、全卷积与局部卷积四种连接方式的差异,结合人脸识别任务案例,阐述局部卷积的应用场景及优势,为理解卷积网络连接机制提供技术参考。 关键词&#xff1a…

重拾童年,用 CodeBuddy 做自己的快乐创作者

某个炎炎的夏日午后,阳光透过稀疏的树叶洒落在地上,一道道光影斑驳陆离。那时候的我们,还只是三五个小朋友,蹲坐在村头的一棵老槐树下,手里握着并不属于自己的游戏掌机,轮流按动着手柄的按键,在…

HarmonyOS实战:自定义时间选择器

前言 最近在日常鸿蒙开发过程中,经常会使用一些时间选择器,鸿蒙官方提供的时间选择器满足不了需求,所以自己动手自定义一些经常会使用到的时间选择器,希望能帮到你,建议点赞收藏! 实现效果 需求分析 默认…

6:OpenCV—图像滤波

过滤图像和视频 图像滤波是一种邻域运算,其中输出图像中任何给定像素的值是通过对相应输入像素附近的像素值应用某种算法来确定的。该技术通常用于平滑、锐化和检测图像和视频的边缘。 让我们了解在讨论图像过滤技术、内核和卷积时使用的一些术语的含义。 内核 内…

pytorch语法学习

启动 python main.py --config llve.yml --path_y test -i output

5:OpenCV—图像亮度、对比度变换

1.更改图像和视频的亮度 更改亮度 更改图像的亮度是常用的点操作。在此操作中,图像中每个像素的值应增加/减少一个常数。要更改视频的亮度,应对视频中的每一帧执行相同的操作。 如果要增加图像的亮度,则必须为图像中的每个像素添加一些正常…

Oracle 的V$ACTIVE_SESSION_HISTORY 视图

Oracle 的V$ACTIVE_SESSION_HISTORY 视图 V$ACTIVE_SESSION_HISTORY显示数据库中的 Sampled Session 活动。 它包含每秒拍摄一次的活动数据库会话的快照。如果数据库会话位于 CPU 上或正在等待不属于等待类的事件,则认为该会话处于活动状态。请参阅 view 以了解有…

【Python 算法零基础 4.排序 ② 冒泡排序】

目录 一、引言 二、算法思想 三、时间复杂度和空间复杂度 1.时间复杂度 2.空间复杂度 四、冒泡排序的优缺点 1.算法的优点 2.算法的缺点 五、实战练习 88. 合并两个有序数组 算法与思路 ① 合并数组 ② 冒泡排序 2148. 元素计数 算法与思路 ① 排序 ② 初始化计数器 ③ 遍历数组…

Python:操作Excel设置行高和列宽

Python 操作 Excel:轻松设置行高与列宽 📊✨ 在处理 Excel 表格时,除了正确展示数据本身,合理设置行高与列宽也是提升可读性和专业度的关键因素。本文将带你了解如何使用 Python 的 openpyxl 库,优雅地控制 Excel 表格的排版布局,实现行高、列宽的灵活设置与自动适配! …

docker-volume-backup 备份 ragflow volumes

自定义项目名称 这里我自定义了 ragflow 项目的名称,修改 .env,添加环境配置 # 自定义项目名称 COMPOSE_PROJECT_NAMEragflow创建备份脚本配置文件 在 ragflow/docker 目录下创建文件 docker-compose-backup.yml version: 3services:backup:image: o…

Axure设计数字乡村可视化大屏:从布局到交互的实战经验分享

乡村治理正从传统模式向“数据驱动”转型。数字乡村可视化大屏作为数据展示的核心载体,不仅能直观呈现乡村发展全貌,还能为决策提供科学依据。本文以Axure为工具,结合实际案例,分享如何从零设计一个功能完备、交互流畅的数字乡村大…

算法第26天 | 贪心算法、455.分发饼干、376. 摆动序列、 53. 最大子序和

弹性算法理论基础 想清楚 局部最优 是什么,如果可以推导出全局最优,那就是正确的贪心算法 455. 分发饼干 题目 思路与解法 class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:res 0i 0j 0g.sort()s.sort()whi…

PDF处理控件Aspose.PDF教程:以编程方式将 PDF 导出为 JPG

在本节中,我们将探讨如何使用 Aspose.PDF 库将 PDF 文档转换为 JPG 图像。Aspose.PDF 是一个功能强大且用途广泛的库,专为需要以编程方式处理 PDF 文件的开发人员而设计。它提供了丰富的功能,可用于跨多个平台创建、编辑和转换 PDF 文档。其主…

AI大模型应用之评测篇

在看到公司对于AI 工程师 的岗位要求 :“能够熟练使用各种自动化评测工具与方法,对AI 模型的输出进行有效评估” 时,其实比较疑惑,这个是对大模型能力例如像Deepseek ,GPT-4 ,千问,LLAMA这些模型的能力评测&#xff0c…

力扣小题, 力扣113.路径总和II力扣.111二叉树的最小深度 力扣.221最大正方形力扣5.最长回文子串更加优秀的算法:中心扩展算法

目录 力扣113.路径总和II 力扣.111二叉树的最小深度 力扣.221最大正方形 力扣5.最长回文子串 更加优秀的算法:中心扩展算法 力扣113.路径总和II 这道题,让我明白回溯了到底啥意思 之前我找的时候,我一直在想,如果可以,请你对比…

el-form elform 对齐方式调整

如下页面表单&#xff0c;展示后就很丑。 页面表单&#xff0c;有时候我们想着最左侧的应该合理整齐的左对齐&#xff0c;右侧的表单都是右对齐&#xff0c;这样页面看起来会整洁很多。 <el-form class"w-100 a_form" style"padding: 0 15px 0px 15px"…

JESD204 ip核使用与例程分析(二)

JESD204 ip核使用与例程分析(二) JESD204时钟方案专用差分时钟对例程分析jesd204_0_transport_layer_demapperjesd204_0_sig_chkjesd204_0_clockingjesd204_0 ip核port寄存器AXI-LITE寄存器配置jesd204_phy ip核JESD204时钟方案 图3-1所示为最通用、灵活的时钟解决方案。在图…

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Blurry Loading (毛玻璃加载)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— Blurry Loading 组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ ✨ 组件目标 实现一个加载进度条&#xff0c;随着加载进度的…

演示:【WPF-WinCC3D】 3D工业组态监控平台源代码

一、目的&#xff1a;分享一个应用WPF 3D开发的3D工业组态监控平台源代码 二、功能介绍 WPF-WinCC3D是基于 WPF 3D研发的工业组态软件&#xff0c;提供将近200个预置工业模型&#xff08;机械手臂、科幻零部件、熔炼生产线、机加生产线、管道等&#xff09;&#xff0c;支持组态…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.4 数据库与表的基本操作(DDL/DML语句)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 1.4 数据库与表的基本操作&#xff08;DDL/DML语句&#xff09;1.4.1 数据库生命周期管理&#xff08;DDL核心&#xff09;1.4.1.1 创建数据库&#xff08;CREATE DATABASE&…