百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南

haoteby 2025-05-11 15:35 111 浏览

本指南通过使用WSL2(Windows Subsystem for Linux 2)与Dify构建本地化的AI应用开发平台。从环境认知、容器化部署到模型实战集成和智能体扩展,逐步完成整个过程,快速上手并部署国产大模型(阿里百炼·通义千问、DeepSeek)与低代码工作流应用。


一、平台架构

(一)WSL2 + Dify组合优点

  1. 无需安装额外的Linux主机或虚拟机,直接利用Windows系统实现对Linux环境的“原生”兼容。
  2. 对于经常使用Windows软件的人而言,能在熟悉的系统中快速完成开发与测试。
  3. 项目可通过本地方式轻松与其他Windows工具(如IDE、Office工具)进行配合,大大提高效率。
  4. WSL2提供了完整的Linux内核支持,可流畅运行Docker及相关容器化工具。
  5. 在WSL2中安装Docker后,可像在纯Linux下那样运行容器,大幅简化部署流程。
  6. Docker的容器化特性方便我们快速搭建、迁移和扩展AI服务,并且保障环境一致性。

(二)核心组件解析

Dify:可视化LLM应用开发平台

Dify是开源的 LLM 应用开发平台,提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。

  1. 提供了简洁的界面和多元化的功能模块,让开发者可以快速组合大模型与数据,创建自己的聊天助手或智能流程。
  2. 内置了丰富的插件和工作流机制,可整合多种大模型与外部API。

WSL2:Windows原生Linux子系统

  1. 可让Windows 10/11用户直接运行Linux二进制程序,实现近乎完整的Linux开发体验。
  2. 对比WLS1具备更优的I/O性能及系统兼容性。

二、环境准备

(一)WSL2安装与配置

  1. 启用适用于Linux的Windwos子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 启用windows虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. Microsoft Store选择Linux分发版下载安装

(二)1Panel 运维面板安装

  1. 根据1panel官网教程,在WSL2环境中使用命令行安装1Panel
  2. curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
  3. 完成安装后,通过浏览器访问相应的端口(http://[WSL_IP]:8888)进入面板。
  4. 在1Panel面板后台完成Docker镜像加速配置

https://docker.1panel.live
https://docker.registry.cyou
https://docker-cf.registry.cyou
https://dockercf.jsdelivr.fyi
https://docker.jsdelivr.fyi
https://dockertest.jsdelivr.fyi
https://mirror.aliyuncs.com
https://dockerproxy.com
https://mirror.baidubce.com
https://docker.m.daocloud.io

(三)Dify服务端部署

  1. 从Github下载Dify仓库
git clone --depth 1 https://github.com/langgenius/dify.git
  1. 使用以下命令直接部署,等待一段时间后查看是否部署成功
cd dify/docker
cp .env.example .env
docker compose up -d   如报错找不到命令则用 docker-compose up -d
  1. 访问WSL-IP地址,默认80端口,根据提示完成安装,设置管理员账号后登录


三、智能体开发实战


(一)大模型API获取

1.从阿里云百炼平台获取,并测试API是否可行

#API请求测试代码

from openai import OpenAI

client = OpenAI(api_key="<your api-key>", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
def chain_of_thought(question):
prompt = f"""
Q: {question}
A: 先告诉我你是什么大模型,再让我们一步一步地思考这个问题。
"""
response = client.chat.completions.create(
model="deepseek-r1",
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
max_tokens=500
)
return response.choices[0].message.content

result = chain_of_thought("如果一辆车在2小时内行驶了120公里,那么它的平均速度是多少公里/小时?")
print(result)
  1. 从硅基流动平台获取大模型API
  1. 在Dify中添加模型供应商

(二)创建DeepSeek聊天助手

  1. 在Dify中点击创建空白应用,选择聊天助手,点击创建
  1. 在调试与预览窗口选择所需要的模型并发布
  1. 在探索栏目,使用创建的聊天助手

(三)创建基于工作流的智能体

  1. 点击创建“工作流”类型智能体
  1. 利用Dify提供的低代码工具,拓展形成智能体的业务逻辑链
  1. 对智能体进行测试和使用
  1. 通过智能体日志进行业务流程分析调试

总结

通过本指南,我们已经了解了如何基于Windows系统的WSL2环境完成Dify的搭建与部署,熟悉了1Panel与Docker Compose等容器管理工具,并成功集成了阿里百炼·千问与DeepSeek两大国产大模型。

在此基础上,我们可以根据自身业务需求,利用RAG工作流构建更加丰富多样的智能应用,实现对话助手、文档问答以及多模态探索等功能。

完。

相关推荐

如何为MySQL服务器和客户机启用SSL?

用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...

OpenVPN客户端配置_openvpn客户端配置文件解析

...

k8s 证书问题排查_k8s dashboard 证书

从去年开始一些老项目上陆陆续续出现一些列的证书问题,(证书原理这里就不说了,官方文档一堆)多数刚开始的表现就是节点的kubelet服务起不来,节点状态NotReady表现日志如下failed...

企业级网络互通方案:云端OpenVPN+爱快路由器+Win11互联实战

企业级网络互通方案:OpenVPN搭建公有云+爱快路由器+Win11三地互联实战指南「安全高效」三地局域网秒变局域网实施环境说明...

OpenV** Server/Client配置文件详解

Server配置详解...

接口基础认知:关键信息与合规前提

1.核心技术参数(必记)...

S交换机通过SSH登录设备配置示例(RADIUS认证+本地认证独立)

说明:●本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。●通过不同的管理域来实现RADIUS认证与本地认证两种方式同时使用,两...

SSL证书如何去除私钥密码保护_ssl证书怎么取消

有时候我们在生成证书的时候可以加入了密码保护。然后申请到证书安装到了web服务器。但是这样可能会带来麻烦。每次重启apache或者nginx的时候,都需要输入密码。那么SSL证书如何去除私钥密码保护。...

SSL证书基础知识与自签名证书生成指南

一、证书文件类型解析...

S交换机通过SSH登录设备配置示例(RADIUS认证)

说明:本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。假设已在RADIUS服务器上创建了用户名yc123,密码test#123。对...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

HTTPS TLS握手流程_进行tls握手

1.客户端向服务器发送`ClientHello`消息,包括支持的TLS版本、加密套件、随机数等信息。2.服务器收到`ClientHello`消息后,解析其中的信息,并根据配置选择一个加密套件。3....

Spring Boot 单点登录(SSO)实现_spring boot 单点登录jwt

SpringBoot单点登录(SSO)实现全指南单点登录(SingleSign-On,SSO)是一种身份验证机制,允许用户使用一组凭证登录多个相关但独立的系统。在微服务架构和企业级系统中,SS...

源码分享:在pdf上加盖电子签章_pdf如何加盖电子公章

在pdf上加盖电子签章,并不是只是加个印章图片,。而是要使用一对密钥中的私钥对文件进行签字。为啥要用私钥呢?很简单,因为公钥是公开的,其他人才可以用公钥为你证明,这个文件是你签的。这就是我们常说的:私...

微信支付商户API证书到期 怎么更换

微信支付商户API证书到期更换是一个非常重要的操作,需要仔细按照流程进行。如果证书过期,所有通过API的支付、退款等操作都会失败,将直接影响您的业务。请按照以下详细步骤进行操作:重要前提:分清...