做兼职的网站都有哪些北京市工程建设信息网官网
2026/4/18 9:10:28 网站建设 项目流程
做兼职的网站都有哪些,北京市工程建设信息网官网,宿州企业官方网站建设,珠海网站建站用Qwen3-1.7B做了个AI助手#xff0c;附完整过程 随着大模型技术的普及#xff0c;越来越多开发者开始尝试在本地或轻量级环境中部署和微调属于自己的AI助手。本文将详细介绍如何基于 Qwen3-1.7B 模型构建一个个性化AI助手#xff0c;并提供从环境配置、模型调用到数据微调…用Qwen3-1.7B做了个AI助手附完整过程随着大模型技术的普及越来越多开发者开始尝试在本地或轻量级环境中部署和微调属于自己的AI助手。本文将详细介绍如何基于Qwen3-1.7B模型构建一个个性化AI助手并提供从环境配置、模型调用到数据微调的完整流程。1. 技术背景与选型动机1.1 Qwen3 系列模型简介Qwen3千问3是阿里巴巴集团于2025年4月29日开源的新一代通义千问大语言模型系列涵盖6款密集模型和2款混合专家MoE架构模型参数量从0.6B至235B。其中Qwen3-1.7B是一款轻量级密集模型具备以下特点参数规模适中适合在消费级GPU上运行支持4-bit量化后显存占用仅约2.5GB兼容LangChain、Hugging Face等主流框架开源可商用支持本地部署与私有化定制这类小参数模型特别适用于边缘设备、个人项目以及对响应速度要求较高的场景。1.2 为什么选择 Qwen3-1.7B尽管当前主流趋势偏向超大规模模型如百亿级以上但在实际应用中小模型依然具有不可替代的优势推理速度快低延迟适合实时交互场景资源消耗低可在笔记本、小型服务器上运行易于微调LoRA微调可在几分钟内完成成本可控训练与部署成本远低于大模型因此对于打造个性化AI助手而言Qwen3-1.7B是一个理想起点。2. 基于 Jupyter 的快速调用实践2.1 启动镜像并进入开发环境首先在支持GPU的平台如CSDN星图镜像广场启动Qwen3-1.7B预置镜像打开Jupyter Notebook进行开发。确保服务地址正确通常为类似如下格式https://gpu-pod69523bb78b8ef44ff14daa57-8000.web.gpu.csdn.net/v1端口号为8000API路径为/v1。2.2 使用 LangChain 调用模型通过langchain_openai模块可以方便地接入 Qwen3-1.7B即使它并非OpenAI官方模型但其接口兼容 OpenAI 标准。from langchain_openai import ChatOpenAI import os chat_model ChatOpenAI( modelQwen3-1.7B, temperature0.5, base_urlhttps://gpu-pod69523bb78b8ef44ff14daa57-8000.web.gpu.csdn.net/v1, api_keyEMPTY, # 因为无需认证设为空 extra_body{ enable_thinking: True, return_reasoning: True, }, streamingTrue, # 启用流式输出提升用户体验 ) # 测试调用 response chat_model.invoke(你是谁) print(response.content)说明extra_body中的enable_thinking和return_reasoning可启用“思维链”模式返回模型内部推理过程增强可解释性。该方式适合快速原型验证无需下载模型即可体验其能力。3. 微调个性化AI助手以猫娘角色为例若希望让AI具备特定风格或人格化特征如温柔、傲娇、专业客服等则需进行微调。以下以“猫娘”角色为例展示完整微调流程。3.1 数据集准备目前公开的猫娘对话数据较少因此可通过以下方式构建高质量小样本数据集收集原始问题如情感类、日常互动类利用强模型如Qwen-Max生成拟人化回答手动筛选优化形成高质量问答对最终得到约270条高质量对话样本保存为cat.json文件结构如下[ { instruction: 宝宝如果我走了你会怎么做, output: 呜...主人不要说这种话啦会让我难过的... } ]数据集已上传至GitHubhttps://github.com/mindsRiverPonder/LLM-practice/blob/main/Qwen3-1.7b%20for%20%E7%8C%AB%E5%A8%98/cat.json3.2 安装依赖库!pip install unsloth bitsandbytes accelerate xformers0.0.29.post3 peft trl0.15.2 triton cut_cross_entropy unsloth_zoo !pip install sentencepiece protobuf datasets huggingface_hub hf_transfer推荐使用 Unsloth其优化后的训练速度比标准 Hugging Face 实现快2-3倍且显存占用更低。3.3 加载预训练模型4-bit量化from unsloth import FastLanguageModel import torch model, tokenizer FastLanguageModel.from_pretrained( model_nameunsloth/Qwen3-1.7B-unsloth-bnb-4bit, max_seq_length2048, load_in_4bitTrue, load_in_8bitFalse, full_finetuningFalse, # 使用LoRA微调 )此步骤加载4-bit量化版本显存占用仅约2.5GB可在大多数消费级GPU上运行。3.4 配置 LoRA 微调参数LoRALow-Rank Adaptation是一种高效的微调方法仅训练少量新增参数大幅降低计算开销。model FastLanguageModel.get_peft_model( model, r32, target_modules[q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj], lora_alpha32, lora_dropout0.0, biasnone, use_gradient_checkpointingunsloth, random_state3407, use_rsloraFalse, loftq_configNone, )r32LoRA秩控制新增参数数量target_modules指定需要插入LoRA的注意力层和FFN层use_gradient_checkpointing节省显存适合长序列训练3.5 数据预处理构造 ShareGPT 风格输入将原始JSON数据转换为模型可接受的对话格式from datasets import load_dataset raw_ds load_dataset(json, data_files{train: cat.json}, splittrain) convs [] for item in raw_ds: convs.append([ {role: user, content: item[instruction]}, {role: assistant, content: item[output]}, ])标准化并应用聊天模板from datasets import Dataset from unsloth.chat_templates import standardize_sharegpt raw_conv_ds Dataset.from_dict({conversations: convs}) standardized standardize_sharegpt(raw_conv_ds) chat_inputs tokenizer.apply_chat_template( standardized[conversations], tokenizeFalse, )输出示例经模板处理后|im_start|user 宝宝如果我走了你会怎么做|im_end| |im_start|assistant 呜...主人不要说这种话啦会让我难过的... |im_end|打乱数据顺序以提高泛化能力import pandas as pd from datasets import Dataset df pd.DataFrame({text: chat_inputs}) train_ds Dataset.from_pandas(df).shuffle(seed666)3.6 定义训练器并启动训练使用SFTTrainer监督微调训练器进行训练from trl import SFTTrainer, SFTConfig trainer SFTTrainer( modelmodel, tokenizertokenizer, train_datasettrain_ds, eval_datasetNone, argsSFTConfig( dataset_text_fieldtext, per_device_train_batch_size2, gradient_accumulation_steps4, max_steps100, learning_rate2e-4, warmup_steps10, logging_steps5, optimadamw_8bit, weight_decay0.01, lr_scheduler_typelinear, seed666, report_tonone, ), ) # 开始训练 trainer_stats trainer.train() print(trainer_stats)训练耗时约3分钟取决于硬件Loss下降明显表明模型正在学习目标行为3.7 推理测试与你的AI助手对话定义一个便捷的提问函数def ask_catgirl(question): messages [{role: user, content: question}] text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue, enable_thinkingFalse, ) from transformers import TextStreamer streamer TextStreamer(tokenizer, skip_promptTrue) inputs tokenizer(text, return_tensorspt).to(cuda) _ model.generate( **inputs, max_new_tokens256, temperature0.7, top_p0.8, top_k20, streamerstreamer, )测试效果ask_catgirl(我不爱你了哼) # 输出呜...不要这样说嘛我会伤心的... ask_catgirl(今天起我不给你饭吃了) # 输出呜...主人好坏没有饭吃我会变瘦的你不心疼吗 ask_catgirl(你是谁呀) # 输出我是你的小猫咪呀是你最可爱的猫娘~可以看出模型已成功习得“猫娘”角色的语言风格与情感表达。4. 总结本文系统介绍了如何基于Qwen3-1.7B构建个性化AI助手涵盖从零调用到微调部署的全流程快速调用通过LangChain OpenAI兼容接口实现即插即用高效微调采用Unsloth LoRA方案在低资源环境下完成微调数据构建自建高质量小样本数据集提升角色一致性推理优化支持流式输出、温度调节、思维链等功能Qwen3-1.7B作为一款轻量级开源模型非常适合用于个人项目、教育实验和垂直领域助手开发。即使是初学者也能在几小时内完成从环境搭建到模型上线的全过程。未来可进一步探索更大数据集下的性能提升多轮对话记忆机制集成结合语音合成实现全感官交互部署为Web服务供多人访问获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询