当前位置: 首页 > news >正文

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("👋 再见!")breakanswer = 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 聊天助手循环交互成功

参考资料

  • Dify 官方文档

  • Ollama 本地模型

  • LangGenius GitHub

  • Vosk 语音识别

  • Edge-TTS 文档

http://www.dtcms.com/a/449099.html

相关文章:

  • Linux如何修改主机名?
  • 虹桥做网站竞价推广平台
  • SQL-窗口函数做题总结
  • 做商城类网站空间怎么买个人网页生成器
  • Python AI编程在微创手术通过数据分析改善恢复的路径分析(上)
  • 《强化学习数学原理》学习笔记10——策略迭代
  • 《不一样的数据结构之—顺序表》
  • [论文阅读] AI+软件工程(DeBug)| 从11%到53%!双LLM驱动的工业级代码修复方案,Google数据集验证有效
  • 机器视觉的工业镜头有哪些?能做什么?
  • 百度免费建立网站dw网页制作教程div
  • 【Linux实战 】Linux 线程池的设计、实现与单例模式应用
  • flask-sqlalchemy中的flush()
  • 娱乐建设网站中国航天科工集团有限公司
  • 分布式系统相关概念(单体、集群、分布式、分布式集群、微服务)
  • vscode 配置使用pyqt5
  • CSS选择器常见用法
  • 【Docker】Windows Docker 完全入门指南:从安装到实战的全流程记录
  • 从零开始的C++学习生活 4:类和对象(下)
  • 温州做网站优化网站设计培训
  • 18网站推广关于旅行的网站怎样做
  • 做网站赚钱还是企业宣传片推广方案万能模板
  • 视频分享网站怎么做的注册营业执照需要什么资料
  • 网站建设教程赚找湖南岚鸿认 可php无版权企业网站管理系统
  • 建立网站站点的目的一个主机可以做几个网站域名
  • 封面上的网站怎么做网站模块设计软件
  • 网站制作还花钱电子商务网站建设及推广方案论文
  • 淮南服装网站建设地址如何做虚拟币交易网站
  • 网站建设规划表乐清网站建设lonwap
  • 网站开发创业计划书模板网上能免费做网站发布叼
  • 湖南张家界建设局网站深圳本地招聘网站有哪些