Skip to content

scodemay/ai-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

YOLOv8-Llama App

基于 YOLOv8 和 Llama 模型的智能检测与问答系统。此项目结合了计算机视觉和自然语言处理技术,支持实时目标检测、智能问答、猜谜等功能。


项目功能

  • 目标检测
    • 使用 YOLOv8 模型进行实时目标检测。
    • 支持视频和摄像头流的检测。
  • 智能问答
    • 基于自然语言处理模型实现用户问答功能。
    • 支持记录历史问答。
  • 猜谜游戏
    • 支持用户与 AI 猜谜互动。
  • 数据面板
    • 提供实时数据统计和分析。
    • 使用 WebSocket 推送统计信息。

文件结构

yolov8-llama-app/
├── backend/               # 后端代码
│   ├── app/               # FastAPI 应用代码
│   │   ├── routes/        # API 路由
│   │   ├── models/        # 存储模型相关文件
│   │   ├── websocket.py   # WebSocket 逻辑
        ├── db_ultils.py   # 链接数据池配置
│   │   ├── model_manager.py # 模型管理器
│   │   ├── llm_guess.py   # AI 猜谜逻辑
│   │   └── user_guess.py  # 用户猜谜逻辑
│   ├── test_model.py      # 模型测试脚本
    ├── models/            # 各模型文件
    ├── stats.db           # 数据池文件                    
│   ├── requirements.txt   # 项目依赖
├── frontend/              # 前端代码
│   ├── public/            # 静态资源
│   ├── src/               # React 组件
│   │   ├── components/    # 前端模块化组件
│   │   ├── App.jsx        # 应用入口
│   │   └── index.js       # 前端入口文件
└── README.md              # 项目文档

技术栈

后端

  • 框架:FastAPI
  • 模型:YOLOv8、Llama
  • 依赖
    • torch (PyTorch)
    • transformers
    • opencv-python
    • sqlite3 (用于存储历史记录)

前端

  • 框架:React + Material-UI
  • 图表:Chart.js
  • WebSocket:支持实时数据更新

环境搭建

1. 后端环境

  1. 安装依赖: 在 backend 目录下运行以下命令:

    pip install -r requirements.txt
  2. 运行后端

    python app/main.py // uvicorn app.main:app --reload
  3. 测试模型接口: 运行 test_model.py 以测试模型是否正常加载:

    python test_model.py
  4. 数据库初始化: 数据库会在首次运行时自动初始化。在初始化一些值会更美观。

5.模型地址: 微调模型仓库https://huggingface.co/chenyu1232/deepseek-rps-lora。为导入 yolo 模型可运行

pip install ultralytics

在配置好训练集yaml文件后,在终端输入

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

更多操作可查看官方文档 https://docs.ultralytics.com/zh/quickstart/

  1. 访问地址: 后端服务将运行在http://localhost:8000

2. 前端环境

  1. 安装依赖: 在 frontend 目录下运行以下命令:

    npm install react chatjs
  2. 运行前端

    npm start
  3. 访问地址: 前端服务将运行在 http://localhost:3000


使用说明

主要功能

  1. 目标检测

    • 上传视频文件或通过摄像头进行实时检测。
    • 检测结果将以 JSON 格式返回并展示在前端。
  2. 智能问答

    • 在问答界面输入问题,AI 会返回答案。
    • 历史记录可以在“历史”页面查看。
  3. 猜谜游戏

    • 选择“我来猜题”或“AI猜谜”模式,与系统互动。
  4. 数据面板

    • 实时查看系统的统计数据,包括检测数量、问答记录等。

示例接口

1. 问答接口

  • URL: /api/qa
  • 请求方法: POST
  • 请求示例:
    {
      "question": "红色水果?"
    }
  • 响应示例:
    {
      "answer": "苹果 🍎"
    }

2. 目标检测接口

  • URL: /api/detection
  • 请求方法: POST
  • 请求示例: 上传视频文件进行检测。

3. WebSocket 接口

  • URL: /ws/rps
  • 功能: 实时帧数据与检测结果推送。

性能优化

  1. 后端优化
    • 使用 GPU 加速 YOLOv8 推理。
    • 限制 WebSocket 的帧率以降低带宽占用。
  2. 前端优化
    • 使用虚拟化列表(如 react-window)优化长列表渲染。
    • 减少不必要的组件重渲染。
  3. 日志和存储
    • 控制日志输出级别,定期清理视频结果文件。 4.数据库优化
    • 使用数据库连接池来管理数据库连接,减少连接建立和关闭的开销。

未来计划

  1. 增加多语言支持。
  2. 支持更多模型(如 Whisper、CLIP)。
  3. 优化前端交互体验。

贡献指南

欢迎贡献代码和提出建议!请遵循以下步骤:

  1. Fork 本仓库。
  2. 创建新分支:git checkout -b feature-your-feature-name
  3. 提交更改:git commit -m "Add some feature"
  4. 推送分支:git push origin feature-your-feature-name
  5. 创建 Pull Request。

开发者


许可证

本项目采用 MIT License 许可证。


About

基于yolo的大模型检测程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published