打开备份的wordpress济南seo排名优化推广

张小明 2026/1/16 13:21:52
打开备份的wordpress,济南seo排名优化推广,网站设计用的技术,wordpress 浏览次数在大模型这个时期#xff0c;“私有化部署”以及“个性化问答”成了企业和开发者的关键需求。要是想让AI根据特定的文档#xff08;像公司手册、技术文档、学术论文等#xff09;来回答问题#xff0c;并且还担忧数据隐私会被泄漏出去#xff0c;那检索增强生成#xff0…在大模型这个时期“私有化部署”以及“个性化问答”成了企业和开发者的关键需求。要是想让AI根据特定的文档像公司手册、技术文档、学术论文等来回答问题并且还担忧数据隐私会被泄漏出去那检索增强生成RAG就是最棒的解决办法。本文将带大家从零开始用LangChain框架整合Qwen3大模型与BGE-M3嵌入模型手戳一个可本地运行的端到端RAG系统。无需复杂云服务只需一台带GPU的电脑就能拥有专属的“文档问答机器人”。为什么选择RAG聊聊大模型的“知识痛点”一、在正式动手前我们先搞懂一个核心问题为什么需要RAG大模型像GPT-4和Qwen这类的呢虽然可以应对很多很多的通用问题可是它们有两个特别要命的缺点1.知识时效性不太好训练数据截止到某个特定的时间就像Qwen3训练数据截止到2024年初那样没办法获取最新的信息2.个性化能力弱无法理解企业内部文档、个人笔记等私有数据3.易产生“幻觉”对不确定的问题会编造看似合理的答案无法溯源信息来源。而RAG通过“检索生成”的组合完美解决这些问题检索从本地文档库中精准找到与问题相关的片段生成让大模型基于检索到的“事实依据”回答问题确保答案准确、可溯源直接讲RAG就像是给大模型安上了一个本地的知识仓库既能让大模型具备语言理解的能力又能把数据隐私和知识专属的问题给解决了。二、技术选型为什么是LangChainQwen3BGEM3搭建RAG系统得有三大关键组件分别是文档处理框架、大语言模型LLM以及嵌入模型Embedding。我们在选择这些组件时主要从“本地化、对中文友好、资源消耗低”这个方面去考虑的组件类型选型核心优势文档处理框架LangChain一站式整合文档加载、分割、向量存储、检索链降低开发门槛大语言模型LLMQwen3-7B-Instruct阿里达摩院开源模型中文处理能力强7B 参数支持 4 位量化本地 GPU 可运行嵌入模型EmbeddingBAAI/bge-m3中科院自动化所开源中文嵌入效果顶尖支持检索优化指令精度高于传统模型向量数据库Chroma轻量级本地向量库无需复杂部署支持持久化存储适配 LangChain除此之外我们还用到BitsAndBytes量化技术将Qwen3-7B模型压缩到4位精度原本需要24GB显存的模型现在8GB显存就能运行大大降低硬件门槛。三、手把手搭建从环境准备到代码实现接着开始实战部分啦咱们把RAG系统搭建分成4步来进行每一步都有着详细的讲解呢就算是新手也能够很顺畅地跟得上哟。3.1 环境准备安装依赖库先确定你的电脑已安装了Python3.8以及更高版本与此同时拥有NVIDIAGPU显存最好大于或等于8GB。接着打开终端接着执行以下这些命令来安装依赖# 基础依赖pip install langchain chromadb transformers torch# 文档加载与处理pip install sentence-transformers python-dotenv# 量化相关4位量化需要pip install bitsandbytes accelerate# 可选如果需要处理PDF/Word文档安装额外加载器pip install pypdf python-docx3.2 核心代码解析从配置到问答的全流程我们的代码分为5个核心模块配置类、RAG系统初始化、文档处理、向量库加载、问答交互。下面逐模块拆解理解每个环节的作用。配置类统一管理参数便于修改先对Config类进行定义把文档路径、模型名称、量化配置等这些参数都集中到一起进行管理这样之后要是需要修改的话就不用到处去寻找代码啦classConfig: # 文档相关指定文档存放目录、分块大小 DOCUMENTS_DIR documents# 本地文档目录需手动创建 CHUNK_SIZE 500 # 每个文本块的字符数中文适配 CHUNK_OVERLAP 50 # 块间重叠字符数避免分割丢失上下文 # 模型相关指定嵌入模型和LLM EMBEDDING_MODEL_NAME BAAI/bge-m3# 中文嵌入效果顶尖 LLM_MODEL_NAME Qwen/Qwen3-7B-Instruct# 中文友好的7B模型 # 检索相关向量库存储路径、检索数量 VECTOR_DB_DIR vector_db_qwen_bge_m3# 向量库持久化目录 TOP_K 3 # 每次检索返回3个相关片段 # 量化配置降低显存占用 USE_4BIT_QUANTIZATION True # 启用4位量化8GB显存必备RAG系统初始化加载嵌入模型与LLMRAGSystem类是核心负责初始化嵌入模型和LLM这是系统的“大脑”和“眼睛”. 嵌入模型BGEM3将文本转化为向量数字用于后续检索LLMQwen3基于检索到的文本片段生成自然语言回答1初始化嵌入模型给文本“编数字”BGEM3有一个关键优化支持查询指令能让查询向量更精准。例如在生成查询向量时添加“为这个句子生成表示以用于检索相关文章”前缀提升检索命中率def_init_embeddings(self): print(f加载BGE-M3嵌入模型: {self.config.EMBEDDING_MODEL_NAME}) # BGE-M3专属查询指令优化中文检索效果 query_instruction 为这个句子生成表示以用于检索相关文章 return HuggingFaceBgeEmbeddings( model_nameself.config.EMBEDDING_MODEL_NAME, model_kwargs{device: cudaif torch.cuda.is_available() elsecpu}, encode_kwargs{normalize_embeddings: True}, # 向量归一化提升检索精度 query_instructionquery_instruction )2初始化LLM给系统“装大脑”Qwen3-7B模型默认需要24GB显存我们通过4位量化将其压缩到8GB以内。这个时候Qwen有专属的提示词格式|im_start|/|im_end|需要自定义格式函数适配def_init_llm(self): print(f加载Qwen3模型: {self.config.LLM_MODEL_NAME}) # 4位量化配置关键优化降低显存占用 quantization_config None if self.config.USE_4BIT_QUANTIZATION and torch.cuda.is_available(): quantization_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_use_double_quantTrue, # 双重量化进一步压缩 bnb_4bit_quant_typenf4, # 适配大模型的量化类型 bnb_4bit_compute_dtypetorch.float16 ) # 加载tokenizer和模型device_mapauto自动分配GPU/CPU tokenizer AutoTokenizer.from_pretrained(self.config.LLM_MODEL_NAME) model AutoModelForCausalLM.from_pretrained( self.config.LLM_MODEL_NAME, quantization_configquantization_config, device_mapauto, torch_dtypetorch.float16, trust_remote_codeTrue# 加载Qwen的自定义代码 ) # Qwen专属提示词格式必须严格遵循否则模型无法正常响应 defqwen_prompt_format(prompt): returnf|im_start|system\n你是一个 helpful 的助手基于提供的上下文回答问题。|im_end|\n|im_start|user\n{prompt}|im_end|\n|im_start|assistant\n # 创建文本生成pipeline包装成LangChain的LLM pipe pipeline( text-generation, modelmodel, tokenizertokenizer, max_new_tokens500, # 最大生成500个字符 temperature0.7, # 随机性0严谨1灵活 repetition_penalty1.1, # 避免重复生成 pad_token_idtokenizer.pad_token_id, eos_token_idtokenizer.eos_token_id, prompt_format_templateqwen_prompt_format ) return HuggingFacePipeline(pipelinepipe)文档处理从“原始文档”到“向量库”文档处理是RAG的“地基”直接影响检索精度。这一步分为3个关键操作加载文档→分割文档→创建向量库。(1) 加载文档支持多格式TXT/PDF/Word我们用DirectoryLoader批量加载documents目录下的文档默认支持TXT格式若需处理PDF/Word只需替换loader\_cls为PyPDFLoader/Docx2txtLoaderdefload_and_process_documents(self): start_time time.time() # 加载文档glob*.txt指定只加载TXT文件 loader DirectoryLoader( self.config.DOCUMENTS_DIR, glob*.txt, loader_clsTextLoader, loader_kwargs{encoding: utf-8} # 解决中文乱码问题 ) documents loader.load() ifnot documents: raise ValueError(f请在 {self.config.DOCUMENTS_DIR} 目录中添加文档) print(f成功加载 {len(documents)} 个文档)2分割文档中文适配的“黄金分割点”大模型有上下文长度限制如Qwen3-7B支持8k tokens若直接将长文档传入会丢失上下文。我们用RecursiveCharacterTextSplitter按中文标点分割避免将完整句子切散# 分割文档按“段落→句子→标点”分层分割保留中文语义text_splitter RecursiveCharacterTextSplitter( chunk_sizeself.config.CHUNK_SIZE, chunk_overlapself.config.CHUNK_OVERLAP, separators[\n\n, \n, 。, , , 、, , ] # 中文优先分割符)texts text_splitter.split_documents(documents)print(f文档分割完成得到 {len(texts)} 个文本块)3创建向量库将文本块“存入数据库”用Chroma向量库存储文本块的向量后续检索时只需将问题转化为向量与库中的向量计算相似度就能快速找到相关片段# 创建并持久化向量库下次运行可直接加载无需重新处理self.vector_db Chroma.from_documents( documentstexts, embeddingself.embeddings, persist_directoryself.config.VECTOR_DB_DIR)self.vector_db.persist()# 创建检索链将“检索”与“生成”串联self.qa_chain RetrievalQA.from_chain_type( llmself.llm, chain_typestuff, # 简单高效将所有相关片段传入LLM retrieverself.vector_db.as_retriever(search_kwargs{k: self.config.TOP_K}), return_source_documentsTrue# 返回源文档便于溯源)end_time time.time()print(f文档处理完成耗时 {end_time - start_time:.2f} 秒)问答交互从“问题”到“答案”的闭环最后实现query方法接收用户问题调用检索链生成答案并返回源文档片段便于验证答案准确性defquery(self, question: str): ifnot self.qa_chain: raise ValueError(请先加载文档或向量库) start_time time.time() print(f处理查询: {question}) # 执行检索增强生成先检索相关片段再生成答案 result self.qa_chain({query: question}) end_time time.time() print(f查询处理完成耗时 {end_time - start_time:.2f} 秒) return result主函数一键运行系统在if name main:中我们实现“自动创建示例文档→初始化系统→加载向量库→测试问答”的全流程if __name__ __main__: os.environ[TOKENIZERS_PARALLELISM] false# 避免tokenizer并行警告 # 初始化配置与系统 config Config() rag_system RAGSystem(config) # 首次运行创建示例文档数据科学、LLM应用相关 ifnot os.listdir(config.DOCUMENTS_DIR): print(创建示例文档...) create_sample_documents(config.DOCUMENTS_DIR) # 加载向量库存在则直接加载不存在则重新处理文档 ifnot rag_system.load_existing_vector_db(): rag_system.load_and_process_documents() # 测试中文问答 test_questions [ 数据科学工作流包括哪些步骤, 大语言模型有哪些主要应用场景 ] # 输出结果包含答案和源文档片段 for question in test_questions: print(\n *80) print(f问题: {question}) result rag_system.query(question) print(\n回答:) print(result[result]) print(\n相关文档片段:) for i, doc in enumerate(result[source_documents], 1): print(f\n文档 {i}:) print(f来源: {doc.metadata[source]}) print(f内容: {doc.page_content[:200]}...)四、运行测试看看系统实际效果将代码保存为rag\_qwe\_bge.py执行以下命令运行python rag_qwen_bge.py首次运行时系统会自动在documents目录创建2个示例文档数据科学、LLM应用下载BGE-M3和Qwen3-7B模型约10GB需耐心等待处理文档并创建向量库存入vector*db*qwen*bge*m3目录。运行成功后会输出如下结果以“数据科学工作流包括哪些步骤”为例问题: 数据科学工作流包括哪些步骤处理查询: 数据科学工作流包括哪些步骤回答:数据科学工作流通常包括以下9个步骤问题定义明确业务问题和分析目标这是整个工作流的基础确保后续工作围绕核心需求展开数据收集获取相关的结构化如数据库表和非结构化如文本、图片数据数据清洗处理数据中的缺失值、异常值和重复数据保证数据质量避免影响后续分析结果探索性数据分析通过统计方法和可视化工具理解数据分布、变量关系等挖掘数据潜在规律特征工程对原始数据进行转换、筛选或创建新特征生成适合机器学习模型输入的特征模型构建根据问题类型如分类、回归选择适当的机器学习模型并使用清洗后的数据集进行训练模型评估使用准确率、召回率、RMSE等指标评估模型性能判断模型是否满足业务需求结果部署将训练好的模型集成到业务流程中如API接口、业务系统实现实际应用监控与更新持续监控模型在实际场景中的性能当数据分布或业务需求变化时定期更新模型。相关文档片段:文档 1:来源: documents/data_science.txt内容: 数据科学是一个跨学科领域结合了统计学、机器学习、数据可视化和领域知识用于从结构化和非结构化数据中提取有价值的 insights。数据科学工作流通常包括以下步骤问题定义明确业务问题和分析目标数据收集获取相关的结构化和非结构化数据数据清洗处理缺失值、异常值和重复数据探索性数据分析理解数据分布和变量关系特征工程创建适合建模的特征模型构建选择和训练适当的机器学习模型模型评估使用合适的指标评估模型性能结果部署将模型集成到业务流程中监控与更新持续监控模型性能并定期更新五、总结展望一点建议本文针对企业私有化、个性化问答需求提供了基于LangChainQwen3BGEM3的本地RAG系统搭建全流程通过4位量化技术降低硬件门槛至8GB显存新手也能落地。这个方案通过“检索生成”这种方式把大模型存在的知识会过时、容易产生“幻觉”以及没法适应私有数据这些难题给解决了既保障了数据的安全又保证了回答的准确性。以后本地RAG会朝着更轻、更多种模式的方向去发展呢给新手的建议是先从最基本的文本开始把流程熟悉起来等过了这一步之后呢就可以去摸索参数的优化以及多种技术融合这样更高级的东西啦。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

山东响应式网站开发邯郸市建设局官方网站

Llama-Factory结合WandB实现远程训练监控与可视化 在大模型时代,一个常见的尴尬场景是:你启动了一次长达数小时的LoRA微调任务,满怀期待地盯着本地终端输出。突然SSH连接中断——再登录时,不仅看不到实时loss曲线,甚至…

张小明 2026/1/11 9:18:02 网站建设

app在线开发网站建设广东省网站建设公司排名

2025最新!自考党必看!10个AI论文工具深度测评与推荐 2025年自考论文写作新选择:AI工具测评与推荐 随着人工智能技术的不断进步,越来越多的自考学生开始借助AI论文工具提升写作效率、优化内容质量。然而,面对市场上琳琅…

张小明 2026/1/13 19:56:39 网站建设

国内做的比较好的协会网站自己电脑做服务器搭网站

星露谷农场设计完全攻略:打造高效美观的游戏天堂 【免费下载链接】stardewplanner Stardew Valley farm planner 项目地址: https://gitcode.com/gh_mirrors/st/stardewplanner 你是否曾经在《星露谷物语》中因为农场布局不合理而浪费大量时间?想…

张小明 2025/12/29 20:09:59 网站建设

南县网站建设推荐wordpress建站注册新用户

点击蓝字 关注我们山梨酸钾通过调控细胞间通讯诱发肾损伤:一项整合网络毒理学、机器学习、分子对接与单细胞RNA测序的研究iMetaMed主页:https://onlinelibrary.wiley.com/journal/3066988x研究论文● 原文:iMetaMed● 英文题目:Po…

张小明 2026/1/4 22:19:11 网站建设

台州地区网站建设景德镇做网站的公司

继136项通用算法落地后,我们推出针对智慧物流园区的垂直专用算法。本次更新完全围绕园区实际运营场景,将AI融入交通、安全、人员管理等核心环节,让算法服务于具体需求。 算法包括: 一、周界与消防安全:守住园区“第一…

张小明 2025/12/31 2:56:21 网站建设

网站建设公司网址大全智能手机网站模板

3步解锁现代Web开发:用Loco框架构建高性能应用 【免费下载链接】loco 🚂 🦀 The one-person framework for Rust for side-projects and startups 项目地址: https://gitcode.com/GitHub_Trending/lo/loco 还在为复杂的Web开发配置和冗…

张小明 2025/12/30 13:43:06 网站建设