Windows+Docker+AI开发板打造智能终端助手

本文记录了一个完整的流程:
Windows 上使用 Docker 部署 Dify 平台 + Ollama 本地模型,
然后在 香橙派 上通过局域网访问 Dify 的 API,
实现一个可以终端聊天的智能助手。整个过程涵盖部署、端口暴露、防火墙设置、API 调试、Python 调用等完整细节。


一、环境准备

 硬件环境

设备功能
Windows 11 主机运行 Docker + Dify 平台
香橙派 5 Ultra作为客户端,通过局域网访问 Dify
网线直连或同一 Wi-Fi 网段保证 IP 能互相访问

软件环境

软件版本/用途
Docker Desktop用于部署 Dify
Postman测试 Dify API(可选)
Python 3.10+运行客户端脚本
VSCode / PyCharm编写和调试脚本

二、在 Windows 上使用 Docker 部署 Dify

下载并启动 Dify

打开 PowerShell,进入想保存的位置(例如 E 盘):

E:

git clone https://github.com/langgenius/dify.git cd dify/docker docker compose up -d

等待 Docker 自动拉取镜像并启动服务。


查看容器状态

docker ps

应看到类似输出:

CONTAINER ID IMAGE                       PORTS 
a12b3c4d5e6f langgenius/dify-api:1.9.1   0.0.0.0:5001->5001/tcp 
a12b3c4d5e7g langgenius/dify-web:1.9.1   0.0.0.0:3000->3000/tcp

✅ 表示 Dify 已经运行成功。

如果PORTS跟我的不一样,说明端口没有暴露,无法访问,可以问AI


 打开 Web 管理界面

http://localhost

注册账号并进入管理后台。


绑定 Ollama 模型

如果你想使用本地模型(如 qwen, deepseek, llama 等):

在电脑上安装 Ollama

Ollama下载链接 直接点击下载即可

Ollama安装默认安装在C盘,而且安装界面不能调整安装位置,所以在下载完成之后,进入下载的文件夹里面,打开终端,运行

ollama-setup.exe /install /DIR="换成你想安装的位置"

下载完成之后,进入Ollama点击左上角,再点击设置,可以改变下载模型的位置

在命令行输入下面代码,下载qwen1.8b模型:

ollama pull qwen:1.8b-chat

在 Dify 设置 → 「模型提供商」中添加 Ollama 连接:

点击右上角的头像

再点击设置模型供应商,并搜索下载Ollama

点击添加模型,安装如图填写

其他模式都差不多,安装插件,去模型的官网获取API key


三、暴露 Dify API 端口(让开发板可访问)

 修改 docker-compose.yml 文件

打开 dify/docker/docker-compose.yam

找到这段代码,并添加

ports:

      - "5001:5001"

保存后重启容器:

docker compose down docker compose up -d

检查端口是否开放

docker ps

输出应包含:

0.0.0.0:5001->5001/tcp


打开防火墙端口(管理员执行)

以管理员身份打开 PowerShell

执行代码

netsh advfirewall firewall add rule name="Dify API 5001" dir=in action=allow protocol=TCP localport=5001

输出确定,表示成功


验证端口监听状态

netstat -ano | findstr 5001

TCP 0.0.0.0:5001 LISTENING 表示 5001 已开放,香橙派可以访问。


四、在dify平台上搭建一个简单的智能体

点击创建空白应用

选择Agent,并创建

右上角选择我们的Ollama模型

简单的测试

点击右上角的发布,并点击访问API

这里面是API接口的使用说明

五、在香橙派上访问 Dify API

确保网络互通(可以是局域网,也可以是网线连接两个设备,给开发板共享网络)

在香橙派终端:

ping 192.168.*.*(替换为你电脑的 IP)

如果能通,继续下一步。


 安装 Python 依赖

sudo apt update sudo apt install python3-pip -y pip install requests


 在香橙派创建聊天脚本

nano dify_chat.py

粘贴以下完整代码

import requests
import json

# ========== 配置信息 ==========
API_URL = "http://192.168.*.*:5001/v1/chat-messages"  # Dify API 地址
API_KEY = "API Key"  # 替换成你在 Dify 里复制的 App API Key

# ========== 主函数 ==========
def ask_dify(question):
    """
    向 Dify 发送请求并返回回答
    """
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    data = {
        # inputs 的字段要和你 Dify 应用的输入参数匹配
        "inputs": {"question": question},
        "query": question,
        "response_mode": "blocking",
        "user": "orangepi"
    }

    try:
        response = requests.post(API_URL, headers=headers, json=data, timeout=30)
        if response.status_code == 200:
            result = response.json()
            return result.get("answer", " Dify 没有返回 answer 字段。")
        else:
            return f"请求错误:{response.status_code}\n{response.text}"
    except Exception as e:
        return f" 出错: {e}"

# ========== 循环交互 ==========
def main():
    print("Dify 智能聊天已启动(输入 exit 或 quit 退出)")
    while True:
        question = input("你:").strip()
        if question.lower() in ["exit", "quit"]:
            print("👋 再见!")
            break

        answer = ask_dify(question)
        print(f"Dify:{answer}\n")

if __name__ == "__main__":
    main()

保存退出:
Ctrl + O → 回车 → Ctrl + X

python3 dify_chat.py

效果示例:

Dify 智能助手已启动(输入 exit 或 quit 退出)

你:你好

Dify:你好,我是 Dify 智能助手。

你:介绍一下 iPhone 15

Dify:iPhone 15 使用 A17 Pro 芯片,支持 USB-C,具备更好的能效和图形性能。


六、常见问题排查

问题原因解决方法
404 Not Found路径错误使用 /v1/chat-messages
405 Method Not Allowed用 GET 调用改成 -X POST
401 UnauthorizedAPI Key 错误检查是否包含 Bearer 前缀
curl 报错引号或 JSON 格式问题使用英文引号 " "
无响应 / 超时防火墙未放行执行 netsh 命令放行端口
Missing inputsDify 应用要求必填输入参数"inputs": {"question": "xxx"} 中补齐

七、完整架构图

┌──────────────┐ ┌──────────────────────┐ ┌─────────────────────┐ │ 开发板 │──→ │ Dify API (Windows) │──→ │ Ollama / 本地模型 │ └──────────────┘ └──────────────────────┘ └─────────────────────┘ ↑ ↓ Python 调用 智能回答返回


八、可选:语音交互扩展(升级为智能语音助手)

安装依赖:

pip install vosk edge-tts sudo apt install mpg123

实现功能:

  • vosk 离线识别语音输入;

  • edge-tts 将回答合成为语音;

  • 香橙派能听懂你的问题并朗读回答。


九、总结

通过本文,我们实现了完整流程:

阶段内容状态
部署 Dify 平台Docker Compose 启动
暴露 APIports: "5001:5001" + 防火墙放行
测试 APIPostman / curl
香橙派连接局域网 + ping 测试
Python 聊天助手循环交互成功

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不语n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值