---
title: Qwen3.8-27B.gguf
canonical_url: "https://www.modelscope.cn/models/liu19750505/Qwen3.8-27B.gguf"
md_url: "https://www.modelscope.cn/models/liu19750505/Qwen3.8-27B.gguf.md"
repository: liu19750505/Qwen3.8-27B.gguf
chinese_name: "Qwen3.8-27B.GGUF图视音文出文推理运行软件"
last_updated: 2026-09-20
pipeline_tag: image-text-to-text
tasks:
  - image-text-to-text
library_name:
  - gguf
downloads: 661
stars: 5
---

# Qwen3.8-27B.gguf

> Qwen3.8-27B.gguf - liu19750505 在 ModelScope 开源的模型。云枢视觉AI多模型企业版运行软件 安装使用说明。显卡兼容实测：已在.RTX 3090.显卡上完成全流程测试。运行系统win10，24G显存+48G内存就可以运行此软件。看一下显卡驱动cuda-13.3。支持CPU+内存和GPU+显存。运行环境自动检测。

- **Repository**: liu19750505/Qwen3.8-27B.gguf
- **Tasks**: image-text-to-text
- **Downloads**: 661
- **Stars**: 5
- **Last updated**: 2026-09-20

Source: https://www.modelscope.cn/models/liu19750505/Qwen3.8-27B.gguf

---

云枢视觉AI多模型企业版运行软件 安装使用说明
显卡兼容实测：已在.RTX 3090.显卡上完成全流程测试。运行系统win10
24G显存+48G内存就可以运行此软件。看一下显卡驱动cuda-13.3。
支持CPU+内存和GPU+显存。运行环境自动检测。
下载（云枢视觉AI多模型企业版运行软件），右键选择解压，将文件解压到 C 盘。
在下载1：mmproj-4B.gguf 。2：mmproj-9B.gguf。3：mmproj-Qwen3-ASR-1.7B.gguf。4: Qwen3.5-4B.gguf。
5：Qwen3.5-9B.gguf。6：Qwen3-ASR-1.7B.gguf。。8：mmproj-27B.gguf。9：Qwen3.8-27B.gguf.文件放在llama文件中。
（安装运行库.EXE）文件，安装完毕后直接运行（云枢视觉AI多模型企业版）就可以工作。

创建桌面快捷方式
打开 C 盘内解压好的软件文件夹，找到主程序图标，右键点击，选择【发送到】→【桌面 (快捷方式)】。
注意事项
建议把程序放在固态硬盘，运行速度更快。
文件夹名称不要使用中文和特殊符号。
软件离线即可使用，无需联网。
解压后不要改动内部文件。

2.1版本更新说明
修复bag
添加写作时间模块
增加Markdown 渲染主程序渲染引擎
增加模型自动检测和下载功能

模型推理
# -*- coding: utf-8 -*-
"""YSYXAITLYQ.py - 云枢视觉AI推理引擎"""
import re, subprocess, sys, os, threading, base64, json, time, wave, tempfile, datetime, ctypes, warnings
from io import BytesIO
from typing import Optional
import requests

CREATE_NO_WINDOW = 0x08000000
PORT_MAIN, PORT_VOICE = 8080, 8081
SERVER_URL_MAIN = f"http://127.0.0.1:{PORT_MAIN}/v1/chat/completions"
SERVER_URL_VOICE = f"http://127.0.0.1:{PORT_VOICE}/v1/chat/completions"

COLORS = {
    "primary": "#1890ff", "primary_hover": "#40a9ff", "bg_main": "#f0f2f5",
    "text_main": "#333", "text_secondary": "#666", "text_hint": "#999",
    "border": "#ddd", "success": "#52c41a", "danger": "#ff4d4f", "warning": "#faad14",
    "heading": "#1f1f1f", "heading_light": "#434343", "accent": "#722ed1",
    "code_bg": "#f5f5f5", "code_fg": "#d63384"
}

if getattr(sys, 'frozen', False):
    # PyInstaller 打包后，无论 onefile 还是 onedir，都以 exe 所在目录为准
    BASE_DIR = os.path.dirname(os.path.abspath(sys.executable))
else:
    # 开发环境，以当前脚本所在目录为准
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))

LLAMA_DIR = os.path.join(BASE_DIR, "llama")
SERVER_EXE = os.path.join(LLAMA_DIR, "llama-server.exe")

MODELS_MAIN = {
    "fast":     {"name": "对话模型", "model": os.path.join(LLAMA_DIR, "Qwen3.5-4B.gguf"), "proj": os.path.join(LLAMA_DIR, "mmproj-4B.gguf"), "ctx": 6144, "timeout": 60},
    "std":      {"name": "办公模型", "model": os.path.join(LLAMA_DIR, "Qwen3.5-9B.gguf"), "proj": os.path.join(LLAMA_DIR, "mmproj-9B.gguf"), "ctx": 12288, "timeout": 90},
    "pro":      {"name": "写作模型", "model": os.path.join(LLAMA_DIR, "Qwen3.8-27B.gguf"), "proj": os.path.join(LLAMA_DIR, "mmproj-27B.gguf"), "ctx": 22528, "timeout": 120},
    "asr_file": {"name": "音频模型", "model": os.path.join(LLAMA_DIR, "Qwen3-ASR-1.7B.gguf"), "proj": os.path.join(LLAMA_DIR, "mmproj-ASR-1.7B.gguf"), "ctx": 8192, "timeout": 120},
}
MODEL_VOICE_ASR = {"name": "语音输入专用模型", "model": os.path.join(LLAMA_DIR, "Qwen3-ASR-0.6B.gguf"), "proj": os.path.join(LLAMA_DIR, "mmproj-ASR-0.6B.gguf"), "ctx": 8192, "timeout": 120}

TEXT_PARAMS = {"greedy": True, "temperature": 0.0, "repetition_penalty": 1.0, "max_tokens": 8192}
VL_PARAMS = {"greedy": False, "top_p": 0.8, "top_k": 20, "temperature": 0.7, "repetition_penalty": 1.05, "max_tokens": 8192}
ASR_PARAMS = {"greedy": True, "temperature": 0.0, "max_tokens": 4096}

MAX_IMAGES_COUNT, MAX_AUDIO_COUNT, MAX_VIDEO_SECONDS, MAX_VIDEO_FRAMES = 9, 1, 300, 12
MAX_IMAGE_SIZE_MB, IMG_QUALITY, IMG_MAX_SIZE, MAX_FILE_SIZE_MB = 10, 85, 1536, 12

server_process_main: Optional[subprocess.Popen] = None
server_process_voice: Optional[subprocess.Popen] = None
current_model: str = "fast"
has_nvidia_gpu = use_gpu_mode = False

ASR_CLEAN = re.compile(r'(language\s+\w+|<\|[^|]*\|>|<[^>]+>)', re.I)
_SENTENCE_SPLIT = re.compile(r'(?<=[。！？.!?])')
_LIST_NUM_PATTERN = re.compile(r'^\d+[.)]\s')
PACKAGE_MAP = {"requests": "requests", "win32com": "pywin32", "cv2": "opencv-python", "PIL": "pillow",
               "librosa": "librosa", "soundfile": "soundfile", "docx": "python-docx", "pypdf": "pypdf",
               "psutil": "psutil", "pynvml": "pynvml", "numpy": "numpy"}
PYPI_MIRROR = "https://pypi.tuna.tsinghua.edu.cn/simple"
_LEVEL_ICONS = {"INFO": "ℹ️", "WARN": "⚠️", "ERROR": "❌", "SUCCESS": "✅"}

PIL_AVAILABLE = CV2_AVAILABLE = WIN32COM_AVAILABLE = PSUTIL_AVAILABLE = PYNVML_AVAILABLE = False
Image = ImageGrab = ImageTk = cv2 = psutil = pynvml = None
try:
    from PIL import Image, ImageGrab, ImageTk; PIL_AVAILABLE = True
except ImportError: pass
try:
    import cv2; CV2_AVAILABLE = True
except ImportError: pass
try:
    import win32com.client; WIN32COM_AVAILABLE = True
except ImportError: pass
try:
    import psutil; PSUTIL_AVAILABLE = True
except ImportError: pass
try:
    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        import pynvml; PYNVML_AVAILABLE = True
except ImportError: pass

try:
    from YSSJAIZTJC import system_monitor
except ImportError:
    class _DummyMonitor:
        runtime_stats = {'last_tokens_per_sec': 0}
        def update_work_mode(self, *a): pass
        def record_inference(self, *a): pass
        def live_inference_start(self): pass
        def live_inference_stop(self): pass
        def live_inference_add_tokens(self, *a): pass
    system_monitor = _DummyMonitor()

import ctypes.wintypes as wt
_winmm = ctypes.windll.winmm
_WAVE_FORMAT_PCM, _WHDR_DONE, _MMSYSERR_NOERROR, _CALLBACK_NULL, _WAVE_MAPPER = 1, 0x00000001, 0, 0, 0xFFFFFFFF
_WAVE_ERRORS = {1: "设备已被占用", 2: "无效设备ID", 3: "未装驱动", 7: "内存不足", 11: "无效句柄"}

class _WAVEFORMATEX(ctypes.Structure):
    _fields_ = [("wFormatTag", wt.WORD), ("nChannels", wt.WORD), ("nSamplesPerSec", wt.DWORD),
                ("nAvgBytesPerSec", wt.DWORD), ("nBlockAlign", wt.WORD), ("wBitsPerSample", wt.WORD), ("cbSize", wt.WORD)]

class _WAVEHDR(ctypes.Structure):
    _fields_ = [("lpData", ctypes.c_void_p), ("dwBufferLength", wt.DWORD), ("dwBytesRecorded", wt.DWORD),
                ("dwUser", ctypes.c_void_p), ("dwFlags", wt.DWORD), ("dwLoops", wt.DWORD),
                ("lpNext", ctypes.c_void_p), ("reserved", ctypes.c_void_p)]
