〇、前言

最近这几年,AIGC 大火,什么都要和生成式AI沾点关系,还记得一开始 chatGPT 出来的时候,只是把他当成一个小玩具,当时github上有个叫废话生成器的项目,通过一些固定的语句格式加上一些随机词,生成长篇大论,和他差不多。后来,chatGPT 就火起来了。

一直想要试着自己搞一下这个东西,但是奈何自己囊中羞涩,又不像别的码农对电脑十分在行,一直没搞一个环境去玩。

一、认识大模型应用开发平台

不久的之前,一个偶然的机会,了解了一下大模型应用开发平台,让我大为震惊,外面的世界已经发展成这样了,

从0开始学习AICG应用落地(一)——开始的开始_API

我的传统印象:AI 和一般的深度学习、机器学习一样,搞一个Python 程序,搞一个模型文件,框框一顿改代码调参数,框框一顿命令行输出,运行出来一个应用。

真实的世界:模型放在服务器,拖拖拽拽一个又一个组件,一个应用就出来了,甚至还可以结合JS脚本、结合Echarts 图表。

二、Dify 开源大模型应用平台

抓住一个线头,就可以继续深挖了,在机缘巧合下,我发现了一个开源的大模型应用平台:Dify

下面是用豆包生成的Dify的解释:


“Dify” 通常指的是一个开源的大型语言模型(LLM)应用开发平台23。以下是关于它的详细介绍:


  1. 核心功能2
  • 工作流:用户可以在可视化界面上构建和测试强大的 AI 工作流程,利用平台提供的各种功能模块进行应用开发。
  • 全面的模型支持:能够与多种专有和开源的大型语言模型以及多种推理提供商和自托管解决方案无缝集成,包括 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型等。
  • Prompt IDE:提供了直观的界面用于制作提示、比较不同模型的性能,还能向基于聊天的应用程序添加文本转语音等其他功能。
  • RAG Pipeline:具备广泛的 RAG(检索增强生成)功能,包括从文档摄入到检索的整个过程,并且支持从 PDF、PPT 和其他常见文档格式中提取文本。
  • Agent 智能体:用户可以基于 LLM 函数调用或 ReAct 定义 Agent,并为其添加预构建或自定义工具。Dify 为 AI Agent 提供了 50 多种内置工具,如谷歌搜索、DALL・E、Stable Diffusion 和 WolframAlpha 等。
  • LLMOps:允许用户随时间监视和分析应用程序日志和性能,以便根据生产数据和标注持续改进提示、数据集和模型。
  • 后端即服务:所有功能都带有相应的 API,便于用户将 Dify 集成到自己的业务逻辑中。
  1. 应用场景3
  • 创业:帮助创业者快速将 AI 应用创意变成现实,已有不少团队通过 Dify 构建 MVP(最小可用产品)获得投资或通过 POC(概念验证)赢得客户订单。
  • 已有业务升级:企业可以将 LLM 集成至现有业务,通过接入 Dify 的 RESTful API 实现 Prompt 与业务代码的解耦,并在 Dify 的管理界面跟踪数据、成本和用量,持续改进应用效果。
  • 企业级 LLM 基础设施:一些银行和大型互联网公司将 Dify 部署为企业内的 LLM 网关,加速 GenAI 技术在企业内的推广,并实现中心化的监管。
  • 技术探索:即使是技术爱好者,也可以通过 Dify 轻松实践 Prompt 工程和 Agent 技术。


该平台的目标是让开发者和非技术创新者都能够更便捷地开发生成式 AI 解决方案。其名称 “Dify” 来源于 “define + modify”,意味着定义和不断改进 AI 应用。

三、逛一逛平台

1、首页

可以看到主要有四个功能

  • 探索:一些常用的AI应用模板
  • 工作室:自己的AI应用工作台
  • 知识库:一些你想让AI学习的资料数据,可以进行检索利用
  • 工具:一些常用的Ai 工具

从0开始学习AICG应用落地(一)——开始的开始_API_02

2、应用编排

打开工作台,点击新增应用,直接开始最难的工作流应用,看看有多高级

从0开始学习AICG应用落地(一)——开始的开始_AIGC_03


可以发现这个开发平台已经做成这种逻辑流程节点的方式,非常的人性化,这种方式只要定义好数据入口出口,就可以了

从0开始学习AICG应用落地(一)——开始的开始_应用开发_04

四、开始第一个应用

话不多说,直接开始

1、 设计

i、需求设计

作为第一个应用,目的是要了解平台的操作流程,熟悉方法,因此不应该涉及那么多功能,因此做一个最基本的聊天助手即可:一个可以回答我问题的机器人。

ii、功能设计

功能流程如下:

  1. 用户输入
  2. 模型理解
  3. 输出

2、设计模型结构

结构比较简单,用到三种节点:

  • 开始
  • 调用大模型
  • 结束

从0开始学习AICG应用落地(一)——开始的开始_API_05

3、调整入参出参

接下来就比较关键了,配置节点间的入参出参:

  1. 在开始节点设置一个用户输入变量 input
  2. 在LLM大模型节点将第一个节点的 input 变量作为输入,加上自己的定制化内容,作为大模型的提示词交由大模型处理
  3. 输出结果text 交由结束节点输出

从0开始学习AICG应用落地(一)——开始的开始_应用开发_06

从0开始学习AICG应用落地(一)——开始的开始_应用开发_07

从0开始学习AICG应用落地(一)——开始的开始_AIGC_08

4、调试运行

点一下右上角的运行,即可看到自己配置的效果了

从0开始学习AICG应用落地(一)——开始的开始_数据_09

可以看到他成功的回答了我们的问题,并且是以我们规定他的口吻说的

大获成功!!!

结语

第一次写博客,希望可以一直坚持下去,挣一个茶杯,希望养成记录自己的知识的习惯

下集预告

Dify 接入自己的 vue3 应用