广东住房和城乡建设部网站百度榜单

张小明 2026/1/19 19:22:01
广东住房和城乡建设部网站,百度榜单,房地产店铺首页设计过程,网站开发和室内制作一、大模型RAG优化#xff1a;Adaptive RAG 这篇文档整合了多种rag优化策略#xff0c;并且使用langchain实现。可以有效的解决幻觉的问题。 二、概要 我们将把RAG论文中的想法整合到RAG代理中#xff1a; Routing: Adaptive RAG (paper). 将问题路由到不同的检索方法Fal…一、大模型RAG优化Adaptive RAG这篇文档整合了多种rag优化策略并且使用langchain实现。可以有效的解决幻觉的问题。二、概要我们将把RAG论文中的想法整合到RAG代理中Routing:Adaptive RAG (paper). 将问题路由到不同的检索方法Fallback:Corrective RAG (paper). 如果文档与查询不相关则回退到网络搜索Self-correction:Self-RAG (paper). 修正有幻觉的答案或不回答问题具体的逻辑图如下大致意思为1、首先根据问题描述判断是从rag获取信息还是网络搜索2、如果rag获取的信息中出现幻觉则重新回到网络进行搜索3、根据问题和信息生成答案然后查看答案和问题的资料判断是否有幻觉。4、最终生成问题的答案。5、在生成答案的过程中发现内容信息不相关则会loop回去网络搜索重新生成答案。Adaptive_rag1三、embedding模型名词嵌入对比训练我们用nomic-bert-2048初始化nomic嵌入的训练。我们的对比数据集由约2.35亿个文本对组成。我们在收集Nomic Atlas的过程中广泛验证了其质量。你可以在nomic ai/constrastors代码库中找到数据集的详细信息也可以在nomic Atlas中探索500万对子集。在大规模文本嵌入基准测试MTEB中nomic嵌入的性能优于Text-Embedding-ada-002和jina-embeddings-v2-base-en。nomic和其他的embedding算法比较下来效果更好。NameSeqLenMTEBLoCoJina Long ContextOpen WeightsOpen Training CodeOpen Datanomic-embed819262.3985.5354.16✅✅✅jina-embeddings-v2-base-en819260.3985.4551.90✅❌❌text-embedding-3-small819162.2682.4058.20❌❌❌text-embedding-ada-002819160.9952.755.25❌❌❌不过我们要使用qwen-max对应的embedding四、业务分析我们根据上面的摘要拆分成多个模块。一步步的实现。增加rag搜索的能力。总体的业务流程如下下载1、在start后面隐藏了一个条件边(route结点)【决定将问题路由到不同的检索方法】2、retrieve结点【返回知识库获取的数据信息】3、grade_documents结点【确定检索到的文档是否与问题相关如果任何文档不相关我们将设置一个标志来运行网络搜索】4、web_search【网络搜索根据问题在网上寻找答案】5、generate【根据文档的内容生成答案】6、增加条件边grade_generation_v_documents_and_question【确定生成是否基于文档并回答问题、是否产生幻觉】1、route模块可以将问题路由到不同的检索方法。我们通过agent来决定路由到哪个方向。# Promptrouter_prompt You are an expert at routing a user question to a vectorstore or web search.The vectorstore contains documents related to agents, prompt engineering, and adversarial attacks.Use the vectorstore for questions on these topics. For all else, and especially for current events, use web-search.Return JSON with single key, datasource, that is websearch or vectorstore depending on the question.Here is the user question: \n\n {question}. router_prompt ChatPromptTemplate.from_template(router_prompt)#json格式输出class router_out(BaseModel): datasource: str Field(description选择websearch or vectorstore) res :str Field(description结果)router_llm router_prompt | model.with_structured_output(router_out)1、我们建立一个prompt。您是将用户问题路由到向量库或网络搜索的专家。向量库包含与agents, prompt engineering, and adversarial attacks相关的文档。【可以根据知识库内容修改也可以再增加一个agent总结知识库的内容】使用向量库回答有关这些主题的问题。对于所有其他内容尤其是时事请使用网络搜索。根据问题的不同返回带有单键数据源的JSON即“websearch”或“vectorstore”。这是用户的问题\n\n{question}。2、将结果格式化输出输出作为一个BaseModel的类里面有两个对象datasource和resclass router_out(BaseModel): datasource: str Field(description选择websearch or vectorstore) res :str Field(description结果)2、retrieve定义知识库返回的节点def retrieve(state): Retrieve documents from vectorstore Args: state (dict): The current graph state Returns: state (dict): New key added to state, documents, that contains retrieved documents print(---RETRIEVE---) question state[question] # Write retrieved documents to documents key in state documents retriever.invoke(question) return {documents: documents}3、generate(基于rag回答问题def generate(state): Generate answer using RAG on retrieved documents Args: state (dict): The current graph state Returns: state (dict): New key added to state, generation, that contains LLM generation print(---GENERATE---) question state[question] documents state[documents] loop_step state.get(loop_step, 0) # RAG generation docs_txt format_docs(documents) rag_prompt_formatted rag_prompt.format(contextdocs_txt, questionquestion) generation model.invoke([HumanMessage(contentrag_prompt_formatted)]) return {generation: generation.content, loop_step: loop_step 1}4、grade_documentsdef grade_documents(state): Determines whether the retrieved documents are relevant to the question If any document is not relevant, we will set a flag to run web search Args: state (dict): The current graph state Returns: state (dict): Filtered out irrelevant documents and updated web_search state print(---CHECK DOCUMENT RELEVANCE TO QUESTION---) question state[question] documents state[documents] # Score each doc filtered_docs [] web_search No for d in documents: result grader_llm.invoke( {document: d, question: question} ) grade result.binary_score # Document relevant if grade.lower() yes: print(---GRADE: DOCUMENT RELEVANT---) filtered_docs.append(d) # Document not relevant else: print(---GRADE: DOCUMENT NOT RELEVANT---) # We do not include the document in filtered_docs # We set a flag to indicate that we want to run web search web_search Yes continue return {documents: filtered_docs, web_search: web_search}1、遍历所有知识库返回的文档只要有一个文档内容和问题无关。我们就需要通过网络搜索进行补充。5、grade_generation_v_documents_and_questiondef grade_generation_v_documents_and_question(state): print(---CHECK HALLUCINATIONS---) question state[question] documents state[documents] generation state[generation] max_retries state.get(max_retries, 3) # Default to 3 if not provided result hallucination_llm.invoke( {documents: format_docs(documents), generation: generation} ) grade result.binary_score # Check hallucination if grade yes: print(---DECISION: GENERATION IS GROUNDED IN DOCUMENTS---) # Check question-answering print(---GRADE GENERATION vs QUESTION---) # Test using question and generation from above result answer_llm.invoke({question:question,generation: generation}) grade result.binary_score if grade yes: print(---DECISION: GENERATION ADDRESSES QUESTION---) return useful elif state[loop_step] max_retries: print(---DECISION: GENERATION DOES NOT ADDRESS QUESTION---) return not useful else: print(---DECISION: MAX RETRIES REACHED---) return max retries elif state[loop_step] max_retries: print(---DECISION: GENERATION IS NOT GROUNDED IN DOCUMENTS, RE-TRY---) return not supported else: print(---DECISION: MAX RETRIES REACHED---) return max retries1、确定生成是否基于文档并回答问题如果不相关且循环次数3则输出不支持。重新返回generate结点2、根据最终问题的回答判断是否相关如果不相关且循环次数3则输出无用则返回websearch结点。五、监控与对比查看langsmith的监控信息会看到我们的任务走向和实际消耗的时间。1、先调用retrieve后进入grade_documents2、需要web搜索进入web_search3、grade_generation_v_documents_and_question 输出结果loop_step 1对比情况问题什么是cot?答案思维链 (CoT) 是一种通过模拟人类推理过程来解决复杂问题的技术它将任务分解为一系列逻辑步骤逐步引导至最终答案。这种方法提高了模型的透明度和多步推理能力适用于多种任务如算术推理、常识推理等。然而它也存在对高质量提示的需求和计算成本增加等局限性。直接用rag自一致性抽样#自洽采样Wang等人2022a是对温度0的多个输出进行采样然后从这些候选者中选择最佳的一个。选择最佳候选人的标准可能因任务而异。一般的解决方案是选择多数票。对于易于验证的任务例如使用单元测试的编程问题我们可以简单地运行解释器并使用单元测试验证其正确性。思维链CoT#思维链CoT提示Wei等人2022生成一系列短句逐步描述推理逻辑称为推理链或理由最终得出最终答案。CoT的优势在复杂的推理任务中更为明显同时使用大型模型例如参数超过50B。简单的任务只会从CoT提示中略微受益。CoT提示的类型#CoT提示的两种主要类型很少拍摄CoT。它是通过一些演示来提示模型每个演示都包含手动编写或模型生成的高质量推理链。六、代码重点ChatPromptTemplate用途ChatPromptTemplate为聊天式交互场景设计用于构建多轮对话形式的提示信息。它可以处理不同角色如人类、AI的消息并按照一定的格式组合这些消息。这更符合聊天机器人、对话式 AI 等应用的需求。ChatPromptTemplate能够处理不同角色是与PromptTemplate最大的不同。模板结构ChatPromptTemplate由多个消息模板组成每个消息模板对应一个特定的角色如HumanMessagePromptTemplate、AIMessagePromptTemplate等。这些消息模板可以包含各自的占位符用于填充动态内容。例如from langchain.prompts.chat import ( ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate)# 定义系统消息模板system_template 你是一个乐于助人的助手总是用简洁的语言回答问题。system_message_prompt SystemMessagePromptTemplate.from_template(system_template)# 定义用户消息模板human_template 请提供关于{topic}的简要信息。human_message_prompt HumanMessagePromptTemplate.from_template(human_template)# 组合成聊天提示模板chat_prompt ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])# 构建提示填充占位符prompt chat_prompt.format_prompt(topicLLM).to_messages()print(prompt)主要参数messages列表类型。定义聊天消息的结构。列表中的每个元素代表一条消息消息通常由 BaseMessagePromptTemplate 类的实例组成比如 SystemMessagePromptTemplate、HumanMessagePromptTemplate 等分别对应系统消息、人类消息等不同角色的消息模板。通过 messages 参数可以构建出一个完整的聊天对话流程的提示模板。例子如下[HumanMessagePromptTemplate(promptPromptTemplate(input_variables[topic], input_types{}, partial_variables{}, template请提供关于{topic}的简要信息。\n\n), additional_kwargs{})]input_variables列表类型。模板字符串里所有占位符的名称。LLM的角色“system“角色通过分配特定行为给聊天助手来创建对话的上下文或范围。例如如果您希望与ChatGPT在与体育相关的话题范围内进行对话可以将”system角色分配给聊天助手并设置内容为体育专家”。然后ChatGPT会表现得像体育专家一样回答您的问题。human角色代表实际的最终用户他向ChatGPT发送提问。ai“角色代表响应最终用户提示的实体。这个角色表示消息是助手聊天模型的响应。”ai角色用于在当前请求中设置模型的先前响应以保持对话的连贯性。如何学习大模型 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进行投诉反馈,一经查实,立即删除!

两颗米网站建设wordpress的编辑器插件安装

思源黑体TTF深度解析:专业级多语言字体构建方案 【免费下载链接】source-han-sans-ttf A (hinted!) version of Source Han Sans 项目地址: https://gitcode.com/gh_mirrors/so/source-han-sans-ttf 思源黑体TTF作为开源多语言字体领域的重要项目&#xff0c…

张小明 2026/1/17 19:50:00 网站建设

上海市做网站的公司徐州峰华网架公司

2025年移动开发框架终极选择指南:避开技术选型陷阱 【免费下载链接】framework7 Full featured HTML framework for building iOS & Android apps 项目地址: https://gitcode.com/gh_mirrors/fra/Framework7 面对日益复杂的移动应用需求,你是…

张小明 2026/1/17 19:50:00 网站建设

做网站必须有云虚拟主机wordpress默认编辑器增强

目录 ​编辑 前言 一、多人协作基础:环境准备与核心原则 1.1 协作环境准备 步骤 1:创建共享远程仓库 步骤 2:添加团队成员(关键!) 步骤 3:团队成员克隆远程仓库 步骤 4:创建…

张小明 2026/1/17 19:50:01 网站建设

网站流量查询网站统计查询网站备案没通过不了

网络连接队列与路由过滤配置详解 1. 连接队列分析 在网络连接过程中,SYN 队列和接受队列起着关键作用。当 SYN 队列中有连接请求时,定时器会周期性过期。一旦队列中的条目过期,就会将其从 SYN 队列中移除。 syn_table 是 open_request 的实际 SYN 队列,我们可以看到 …

张小明 2026/1/17 19:50:01 网站建设

如何建立简单网站seo是什么意思知乎

LangFlow:让AI工作流像搭积木一样简单 在大模型时代,人人都在谈论“构建自己的AI应用”。但现实是,哪怕只是把一个简单的问答机器人跑起来,也需要熟悉LangChain的API、搞懂提示工程、配置LLM连接、处理输入输出链路——这一连串操…

张小明 2026/1/17 19:50:04 网站建设

做网站密云项城做网站

终极AMD显卡兼容方案:NootRX完整使用指南 【免费下载链接】NootRX Lilu plug-in for unsupported RDNA 2 dGPUs. No commercial use. 项目地址: https://gitcode.com/gh_mirrors/no/NootRX 在macOS生态系统中,AMD Radeon rDNA 2架构显卡的兼容性一…

张小明 2026/1/19 19:00:32 网站建设