Skip to content

AI-Funland 是一个先进的多硬件加速大语言模型交互平台,支持 CPU、Intel GPU、Intel NPU 和 NVIDIA GPU 等多种硬件加速方案。 AI-Funland is an advanced multi-hardware accelerated large language model interaction platform supporting CPU, Intel GPU, Intel NPU, and NVIDIA GPU acceleration solutions.

Notifications You must be signed in to change notification settings

hellovm/AI-Funland

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Funland 🎡🤖

Local Multi Function platform powered by OpenVINO, optimized for Intel Ultra NPU,supports Text Q&A and Text2Image, more features coming soon. | 基于 OpenVINO 的本地 AI 多能力平台,支持文本问答和文本生成图片,更多功能即将上线,针对 Intel Ultra 系列 NPU 优化。

📦 Version: V0.1.1 Dev · 🗓️ Release Date: 2025-12-01

Highlights / 亮点

  • ⚡ 一键“下载 + INT8量化”,开箱即用 (One-click "Download + INT8 quantization", ready to use)
  • ⬇️ ModelScope 下载:实时进度(不定进度→精确百分比),友好文案替换“API” (ModelScope download with real-time progress and friendly messages)
  • 🧩 INT8/INT4 权重量化,量化完成自动清理原始模型,仅保留量化版本;Tokenizer IR 自动编译 (INT8/INT4 weight-only quantization; delete original after quantization; auto-compile tokenizer IR)
  • 🖥️ 加速器选择:CPU · Intel GPU · Intel Ultra NPU · NVIDIA · 协同选项(NPU+GPU、NPU+GPU+CPU) (Accelerators: CPU/Intel GPU/Intel Ultra NPU/NVIDIA; NPU+GPU/NPU+GPU+CPU)
  • 🎯 默认优先 Intel NPU+GPU 协同;首次加载自动预热,启用编译缓存(OV_CACHE_DIR),缩短 TTFT (Prefer NPU+GPU; warm-up and compile cache to reduce TTFT)
  • 🧠 Intel Ultra NPU 优化:自动性能提示(Latency/Throughput/CumulativeThroughput),可调并行度 streams (Performance hints and adjustable streams for NPU)
  • 🛡️ 友好错误提示:不兼容加速器与模型占用删除,前端弹窗与“释放模型”按钮 (Friendly errors and safe release)
  • 🎛️ 高级设置面板:streams/tiles/num_requests,实时保存与重置 (Advanced settings with persistence)
  • 💬 分屏聊天布局:40% 输入 / 60% 结果,独立滚动与拖拽分隔 (Split chat layout; independent scroll)
  • 🧠 Thinking 卡片:折叠/展开、摘要与复制 (Thinking card: toggle and copy)
  • 🎨 现代化 UI(Material Design 3 + 动态色彩):消息气泡、历史搜索、配置向导、响应式布局 (Modern UI with Material Design 3 and dynamic colors)
  • 📈 性能面板与告警:/api/perf 监控延迟,展示 TTFT/TPOT/Throughput;系统信息显示库版本 (Performance panel: TTFT/TPOT/Throughput; library versions)
  • 🚀 一键启动 start.bat,无需 Node.js;项目缓存:tmp/(可用 AIFUNLAND_CACHE_DIR 定制) (One-click start; project cache)
  • 🧱 模块化架构,预留扩展接口(文生图/视频等) (Modular architecture; T2I/video extensibility)
  • 💬 微信式自然聊天体验:SSE 流式分片输出、消息自动滚动到底部 (SSE streaming; auto-scroll)
  • 🧾 富文本排版:支持 Markdown 标题/列表/链接/代码块,提升可读性 (Rich Markdown formatting)

Why NPU Acceleration / 为什么要支持 NPU 加速

  • 普及的本地硬件:Intel Core Ultra 轻薄本与台式机正广泛配备 NPU,无需独立显卡即可获得可观的推理加速。
  • 低功耗高效率:在注意力、并行算子等典型工作负载上,NPU 以更低功耗提供稳定吞吐,单位能效优于仅用 CPU 的方案,适合电池供电场景。
  • 更低首帧时间(TTFT):结合 OpenVINO 的优化与编译缓存(如 OV_CACHE_DIR),端上对话类任务首帧时间显著下降,提升体感速度。
  • 与 GPU 协同增益:通过 OpenVINO 的 MULTI:NPU,GPU 组合,将不同阶段的计算分布到合适的处理器上,在相同功耗下提升整体吞吐或降低尾时延。
  • 释放系统资源:高占用算子从 CPU 转移至 NPU 后,系统保持更高交互响应性,后台任务对前台影响更小。
  • 成本与便携优势:不依赖高端独显即可获得可用的加速能力,降低硬件成本并兼顾轻薄与续航。
  • 可调优的并行与调度:支持 OV_PERFORMANCE_HINTOV_NUM_STREAMSOV_HINT_NUM_REQUESTSNPU_TILES 等参数,按场景在延迟与吞吐间平衡;前端提供可视化设置与持久化。
  • 生态与工具链成熟:OpenVINO GenAI 与 Optimum-Intel 提供从模型转换、量化到推理管线的一体化支持;常见开源模型均可便捷落地端侧。
  • 本地隐私与合规:数据不出设备,适合企业内网、隐私敏感与离线环境。
  • 更好的电池续航:在移动设备上以更低能耗完成推理,延长工作时长。

适用场景示例:本地问答助手、快速摘要/检索增强生成(RAG)终端、移动办公与演示、教育与科研设备、需要合规/隐私保护的行业应用等。

Release Notes · V0.1.1 Dev(2025/12/01)

  • API 健壮性增强 (API Robustness)
    • 全面增强 API 参数校验:覆盖对话(Chat)、文生图(T2I)、文生视频(T2V)及模型下载接口 (Enhanced validation for Chat, T2I, T2V, and Download APIs)
    • 严格的数值范围检查:如 temperature (0.0-2.0), top_p (0.0-1.0), image_size (256-2048), steps (1-100) 等 (Strict range checks for parameters)
    • 精度参数校验:下载与转换接口强制检查 fp16/int8 (Strict precision validation)
  • 后端架构优化 (Backend Refactoring)
    • 移除全局环境变量依赖:重构 inference.py,使用 inference_props 传递 OpenVINO 配置,提升线程安全与多实例隔离性 (Refactored inference.py to remove global env vars; improved thread safety)
    • 硬件检测缓存:为 system.py 中的硬件检测添加 lru_cache,减少冗余系统调用 (Added lru_cache for hardware detection)
  • 错误处理改进 (Error Handling)
    • 统一 API 错误响应格式,提供更明确的错误信息与状态码 (Unified error response format)

Release Notes · V0.1.0 Dev(2025/11/24)

  • 功能开发 (Feature development)
  • 初步实现文本生成图片 (Initial Text-to-Image implementation)
  • 已知 bug 修复与优化 (Known bug fixes and optimizations)
  • 前端页面重新设计与优化 (Frontend redesign and optimization)

Release Notes · V0.0.4 Dev(2025/11/22)

  • 缓存热加载:首次启动平台需加载模型并编译缓存,后续启动自动加载缓存,缩短从启动到可用的等待时间 (Cache warm loading to reduce readiness time)
  • 优化 HETERO 逻辑:提升多硬件(NPU+GPU/CPU)协同效率,默认优先 Intel NPU+GPU,并启用管线并行 (Optimize HETERO logic; prefer NPU+GPU with pipeline parallelism)
  • 已知问题修复:修复 INT8 IR 权重文件缺失导致加载失败、默认设备选择被覆盖等问题 (Fix missing INT8 IR bin and default device override issues)
  • 文本生成图片(Text-to-Image)后端开发:完成基础后端能力,前端暂未开放入口 (Text-to-Image backend ready; UI initially hidden)
  • Web 页面交互优化:支持 SSE 流式回答;增强上下文理解与思考/最终答案拆分 (Web UX: streaming SSE and improved context with think/final split)
  • 新增 Pipeline Parallelism 支持:在异构设备上启用管线并行以降低尾时延 (Add pipeline parallelism on heterogeneous devices)
  • 修正 Thinking 过程不显示的问题:折叠/展开与复制逻辑完善 (Fix display of Thinking block with better toggle/copy)

Release Notes · V0.0.3 Dev(2025/11/21)

  • 继续优化 NPU 推理效率:调整并发与性能提示,降低 TTFT 与提升吞吐 (Optimize NPU efficiency to reduce TTFT and improve throughput)
  • 优化前端页面:更友好的错误提示与交互,细节打磨(SSE、分屏、提示文案) (Frontend improvements: better errors and refined SSE/split UX)
  • 增加 HETERO 集成:实现多硬件协同推理(NPU + iGPU/CPU),自动优选 iGPU,排除 NVIDIA 错用 (Add HETERO integration: NPU+iGPU/CPU; auto-select iGPU)
  • 增加 DeepThink、联网搜索与上下文理解:支持 <think>/<final> 拆分、Web 搜索增强与上下文重组 (DeepThink, web search, and context awareness)
  • 优化模型量化流程:INT8 完成后删除原始模型,仅保留量化版本;自动编译 Tokenizer IR (Streamlined INT8 quantization and tokenizer IR)
  • 修复多硬件协同模式下可能错误调用 NVIDIA 独立显卡的问题 (Fix potential misuse of NVIDIA dGPU)

Release Notes · V0.0.2 Dev(2025/11/20)

1) 错误提示优化

  • 模型加载失败提示优化:当检测到模型不兼容 Intel NPU/GPU 加速时,前端显示友好信息:
    • “当前模型不支持硬件加速功能,请更换兼容模型或使用 CPU 模式”
  • 模型删除失败提示优化:当模型被占用时显示:
    • “模型正在使用中,请先停止相关任务后再尝试删除”

2) 交互体验改进

  • 首次加载等待提示:
    • “系统正在初始化模型,这可能需要 1-2 分钟,请稍候...”
  • 实时下载进度:
    • 准确反映后端下载状态,避免仅显示“API”,支持不定进度到精确百分比的切换
  • 分屏聊天布局:上方固定输入(约 40%)、下方结果浏览(约 60%),两区独立滚动,拖拽分隔条(20%–80%)
  • Thinking 卡片:右上角折叠/展开、右下角一键复制;折叠显示摘要,展开显示完整过程

3) 硬件加速优化

  • 加速器选择优先级更新:
      1. Intel NPU → 2) Intel GPU → 3) CPU → 4) Nvidia GPU
  • 多硬件协同加速模式:
    • 提供 NPU+GPU+CPU 与 NPU+GPU 混合计算选项,提升硬件利用率
  • NPU 推理效率优化:
    • 量化参数与并行度配置优化,优先低延迟模式(可调 Latency/Throughputstreams
  • 高级设置面板:streams/tiles/num_requests 前端实时保存,后端映射 OpenVINO/NPU 参数

4) 性能优化

  • NPU 推理效率专项优化,缩短响应时间与首帧时间(TTFT)
  • 前端界面响应速度优化与动画反馈统一,提升整体体验
  • 增加 TTFT / TPOT / Throughput 指标展示;系统信息 API 显示库版本(Transformers/Optimum/OpenVINO/GenAI)

5) 依赖升级

  • OpenVINO/GenAI 与 NPU 指南对齐:openvino==2025.3.0openvino-genai==2025.3.0.0openvino-tokenizers==2025.3.0.0
  • Transformers 固定为 4.51.3(与 OpenVINO 2025.3 强兼容)
  • Optimum-Intel(OpenVINO)固定为 1.25.2
  • 新增 nncf==2.18.0onnx==1.18.0

版本状态:开发版(Dev)


Previous Releases / 历史版本

📦 Version: V0.0.1 Dev · 🗓️ Release Date: 2025-11-19

Quick Start(Windows)

  1. 双击 start.bat (Double-click start.bat)
    • 自动安装/检查嵌入式 Python 与依赖 (Auto-install/check embedded Python and deps)
    • 启动后端并打开浏览器 http://127.0.0.1:8000/ (Start backend and open browser)
  2. 在 “Models” 输入框使用默认模型:qwen/Qwen2.5-0.5B-Instruct (Use the default model in the Models input)
  3. 点击 “Download” 或 “Download+INT8” 一键体验 (Click Download or Download+INT8)
  4. 在 “Chat” 区选择模型,输入问题,点击 “Send/发送” (Select model, enter your question, click Send)

Tips:如需自定义缓存目录,设置环境变量 AIFUNLAND_CACHE_DIR(默认 d:\codes\AI Funland\tmp) (Set AIFUNLAND_CACHE_DIR to customize cache directory)

Features / 功能

  • 模型选择与对话,中英双语界面 (Model selection and chat with bilingual UI)
  • 模型管理:ModelScope 下载、INT8/INT4 量化、删除 (Model management: download, INT8/INT4 quantization, delete)
  • 硬件信息与加速器选择:CPU / Intel GPU / Intel NPU / NVIDIA GPU (Hardware info and accelerator selection)
  • 响应式现代化 UI;无需 Node.js;一键 start.bat (Responsive modern UI; no Node.js; one-click start)
  • 项目级缓存(tmp/);下载重试与 API 回退,稳健可靠 (Project cache; robust retries and API fallback)
  • 流式输出(SSE)与自然聊天;支持 Markdown 富文本排版与自动滚动 (Streaming SSE with Markdown and auto-scroll)

Text-to-Image(文生图)

  • 概述
  • 基于 OpenVINO GenAI 的 Diffusers 管线,支持 TextEncoder/UNet/VAE 分设备选择与缓存预热,默认在 CPU 可用,推荐在 Intel NPU/GPU 使用以获得更好吞吐。
  • 入口与界面
  • 顶部导航选择 文生图 页面;卡片 预置模型推荐 下拉分组:
    • 已下载:本地已存在的模型目录(org__model 或已转换的 _ov_fp16/_ov_int8 兼容项)
    • 推荐下载:常用 Stable Diffusion 模型清单(如 Comfy-Org/stable_diffusion_2.1_repackagedrunwayml/stable-diffusion-v1-5 等)
  • 下载与转换
  • 选择“推荐下载”中的模型后,点击 ModelScope下载并转换FP16ModelScope下载并转换INT8,系统将自动下载并使用 Optimum-Intel(OpenVINO) 进行转换;任务完成后下拉列表自动刷新,并将模型路径填入输入框。
  • 生成参数与设备
  • 文本生成图片 卡片中设置 宽度/高度/步数/Guidance;可为 TextEncoder/UNet/VAE 分别选择设备(如 CPU/GPU/NPU);点击 生成图片 后在下方展示生成结果与状态信息。
  • 推荐模型(T2I)
  • Comfy-Org/stable_diffusion_2.1_repackaged · SD 2.1 重打包;
  • runwayml/stable-diffusion-v1-5 · 1.5 经典版本;
  • dreamlike-art/dreamlike-anime-1.0 · 动漫风格;
  • 注意事项
  • 模型目录选择:请选择转换后的目录(*_ov_fp16*_ov_int8),生成更稳健;若误选原始目录,后端会尝试自动定位同名的已转换目录或常见子目录以避免 model_index.json 缺失。
  • 若“已下载”为空,将显示“推荐下载”分组以便一键获取;下载完成后自动填充路径。
  • 首次生成可能较慢,页面顶部横幅与居中遮罩会显示“系统初始化中,请稍候…”。
  • 相关 API
  • /api/models/list · 加载本地模型清单(用于“已下载”分组)
  • /api/image/ms_download_and_convert · ModelScope 下载并进行 OpenVINO 转换(FP16/INT8)
  • /api/image/generate · 文生图生成

Architecture / 架构

  • Backend(Python):
    • backend/app.py · 路由与服务集成(系统信息、下载、量化、推理、任务进度)
    • backend/services/inference.py · OpenVINO GenAI 管线、量化与 Tokenizer IR 自动编译
    • backend/services/models.py · 模型列表/删除;backend/services/system.py · 设备检测
    • backend/utils/tasks.py · 任务状态存储与轮询
  • Frontend(纯静态):
    • web/index.html · 结构与控件
    • web/styles.css · 响应式样式与进度动画
    • web/app.js · 交互逻辑、i18n、API 调用、下载与量化按钮
  • Startup:
    • start.bat · 一键启动、pip 检查与缓存路径注入(AIFUNLAND_CACHE_DIR

Recommended Models / 推荐模型

  • qwen/Qwen2.5-0.5B-Instruct · 适合 CPU 快速验证;建议先 INT8 (Good for quick CPU validation; try INT8 first)
  • qwen/Qwen2.5-1.5B-Instruct · 更优质量;适合 CPU/Intel NPU/Intel GPU/NVIDIA GPU(量化后) (Better quality; suitable for CPU/NPU/GPU after quantization)
  • qwen/Qwen2.5-3B-Instruct · 中端显卡/核显可用;注意显存与 IR 分片 (Usable on mid-tier GPUs/iGPU; check memory and IR sharding)

Directories / 目录约定

  • models/ · 下载与量化后模型:<org__model><org__model>_quant_int8 (Downloaded and quantized models)
  • tmp/ · ModelScope 缓存(可用 AIFUNLAND_CACHE_DIR 自定义) (ModelScope cache with customizable path)

Dependencies / 依赖

apiflask==2.4.0
openvino==2025.3.0
openvino-genai==2025.3.0.0
openvino-tokenizers==2025.3.0.0
langchain_community==0.3.29
optimum-intel[openvino]==1.25.2
nncf==2.18.0
onnx==1.18.0
modelscope==1.12.0
torch==2.4.1
transformers==4.51.3

NNCF 权重量化(仅 INT8)

  • 当前项目仅支持 INT8 权重量化作为默认方案,兼容性与稳定性更好。
  • 建议在 NPU 场景中先使用 INT8 权重量化,以获得更低的内存占用与稳定的吞吐。
  • 资源提示:≥7B 且长提示(>1024 tokens)建议内存 >16GB。

内置量化(API)在 Models 面板中提供 INT8,一键量化并保存到本地目录,后续可直接加载推理。

Credits / 致谢

  • 感谢以下开源项目与生态工具:
    • OpenVINO · OpenVINO GenAI · Optimum-Intel · ModelScope · Transformers · Flask · Python
OpenVINO · OpenVINO GenAI · Optimum-Intel · ModelScope · Transformers · Flask · Python

系统硬件配置建议 / Hardware Recommendations

  • 入门轻薄本(可用):Intel Core Ultra(带 NPU),16GB RAMNVMe SSD
  • 推荐配置:Intel Core Ultra + NPU32GB RAMNVMe SSDIntel GPU(集显或 Arc)
  • 进阶协同:启用 MULTI:NPU,GPU,在长序列与多请求场景提升吞吐
  • 操作系统:Windows 11Linux(建议较新内核与驱动)
  • Python 与库:Python 3.10+openvinoopenvino-genaioptimum-inteltransformers
  • 性能调优建议:
    • 短问答低时延:OV_PERFORMANCE_HINT=LATENCYOV_NUM_STREAMS=1
    • 长文本与批量吞吐:OV_PERFORMANCE_HINT=THROUGHPUTCUMULATIVE_THROUGHPUT
    • 并行请求:根据负载设置 OV_HINT_NUM_REQUESTS(如 2–4),避免饱和
    • NPU 贴片/并行度:视设备设置 NPU_TILES(如 2),在 SSE 流式下提升体感速度
    • 前端“高级设置”支持 Streams/Tiles/并发请求 可视化微调

❤️ If you find AI Funland useful, please star the repo.

About

AI-Funland 是一个先进的多硬件加速大语言模型交互平台,支持 CPU、Intel GPU、Intel NPU 和 NVIDIA GPU 等多种硬件加速方案。 AI-Funland is an advanced multi-hardware accelerated large language model interaction platform supporting CPU, Intel GPU, Intel NPU, and NVIDIA GPU acceleration solutions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published