华为云云主机 + DeepSeek|超快速丝滑体验华为云DeepSeekR1大模型搭建Dify-LLM应用开发平台 - 企业智能

举报
笨笨崽 发表于 2025/07/26 21:39:01 2025/07/26
【摘要】 一、前言:随着AI人工智能的迅速发展,从企业办公自动化,到个人生活助理,AI赋能的“Agent智能体”正成为新时代的生产力工具。那么,如何低门槛、快速地搭建一个属于自己的AI应用,成为许多开发者和企业关注的焦点。文档虽全但用户习惯难改,就像精心准备的图书馆却少有人问津。如果有了智能客服方案特别精准——把"等人来找文档"变成"主动把答案送到用户手边",既符合搜索式获取信息的本能,又通过统一入...

一、前言:

随着AI人工智能的迅速发展,从企业办公自动化,到个人生活助理,AI赋能的“Agent智能体”正成为新时代的生产力工具。那么,如何低门槛、快速地搭建一个属于自己的AI应用,成为许多开发者和企业关注的焦点。

文档虽全但用户习惯难改,就像精心准备的图书馆却少有人问津。如果有了智能客服方案特别精准——把"等人来找文档"变成"主动把答案送到用户手边",既符合搜索式获取信息的本能,又通过统一入口消除了认知成本。发现很多小伙伴更习惯即时问答,为此在每个系统左下角植入了智能助手小蓝。随时输入问题关键词,它会从文档库精准抓取相关指引,比翻目录快三倍哦!当然完整文档链接也会附在答案底部,方便深度查阅。

Dify 是一款面向开发者和企业的 AI 应用开发平台,专注于提供强大的智能交互功能,帮助用户快速构建、部署和管理基于大语言模型(LLM)的智能应用。其核心理念是通过低代码工具和云端服务,简化 AI 应用的开发流程,降低技术门槛,同时支持全生命周期管理。

  • ①. 可视化低代码开发:
    提供直观的拖拽式界面,无需编程基础即可设计 AI 应用流程,降低开发门槛。
  • ②. 多模型灵活接入:
    支持主流大语言模型(如 GPT-4、Claude、文心一言、deepseek 等),可快速切换或同时集成多个模型。
  • ③. Prompt 工程优:
    内置 Prompt 模板库与调试工具,支持实时调整提示词并预览效果,提升模型输出质量。

二、基于华为云一键部署Dify平台:

1.1 华为开发者空间介绍:

华为开发者空间是为全球开发者打造的专属创新平台,提供云主机、开发工具链和云存储服务,汇聚昇腾、鸿蒙、鲲鹏等核心技术的开发资源,配套完整案例教程,助力开发者快速掌握从编码到部署的全流程开发,这种零成本的实践机会,在如今的AI开发领域实属难得,尤其适合学生党和初创团队试水大模型应用。


Ollama 是一个致力于推动本地人工智能模型开发和应用的工具和平台,允许用户在本地运行、管理和调用各种 AI 模型。它的核心理念是提供一种无需依赖云计算环境的方式,让开发者和企业能够高效地使用 AI 模型,同时确保数据隐私和安全。

1.4 打开云主机并安装安装 Ollama 脚本:

Ollama 是一个开源项目,它提供了一个简单的界面来运行大型语言模型(LLMs),如 GPT-4、LLaMA、Falcon 等。要在 Ubuntu 20.04 上部署 Ollama,可以遵循以下步骤,可以使用 Docker 来运行 Ollama,因为 Ollama 主要是作为一个 Docker 容器运行的。

image.png

官方脚本安装(推荐):

curl -fsSL https://dtse-mirrors.obs.cn-north 4.myhuaweicloud.com/case/0035/install.sh | sudo bash

image.png


1.5 设置并启动 Ollama 服务:

sudo systemctl enable ollama
sudo systemctl start ollama

image.png


1.6 安装Docker:

确保你的系统上安装了 Docker,可以通过以下命令来安装 Docker,安装必要的依赖:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

image.png

添加Docker的官方GPG密钥:

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

image.png

更新APT包索引:

sudo apt update

image.png

sudo apt install docker-ce

image.png

验证Docker是否安装成功:

sudo systemctl status docker

image.png

应该能够在 Ubuntu 20.04 上成功部署并运行 Ollama,如果遇到任何问题,检查 Docker 容器的日志可能会提供有用的信息。


2.2 登录并使用Dify-LLM应用开发平台:

在上面部署成功后,我们可以找到基于华为云快速搭建Dify-LLM应用开发平台生成的在线的URL访问的链接,点击后,可以发现首次是需要进行管理员账号设置的,设置后,我们即可通过邮箱登录了。

image.png


2.3 构建企业客服AI助手Agent应用:

在登录进来之后,我们可以看到首页控制台的页面,包含应用管理、模型配置、工具集成等模块,为后续创建Agent应用做好准备,这里我们准备新创建一个“空白应用”,并且我们打算使用“工作流”的应用类型来进行开发这个应用。

image.png

  • ①. 🤖 聊天助手(Chat Assistant)
    专注于‌多轮对话交互‌,通过语言模型理解用户意图并返回自然语言响应,依赖知识库解答问题。其核心是上下文管理能力,适用于客服、信息查询等标准化问答场景,但属于被动响应模式,无法主动执行外部操作。

  • ②. 🚀 Agent(智能体)
    具备‌感知-决策-行动闭环能力‌的主动实体,能调用工具(API、数据库等)自主完成任务。例如客服 Agent 可基于用户情绪动态选择回复策略或触发退款流程,其关键在于环境感知能力和动态决策机制,适用于需跨系统协作的复杂场景。

  • ③. ⚙️ 工作流(Workflow)
    采用‌预编排的规则化流水线‌,按固定步骤依次执行任务(如“提交→审核→存档”)。其优势在于流程标准化和可预测性,适合数据处理、审批等结构化操作,但缺乏环境适应性和自主决策能力。


2.4 创建Charflow应用类型:

  • ①. 应用名称:示例:“企业客服AI助手Agent应用”
  • ②. 应用描述:示例:为用户量身定制企业客服AI助手方案
  • ③. 应用图标:上传符合企业客服的小图标

image.png


2.5 开始节点:

“开始” 节点是每个工作流应用(Chatflow / Workflow)必备的预设节点,为后续工作流节点以及应用的正常流转提供必要的初始信息,例如应用使用者所输入的内容、以及上传的文件等。

在开始节点的设置页,你可以看到两部分设置,分别是 “输入字段” 和预设的系统变量:

  • ①. “输入字段”: 由应用开发者设置,通常用于让应用使用者主动补全更多信息。例如在周报应用中要求使用者按照格式预先提供更多背景信息,如姓名、工作日期区间、工作详情等。
  • ②. “预设的系统变量”: 系统变量指的是在 Chatflow / Workflow 应用内预设的系统级参数,可以被其它节点全局读取,系统级变量均以 sys 开头。

image.png

下拉选项:由应用开发者固定选项,应用使用者仅能选择预设选项,无法自行填写内容,这些前置信息将有助于 LLM 生成质量更高的答复。

image.png

这里我们要搞清楚刚开始节点的选项选择对应的变量值,以及输入框输入的变量值是哪个?这里通过“预览”功能进行调试后,可以发现,input_data就是多选的选择项变量名称,而sys.query是输入的文案。


2.6 变量赋值节点:

设置History变量用于存储历史交互数据,这样在多次交互过程中,该变量记录用户过往输入和智能体回复,可以为后续攻略生成提供上下文参考。比如,当用户第二次询问 “公司年假是多少天” 时,智能体可结合之前 “年假相关”的记录,推荐更贴合用户偏好的私有知识库累计,提升个性化体验。

image.png

Workflow 和 Chatflow 类型应用由独立节点相构成,大部分节点设有输入和输出项,但每个节点的输入信息不一致,各个节点所输出的答复也不尽相同,例如可以将用户在首轮对话时输入的语言偏好存储至会话变量中,LLM 在回答时将参考会话变量中的信息,并在后续的对话中使用指定的语言回复用户。

image.png

如何用一种固定的符号指代动态变化的内容? 变量作为一种动态数据容器,能够存储和传递不固定的内容,在不同的节点内被相互引用,实现信息在节点间的灵活通信,会话变量用于存储 LLM 需要的上下文信息,如用户偏好、对话历史等。它是可读写的。

image.png

会话变量允许应用开发者在同一个 Chatflow 会话内,指定需要被临时存储的特定信息,并确保在当前工作流内的多轮对话内都能够引用该信息,如上下文、上传至对话框的文件(即将上线)、 用户在对话过程中所输入的偏好信息等。

image.png

好比为 LLM 提供一个可以被随时查看的”备忘录”,避免因 LLM 记忆出错而导致的信息偏差,会话变量面向多轮对话场景,而 Workflow 类型应用的交互是线性而独立的,不存在多次对话交互的情况,因此会话变量仅适用于 Chatflow 类型应用。


三、知识库管理:

相比于 AI 大模型内置的静态预训练数据,知识库中的内容能够实时更新,确保 LLM 可以访问到最新的信息,避免因信息过时或遗漏而产生的问题。

3.1 知识库创建:

LLM 接收到用户的问题后,将首先基于关键词在知识库内检索内容。知识库将根据关键词,召回相关度排名较高的内容区块,向 LLM 提供关键上下文以辅助其生成更加精准的回答。

image.png

导入您自己的文本数据或通过 Webhook 实时写入数据以增强 LLM 的上下文,我们先进入知识库创建页面,创建知识库,导入对应文档并进行文本分段解析。

image.png

系统按照用户自定义的规则将内容拆分为独立的分段。当用户输入问题后,系统自动分析问题中的关键词,并计算关键词与知识库中各内容分段的相关度。根据相关度排序,选取最相关的内容分段并发送给 LLM,辅助其处理与更有效地回答。

在该模式下,你需要根据不同的文档格式或场景要求,参考以下设置项,手动设置文本的分段规则:

  • ①. 分段标识符:默认值为 \n,即按照文章段落进行分块。你可以遵循正则表达式语法自定义分块规则,系统将在文本出现分段标识符时自动执行分段。例如 的含义是按照句子进行分段。下

  • ②. 分段最大长度:指定分段内的文本字符数最大上限,超出该长度时将强制分段。默认值为 500 Tokens,分段长度的最大上限为 4000 Tokens;

  • ③. 分段重叠长度:指的是在对数据进行分段时,段与段之间存在一定的重叠部分。这种重叠可以帮助提高信息的保留和分析的准确性,提升召回效果。建议设置为分段长度 Tokens 数的 10-25%;

image.png

正如搜索引擎通过高效的索引算法匹配与用户问题最相关的网页内容,索引方式是否合理将直接影响 LLM 对知识库内容的检索效率以及回答的准确性。

image.png

“混合检索”:同时执行全文检索和向量检索,或 Rerank 模型,从查询结果中选择匹配用户问题的最佳结果,在混合检索设置内可以选择启用 “权重设置” 或 “Rerank 模型”。

  • ①. 权重设置:

允许用户赋予语义优先和关键词优先自定义的权重。关键词检索指的是在知识库内进行全文检索(Full Text Search),语义检索指的是在知识库内进行向量检索(Vector Search)。

  • ②. Rerank 模型:

默认关闭。开启后将使用第三方 Rerank 模型再一次重排序由混合检索召回的内容分段,以优化排序结果。向 LLM 发送经过重排序的分段,辅助其提升输出的内容质量,开启该选项前,需前往“设置” → “模型供应商”,提前配置 Rerank 模型的 API 秘钥。

image.png

创建完成后,还可以通过 OpenAPI去更新知识库,可以用来支持源文档的同步或者系统集成,知识库的所有文件都在这里显示,整个知识库都可以链接到 Dify 引用或通过 Chat 插件进行索引,如下:

image.png

在知识库的“设置”菜单中,可以修改此知识库的属性和检索设置,包括知识库名称、知识库描述,特别是有权限的控制,可以将这个私有的知识库权限的模式,也可以修改索引的模式、索引设置的方式。

image.png


3.2 召回测试:

召回测试是评估推荐系统或搜索引擎性能的重要方法,主要衡量系统能否从海量数据中找出所有相关结果。简单来说,就是看系统"找得全不全",比如电商推荐商品时是否覆盖了用户可能喜欢的全部品类。

image.png

在左边找到“召回测试”,可以在“源文本”中输入一些需要查找去匹配的文案,会根据给定的查询文本测试知识的召回效果,记录表示每次测试的记录,右边“召回的段落”可以显示每次匹配到的结果集,以此来验证数据是否匹配到。

测试一(企业内部私有库UI组件文档):

image.png

上面以“下拉选组件如何写,有没有详细的代码描述”为例,可以看到它匹配到我们企业内部私有库的UI组件,找到了2条,均是上面文档中包含的内容,所以可以匹配到相关数据。

测试二(企业内部HR管理文档):

image.png

上面是搜索测试一段HR内部管理的一条公司制度,可以看到也是能够正常匹配到并且查找出文案相对应的段落详情。

在测试中需要不断的优化平衡召回率和准确率,避免过度召回无关内容影响用户体验。技术实现上可能涉及向量检索、语义匹配等AI技术。


三、华为云云主机DeepSeek V3大模型推理服务:

3.1 下载并安装OpenAI-API-compatible模型:

华为云提供了一套高效便捷的AI应用开发解决方案,核心包括‌快速搭建Dify-LLM应用开发平台‌和‌开通ModelArts Studio平台的DeepSeek-V3/R1大模型商用推理服务‌,在首页控制页面,我们可以点击“设置”,跳转到设置页面。

image.png

左侧在“工作空间”中选择“模型供应商”,在模型供应商列表中,往下滑动,找到并选择OpenAI-API-compatible模型进行添加安装,OpenAI-API-compatible 是一种遵循 OpenAI 官方接口规范的技术标准,允许第三方模型服务提供商通过兼容的 API 接口,无缝替代或扩展 OpenAI 模型功能,其核心价值在于:

image.png

  • ①. 标准化接口设计‌:第三方服务(如 DeepSeek、百度千帆、Anthropic 等)完全复现 OpenAI 的请求/响应格式(如 /v1/chat/completions 接口)、参数规范(如 temperature、top_p)及流式输出协议。
    ‌- ②. 无缝切换能力‌:开发者无需修改现有调用 OpenAI 的代码,即可将请求转发至兼容服务,实现模型服务的快速迁移或混合部署。

image.png

安装完成后,会在‌“模型供应商”配置页‌,点击“添加模型”即可添加华为云ModelArts服务,填写已获取的 ‌API地址和密钥‌,就可以通过Dify的可视化工作流编排AI应用(如知识库问答、智能助手),‌直接调用DeepSeek模型推理接口‌。


找到官方提供的示例代码,我们通过改造为python FastAPI框架提供一个API接口,可以给我们自己的业务系统进行调用,设置一个Python的FastAPI应用,FastAPI是一个现代、快速(高性能)的Web框架,基于标准的Python类型提示,支持Python 3.7及以上版本。它是构建稳健高效API的理想选择。

image.png

编写FastAPI的路由和端点,以便与“华为云ModelArts Studio平台上的DeepSeek-R1大模型”进行交互,这个过程包括发送请求给“华为云ModelArts Studio平台上的DeepSeek-R1大模型”以处理任务,比如文本生成、语言理解或其他LLM支持的AI任务,以下是一个简单的代码示例:

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List, Optional
import httpx
import json

app = FastAPI()

class Message(BaseModel):
    role: str
    content: str

class ChatRequest(BaseModel):
    model: str = "DeepSeek-R1"
    messages: List[Message]
    stream: bool = True
    temperature: float = 0.6

class ChatResponse(BaseModel):
    status_code: int
    response_text: str

@app.post("/chat", response_model=ChatResponse)
async def chat_completion(request: ChatRequest, api_key: str):
    url = "https://api.modelarts-maas.com/v1/chat/completions"
    
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    
    try:
        async with httpx.AsyncClient(verify=False) as client:
            response = await client.post(
                url,
                headers=headers,
                json=request.dict()
            )
            
            return ChatResponse(
                status_code=response.status_code,
                response_text=response.text
            )
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

通过Postman发送Curl请求,就可以通过FastAPI请求“华为云ModelArts Studio平台上的DeepSeek-R1大模型”进行交互,请求完成后,会将结果值返回给客户端。

image.png


四、总结:

华为云通过Flexus弹性算力与DeepSeek-V3/R1大模型的深度整合,构建了"算力+智能"协同体系。其中DeepSeek-V3采用混合专家架构(MoE)支持多模态任务,R1专注复杂推理任务,推理成本仅为GPT-4o的1/502。通过ModelArts Studio平台提供开箱即用的大模型服务,支持从模型训练到推理的全生命周期管理。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。