Dify入门指南

一.Dify介绍

生成式 AI 应用创新引擎,开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用,比 LangChain 更易用。一个平台,接入全球大型语言模型。不同应用场景,自由体验、无缝切换,实现业务层和模型层解耦。

1.开放灵活的生成式 AI应用开发框架。

Dify 涵盖了构建生成式 AI 原生应用所需的核心技术栈,开发者可以聚焦于创造应用的核心价值。

(1)Dify Orchestration Studio:可视化编排生成式 AI 应用的专业工作站,All in One Place。

(2)RAG Pipeline:安全构建私有数据与大型语言模型之间的数据通道,并提供高可靠的索引和检索工具。

(3)Prompt IDE:为提示词工程师精心设计,友好易用的提示词开发工具,支持无缝切换多种大型语言模型。

(4)Enterprise LLMOps:开发者可以观测推理过程、记录日志、标注数据、训练并微调模型;使应用效果脱离黑盒,持续迭代优化。

(5)BaaS Solution:基于后端及服务理念的 API 设计,大幅简化生成式 AI 应用研发流程。

(6)LLM Agent:定制化 Agent ,自主调用系列工具完成复杂任务。

(7)Workflow:编排 AI 工作流,使其输出更稳定可控。

2.开箱即用,为快速增长而设计

Dify 为开发者提供了健全的应用模版和编排框架,你可以基于它们快速构建大型语言模型驱动的生成式 AI 应用,将创意变为现实,也可以随时按需无缝扩展,驱动业务增长。

(1)特定领域的聊天机器人和 AI 助理

通过可视化的提示词编排和数据集嵌入,零代码即可快速构建对话机器人或 AI 助理,并可持续优化对话策略,革新人机交互体验。

(2)不限的长度创意文档生成

既可以基于知识库和风格要求,自动组织语言,生成逻辑清晰、结构完整的工作文档。 也可以自动解析工作文档,对无限长度的文档进行提取、总结和重构。

(3)自由链接的知识库问答和搜索

通过自定义 API 接入外部知识源,让大型语言模型深入理解企业知识和业务,助力每个成员获得深度洞察,同时严格保障数据和隐私安全。

(4)低代码的构建面向的半自主 Agent

通过可视化且低代码的流程编排,整合提示词、业务数据集和插件工具,构建面向特定业务场景的半自主智能体,释放个人和企业的生产力。

3.私有化部署,LLMs 再造企业效能

高可靠性、合规、数据安全,通过 Dify 的私有化部署解决方案,将 LLMs 深度嵌入到企业的内部系统和业务流程中,实现对流程和工具的智能升级,实现千人千面的客户体验。

(1)企业私有化知识库及 AI 助理

通过自主可控的方式安全接入企业内部知识库,将企业多年沉淀的业务数据,快速转换成智能的搜索或问答服务,可深度集成到企业的 IM 和工作流中,全面提升客户服务和内部办公效率。

(2)企业级LLMOps 平台

与企业其他系统集成,通过可视化的工具和流程,让大型语言模型驱动的系统不在黑盒中运行,并对其进行可视化的运维、监控、标注和持续优化。

(3)编排端到端 AI 工作流

灵活编排 AI 工作过程,接入企业现有系统工具。实时监控运行状态,让 AI 落地业务场景更可靠。

(4)零代码构建自主 AI Agent

轻松点击几下即可构建 AI Agents,自主调用企业定义的工具与数据,解决复杂任务。

二.Dify架构图

Dify入门指南插图

 

三.Dify容器部署

1.下载代码

git clone https://github.com/langgenius/dify.git

 

2.docker运行

cd dify/docker
docker compose up -d

 

3.更新Dify

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

 

4.访问Dify

访问 Difyll在浏览器中输入 http://localhost 访问 Dify。

 

四.相关问题

1.db-1容器restarting

fixing permissions on existing directory /var/lib/postgresql/data ... initdb: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted

Dify入门指南插图1

创建数据卷解决操作权限问题:

# The postgres database.
db:
  image: postgres:15-alpine
  restart: always
  environment:
    PGUSER: postgres
    # The password for the default postgres user.
    POSTGRES_PASSWORD: difyai123456
    # The name of the default postgres database.
    POSTGRES_DB: dify
    # postgres data directory
    PGDATA: /var/lib/postgresql/data/pgdata
  volumes:
    - db_data:/var/lib/postgresql/data
  # uncomment to expose db(postgresql) port to host
  # ports:
  #   - "5432:5432"
  healthcheck:
    test: [ "CMD", "pg_isready" ]
    interval: 1s
    timeout: 3s
    retries: 30
 
 volumes:
  db_data:

参考文献

[1] Dify GitHub:https://github.com/langgenius/dify

[2] Dify官网:https://dify.ai/zh

[3] Dify官方文档:https://docs.dify.ai/v/zh-hans

[4] Dify博客:https://dify.ai/blog

[5] OpenAPI Specification:https://swagger.io/specification/

[6] Dify云平台:https://cloud.dify.ai/apps

[7] Dify自定义工具:https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md

[8] Dify Release:https://github.com/langgenius/dify/releases

[9] webapp-text-generator:https://github.com/langgenius/webapp-text-generator

发表评论