Qwen3.5-4B-AWQ代码实例:Python调用API+WebUI交互+日志排查全流程
Qwen3.5-4B-AWQ代码实例Python调用APIWebUI交互日志排查全流程1. 模型介绍与部署准备Qwen3.5-4B-AWQ-4bit是阿里云通义千问团队推出的轻量级稠密模型经过4bit AWQ量化后显存占用仅约3GB可在RTX 3060/4060等消费级显卡上流畅运行。该模型在MMLU-Pro基准测试中接近Qwen3-30B-A3B的性能在OmniDocBench上甚至超越了GPT-5-Nano实现了精度与速度的完美平衡。1.1 核心特性多语言支持覆盖201种语言处理能力多模态能力原生支持图文交互长上下文处理可处理超长文本输入工具调用适配轻量Agent、知识库、客服等场景部署友好兼容llama.cpp等多种推理框架1.2 环境准备# 创建conda环境 conda create -n qwen python3.10 -y conda activate qwen # 安装基础依赖 pip install torch torchvision torchaudio pip install vllm transformers fastapi uvicorn2. 服务部署与管理2.1 项目结构模型默认安装在/root/ai-models/cyankiwi/Qwen3___5-4B-AWQ-4bit路径下使用vLLM作为推理引擎WebUI服务运行在7860端口。2.2 服务控制命令# 查看服务状态 supervisorctl status # 启动服务 supervisorctl start qwen35-4b-awq # 停止服务 supervisorctl stop qwen35-4b-awq # 重启服务 supervisorctl restart qwen35-4b-awq2.3 日志监控# 实时查看运行日志 tail -f /root/Qwen3.5-4B-AWQ-4bit/logs/webui.log # 查看错误日志 tail -f /root/Qwen3.5-4B-AWQ-4bit/logs/webui.err.log3. Python API调用实战3.1 基础API调用from vllm import LLM, SamplingParams # 初始化模型 llm LLM(model/root/ai-models/cyankiwi/Qwen3___5-4B-AWQ-4bit) # 设置采样参数 sampling_params SamplingParams(temperature0.7, top_p0.9, max_tokens512) # 生成文本 prompt 请用中文解释量子计算的基本原理 outputs llm.generate([prompt], sampling_params) # 输出结果 print(outputs[0].outputs[0].text)3.2 流式输出实现from vllm import LLM, SamplingParams def stream_generator(prompt): llm LLM(model/root/ai-models/cyankiwi/Qwen3___5-4B-AWQ-4bit) sampling_params SamplingParams(temperature0.7, streamTrue) for output in llm.generate([prompt], sampling_params): yield output.outputs[0].text # 使用示例 for chunk in stream_generator(写一篇关于人工智能的短文): print(chunk, end, flushTrue)4. WebUI交互指南启动服务后通过浏览器访问http://localhost:7860即可使用Web界面输入框输入您的提示词或问题参数调节可调整温度(temperature)、top_p等生成参数历史记录自动保存对话历史多模态支持支持图片上传和图文对话5. 常见问题排查5.1 显存不足问题# 检查GPU显存占用 nvidia-smi # 查找并终止残留进程 ps aux | grep VLLM kill -9 PID5.2 服务启动失败检查日志文件/root/Qwen3.5-4B-AWQ-4bit/logs/webui.err.log确认conda环境已正确激活验证模型路径是否正确5.3 响应速度慢降低max_tokens参数值尝试减小top_p值(如0.7)检查系统资源占用情况6. 高级应用场景6.1 知识库问答集成from vllm import LLM from langchain.vectorstores import FAISS from langchain.embeddings import HuggingFaceEmbeddings # 加载嵌入模型 embeddings HuggingFaceEmbeddings(model_nameGanymedeNil/text2vec-large-chinese) # 创建知识库索引 documents [量子计算利用量子比特..., 人工智能主要分为...] db FAISS.from_texts(documents, embeddings) # 结合Qwen3.5进行问答 def answer_with_context(question): relevant_docs db.similarity_search(question, k2) context \n.join([doc.page_content for doc in relevant_docs]) prompt f根据以下上下文回答问题:\n{context}\n\n问题:{question} llm LLM(model/root/ai-models/cyankiwi/Qwen3___5-4B-AWQ-4bit) outputs llm.generate([prompt], SamplingParams(max_tokens256)) return outputs[0].outputs[0].text6.2 多轮对话实现from vllm import LLM class ChatBot: def __init__(self): self.llm LLM(model/root/ai-models/cyankiwi/Qwen3___5-4B-AWQ-4bit) self.history [] def chat(self, user_input): prompt \n.join([f用户:{msg[0]}\n助手:{msg[1]} for msg in self.history[-3:]]) prompt f\n用户:{user_input}\n助手: outputs self.llm.generate([prompt], SamplingParams(temperature0.8)) response outputs[0].outputs[0].text self.history.append((user_input, response)) return response7. 总结与进阶建议通过本教程我们全面介绍了Qwen3.5-4B-AWQ模型的部署、API调用和WebUI交互方法。这个轻量级模型在消费级GPU上表现出色特别适合以下场景本地开发快速原型设计和测试教育研究低成本运行大型语言模型企业应用构建知识库、客服系统等对于希望进一步探索的开发者建议尝试使用FastAPI构建自定义API端点集成LangChain框架开发复杂应用探索模型的多模态能力图文交互测试长上下文处理性能支持超长文本输入获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。