跟着Datawhale动手学Ollama - TASK5: Ollama 可视化界面部署

参考链接

动手学Ollama教程: https://datawhalechina.github.io/handy-ollama/
Ollama官网:https://ollama.com/

主要内容

教程提供了完整的前后端分离的网页应用,实现了在网页端与本地大模型的对话。

学习记录

  • app.py中原代码为host="127.0.0.0",会报错 ERROR: [WinError 10049] 在其上下文中,该请求的地址无效。所以修改为了host="127.0.0.1"
  • requirements.txt中要求pip install uvicorn,实际报错信息中建议pip install uvicorn[standard],执行uvicorn[standard]安装,退出重新运行app.py后就不再报错
  • 当打开对话网页发送消息后,返回了Error: (status code: 502),是因为Ollama没有打开,Ollama服务没有运行,服务运行后再发送消息就可以正常收到回复了
  • 请AI分析了下项目架构:浏览器前端(WebSocket客户端) - FastAPI后端 - Ollama本地大模型,是典型的 FastAPI + WebSocket + Ollama 本地大模型 的AI聊天应用
    • WebSocket 协议:用于前后端实时通信
    • FastAPI: Python Web 框架,封装了 HTTP 与 WebSocket 的路由、请求处理和响应逻辑,简化了细节
    • uvicorn(ASGI 服务器):是 FastAPI 的运行载体,也是 WebSocket 连接的实际持有者。(WebSocket 连接本质上是 uvicorn 和浏览器之间的连接。
    • Ollama:外部调用 Ollama 接口即可完成所有 AI 操作
    • 一个很好的比喻:uvicorn管“网络”、FastAPI管“逻辑”、Ollama管“AI”、WebSocket管“通道”

学习感想

  • 本节课内容完成简单,但是想充分理解它对于我这样的开发小白来说有些难,主要借助AI辅助理解了具体的代码,梳理整体技术栈细节时候花了非常多的时间,最有启发的一句话是“WebSocket 连接本质上是 uvicorn 和浏览器之间的连接”,而FastAPI主要为了实现“易用”。
  • 对于个人来说,似乎更喜欢用Gradio的快速搭建界面,但是涉及到实际的项目落地,可能FastAPI是个更好的选择,所以也需要对这方面做进一步了解。
  • 期间也发现了教程代码的一些小问题,也已经提交pr。
  • 还剩下最后一节课,继续加油,25年平安夜快乐!
posted @ 2025-12-25 16:56  ZZYpeace  阅读(1)  评论(0)    收藏  举报