通过计算巢部署集成Tablestore的Dify应用

Dify 是一款开源的 LLM 大模型 AI 应用开发平台,表格存储(Tablestore)是阿里云的一款默认提供多可用区容灾能力的结构化数据存储和检索产品,具备大规模、低成本、高性能的全文检索、向量检索等多模态混合检索能力。结合 Tablestore 和 Dify 可以快速构建 AI 知识库和智能应用,本文介绍如何通过计算巢服务一键部署集成了Tablestore的 Dify 应用。

部署Dify应用

目前只有高可用版Dify社区应用支持Tablestore,填写完部署参数后,计算巢服务将自动完成整个集群的部署。

  1. 登录计算巢服务控制台,在服务目录搜索Dify社区版,单击开始部署

  2. 创建服务实例页面填写以下内容:

    • 选择模板:选择高可用版。选择后页面会自动检查依赖,如果有不满足的依赖请按照页面提示进行解决。

    • Kubernetes配置:可以选择已有容器集群新建容器集群,新建集群选项可保持默认设置或按需调整。

    • Postgres 数据库配置:需填写PostgreSQL数据库密码,其它选项可保持默认设置或按需调整。

    • Redis数据库配置:需填写Redis实例密码

    • Tablestore配置:目前只支持CU模式高性能型实例,可修改实例名称。

    • 基础配置:选择可用区1可用区2,如果Kubernetes配置选择已有容器集群或者基础配置选择已有的专有网络,需要按照页面提示选择专有网络VPC实例ID交换机实例ID

  3. 单击下一步:确认订单,确认信息无误后单击立即创建。任务提交成功后,可在服务实例列表查看部署进度,整个部署过程大概需要15分钟。

    image

访问Dify和模型配置

部署完成后,需要进行首次访问设置,并配置一个大语言模型(LLM)作为 AI 应用的“大脑”。

  1. 单击服务实例ID或详情,进入服务实例详情页面,根据页面提示配置域名解析或hosts,配置完成后单击Dify访问页面地址访问Dify。

    image

  2. 首次登录需按照页面提示设置管理员账户,设置完成后自动跳转登录页并完成登录。

    image

  3. 在页面右上角单击头像 > 设置 > 模型供应商,在安装模型供应商列表选择供应商并安装(本文以通义千问为例),安装完成后单击设置,按照页面提示获取并设置API-KEY。Dify会自动设置系统模型,可根据需要设置默认模型。

    image

创建基于Tablestore的知识库

完成模型设置后,还需要创建一个知识库并上传知识文档,文档解析后的向量数据会存储到 Tablestore 实例中,便于后续AI应用进行知识检索。

  1. 在知识库页面单击创建知识库 > 创建一个空知识库,填写知识库名称,单击创建

  2. 在创建的知识库内单击添加文件,选择文件后单击下一步进行文本分段与清洗设置,索引方式选择高质量,推荐将检索设置修改为混合检索。其它选项可根据需要进行设置,设置完成后单击保存并处理,等待文档处理完成。

    image

  3. (可选)如果需要查看向量数据,可以登录表格存储控制台,在实例列表单击实例别名,然后在实例管理页面的数据表列表单击数据表名称,最后在表管理页面单击数据管理即可查看向量数据。

    image

搭建聊天助手进行验证

最后,通过创建一个简单的聊天助手,验证知识检索是否生效。

  1. 在工作室页面单击创建空白应用,选择应用类型新手使用下的聊天助手,填写应用名称后单击创建

  2. 调试与预览窗口的聊天框进行提问,例如 百炼手机有哪些型号。由于此时应用没有关联知识库,聊天助手无法提供准确回答。

    image

  3. 按照下图所示为聊天助手添加知识库

    image

  4. 调试与预览窗口的聊天框进行再次提问,此时聊天助手已经可以通过检索知识库内的内容提供准确回答。

    image

应用于生产环境

至此,已通过计算巢服务成功部署了一个高可用的Dify应用,并配置 Tablestore 作为其向量存储核心。后续可以向知识库添加更多数据,也可以参考Dify应用案例构建更复杂的AI应用。

重要

若不用于生产环境,需要在体验后清理资源。务必先在表格存储控制台删除实例内的数据表,再在计算巢服务控制台删除服务实例,否则会因为表格存储实例非空导致计算巢服务实例删除失败。