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 Unauthorized API Key 错误 检查是否包含 Bearer 前缀
curl 报错 引号或 JSON 格式问题 使用英文引号 " "
无响应 / 超时 防火墙未放行 执行 netsh 命令放行端口
Missing inputs Dify 应用要求必填输入参数 "inputs": {"question": "xxx"} 中补齐

七、完整架构图

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


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

安装依赖:

pip install vosk edge-tts sudo apt install mpg123

实现功能:

  • vosk 离线识别语音输入;

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

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


九、总结

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

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

参考资料

相关推荐
蓑笠翁0013 小时前
从零开始学习Python Django:从环境搭建到第一个 Web 应用
python·学习·django
计算机毕业设计指导3 小时前
从零开始构建HIDS主机入侵检测系统:Python Flask全栈开发实战
开发语言·python·flask
Rock_yzh3 小时前
AI学习日记——神经网络参数的更新
人工智能·python·深度学习·神经网络·学习
wa的一声哭了3 小时前
Stanford CS336 assignment1 | Transformer Language Model Architecture
人工智能·pytorch·python·深度学习·神经网络·语言模型·transformer
waves浪游4 小时前
Linux基本指令(中)
linux·运维·python
hui函数4 小时前
Python全栈(基础篇)——Day05:后端内容(dict与set+while循环+for循环+实战演示+每日一题)
开发语言·后端·python
荣光波比4 小时前
Docker(三)—— Docker Compose 编排与 Harbor 私有仓库实战指南
运维·docker·容器·云计算
落日漫游4 小时前
DockerCE与cri-docker核心区别解析
运维·docker·kubernetes
F_D_Z5 小时前
【Python】家庭用电数据分析Prophet预测
python·数据挖掘·数据分析·prophet