AI Agent从无到有32: 基于最大边际相关性(MMR)的示例选择器实现与选型指南

LLM落地实战:AI Agent与RAG工程化落地指南 大语言模型(LLM)从实验室走向生产环境,核心在于工程化落地能力。AI Agent通过状态管理与目标分解,实现多步任务自动编排;RAG则构建动态知识注入机制,解决模型幻觉与知识滞后问题。二者协同形成‘Agentic RAG’范式,显著提升系统自主求解能力。技术价值体现在可复现、可部署、可监控的最小可行单元(MVP)构建——如基于Ollama+LangChain+Chroma快速搭建PDF智能问答系统,或用AutoGen编排会议纪要生成流水线。典型应用场景覆盖法律文书审查、供应链风险预警、企业知识库问答等。本 阅读详情

纲要

  • 回顾余弦相似度选择器的优势与局限
  • 最大边际相关性(MMR)算法
    • 目标:在相关性与多样性之间取得平衡
    • 核心机制:惩罚与已选示例过于相似的样本
  • LangChain 中的 MMR 示例选择器
    • MaxMarginalRelevanceExampleSelector
    • 与余弦相似度选择器的对比
  • 完整可运行代码:使用 FAISS 向量库与 FakeEmbeddings 模拟嵌入
  • 适用场景与选型建议

引言

基于余弦相似度的 SemanticSimilarityExampleSelector 能够从示例池中精准地找出与输入语义最相似的 Top-K 个示例。然而,当示例池中存在大量高度相似的样本时(例如几乎相同的双语版本),余弦相似度选择器往往会返回多个“同质化”的示例。这些示例虽然都与输入相关,但彼此之间没有提供额外的多样性信息,导致 Few-Shot 提示中的示例缺乏代表性。

为了解决这个问题,LangChain 提供了基于最大边际相关性(Maximal Marginal Relevance,简称 MMR)的示例选择器。MMR 在保证示例与输入相关的同时,刻意避免选出过于雷同的样本,从而让 Few-Shot 提示中的示例更具代表性,覆盖更多视角。

MMR 算法原理

MMR 最初应用于信息检索和文本摘要领域,其核心思想是:在每一步选择新的结果时,既考虑该结果与查询的相关性,又考虑其与已选择结果的差异性。

在示例选择场景中,MMR 的计算逻辑如下:

  1. 首先找到与输入最相似(余弦相似度最大)的示例,并将其选入结果集。
  2. 对于后续候选示例,其最终得分为:
    • 相关性得分:候选示例与输入之间的余弦相似度。
    • 多样性惩罚:候选示例与已选示例集合之间的最大余弦相似度。
    • 最终得分 = 相关性得分 - λ × 多样性惩罚(其中 λ 为惩罚系数,通常取 0.5)。
  3. 选择最终得分最高的示例加入结果集,重复此过程直到选出 K 个示例。

MMR 通过引入多样性惩罚机制,有效避免了示例同质化问题,使得最终选出的 Top-K 个示例既能保持与任务的高度相关,又能尽量分散在语义空间的不同方向上,从而向模型提供更丰富的参考信息。

MMR 与余弦相似度选择器的对比

下表直观展示了两种选择器在相同输入下的行为差异。示例池中包含中英文情绪词、天气词以及体型词,输入为“难过”,K 值设为 2。

选择器类型输入K 值返回示例特点
余弦相似度难过2高兴/悲伤, happy/sad两个示例高度同质(中英对照),仅体现情绪维度
MMR难过2高兴/悲伤, tall/short 或 big/small第一个示例最相关,第二个示例来自不同语义方向,增加多样性

可见,MMR 避免了“把鸡蛋放在一个篮子里”的问题,尤其适用于示例池规模较大且存在多条近似示例的场景。

完整可运行代码

以下代码使用 FAISS 向量库和 FakeEmbeddings 模拟嵌入过程,演示 MaxMarginalRelevanceExampleSelector 的用法。无需任何外部 API Key 即可运行。适用的 LangChain 版本为 >=0.2.0。

安装依赖:

pip install langchain langchain-core langchain-community faiss-cpu

核心代码:

from langchain_core.prompts import PromptTemplate, FewShotPromptTemplate
from langchain_core.example_selectors import MaxMarginalRelevanceExampleSelector
from langchain_community.embeddings.fake import FakeEmbeddings
from langchain_community.vectorstores import FAISS

# 1. 构建示例池(包含中英文、情绪与体型等多类反义词)
examples = [
    {"input": "happy", "output": "sad"},
    {"input": "高兴", "output": "悲伤"},
    {"input": "sunny", "output": "gloomy"},
    {"input": "晴朗", "output": "阴沉"},
    {"input": "tall", "output": "short"},
    {"input": "高", "output": "矮"},
]

# 2. 示例格式化模板
example_prompt = PromptTemplate(
    input_variables=["input", "output"],
    template="原词: {input}\n反义词: {output}"
)

# 3. 创建 MMR 示例选择器
#    使用 FakeEmbeddings(size=128) 模拟嵌入
embedding_model = FakeEmbeddings(size=128)

mmr_selector = MaxMarginalRelevanceExampleSelector.from_examples(
    examples=examples,
    embeddings=embedding_model,
    vectorstore_cls=FAISS,
    k=2,                         # 返回 2 个示例
    fetch_k=5,                   # 先获取 5 个候选再从中做 MMR 筛选
)

# 4. 构建 Few Shot 提示词模板
mmr_prompt = FewShotPromptTemplate(
    example_selector=mmr_selector,
    example_prompt=example_prompt,
    prefix="给出每个输入词的反义词:",
    suffix="原词: {input}\n反义词:",
    input_variables=["input"],
)

# 5. 测试:输入中文情绪词“难过”
print("=== 输入: 难过 ===")
print(mmr_prompt.format(input="难过"))

运行上述代码后,输入“难过”会优先匹配到 高兴/悲伤 这一最相关的示例。第二个示例则可能是 tall/short 或 高/矮 等与情绪无关但能提供其他维度信息的条目,从而实现了多样化的 Few-Shot 示例组合。

代码说明

  • FakeEmbeddings:LangChain 提供的模拟嵌入模型,无需真实 API 即可生成随机向量,便于本地测试和演示。
  • FAISS:Facebook 开源的向量相似度检索库,此处作为向量存储后端。
  • fetch_k:指定 MMR 从向量库中初筛的候选数量。适当增大 fetch_k 可以给 MMR 提供更大的选择空间,但也会增加计算开销。
  • MaxMarginalRelevanceExampleSelector.from_examples:类方法,接收示例列表、嵌入模型、向量库类和检索参数,返回配置好的 MMR 选择器实例。

适用场景与选型建议

  • 优先选用余弦相似度选择器的情况:示例池规模较小,且每条示例都具有不可替代的独特信息;任务对多样性的要求不高,最相关的一两条示例即可满足需求。
  • 推荐使用 MMR 选择器的情况:示例池中包含大量语义重复或中英对照的“冗余”样本;希望用较少的 K 值覆盖更多的语义方向,提高提示的泛化能力。
  • 参数调优建议:fetch_k 通常设置为 k 的 2~3 倍,以平衡多样性与计算效率。若示例池高度同质化,可适当增大 fetch_k 并调高 λ 值(默认 0.5),以加强多样性惩罚。

API 速览

MaxMarginalRelevanceExampleSelector

所属库:langchain_core.example_selectors

类方法:from_examples

方法签名:

from_examples(
    examples: List[dict],
    embeddings: Embeddings,
    vectorstore_cls: Type[VectorStore],
    k: int,
    fetch_k: int,
    **kwargs
) -> MaxMarginalRelevanceExampleSelector

参数说明:

  • examples:示例列表,每个元素为包含输入输出字段的字典。
  • embeddings:嵌入模型实例,用于将文本转换为向量。
  • vectorstore_cls:向量库类,需实现 from_texts 和 similarity_search 方法。
  • k:最终返回的示例数量。
  • fetch_k:从向量库中初筛的候选数量。

返回值:配置完成的 MaxMarginalRelevanceExampleSelector 实例。

Demo 示例

基于上述核心代码,可构建一个完整的 HTML 界面来演示 MMR 选择器与余弦相似度选择器的效果差异。以下为简化版 Flask 后端示例:

from flask import Flask, request, jsonify
from langchain_core.example_selectors import MaxMarginalRelevanceExampleSelector, SemanticSimilarityExampleSelector
from langchain_community.embeddings.fake import FakeEmbeddings
from langchain_community.vectorstores import FAISS

app = Flask(__name__)

examples = [
    {"input": "happy", "output": "sad"},
    {"input": "高兴", "output": "悲伤"},
    {"input": "sunny", "output": "gloomy"},
    {"input": "晴朗", "output": "阴沉"},
    {"input": "tall", "output": "short"},
    {"input": "高", "output": "矮"},
]
embedding_model = FakeEmbeddings(size=128)

@app.route("/select", methods=["POST"])
def select_examples():
    data = request.json
    query = data.get("query", "")
    selector_type = data.get("selector_type", "mmr")
    
    if selector_type == "mmr":
        selector = MaxMarginalRelevanceExampleSelector.from_examples(
            examples=examples,
            embeddings=embedding_model,
            vectorstore_cls=FAISS,
            k=2,
            fetch_k=5
        )
    else:
        selector = SemanticSimilarityExampleSelector.from_examples(
            examples=examples,
            embeddings=embedding_model,
            vectorstore_cls=FAISS,
            k=2
        )
    
    selected = selector.select_examples({"input": query})
    return jsonify(selected)

if __name__ == "__main__":
    app.run(debug=True)

运行说明:保存为 app.py,执行 python app.py 启动服务。发送 POST 请求至 /select,携带 JSON 参数 {"query": "难过", "selector_type": "mmr"} 即可获取选择结果。

技术点总结:

  • MMR 与余弦相似度选择器的对比实现。
  • FAISS 向量库的本地化部署与使用。
  • 基于 Flask 的轻量级 API 封装。

参考文档

官方文档:

参考链接:

总结

MMR 示例选择器是余弦相似度选择器的有力补充,它通过引入多样性惩罚机制,有效避免了示例同质化问题。

在示例池庞大且存在大量相似样本的情况下,MMR 能够以更少的示例数量提供更全面的参考信息,从而进一步提升大模型 Few-Shot 学习的效率与效果。

AI应用开发核心技术栈解析:从RAG、Agent到LangChain与LangGraph实战 如果你正在准备AI大模型相关的面试,或者想从传统开发转向AI应用开发,那么你很可能正被这几个问题困扰: Agent、RAG、LangChain、LangGraph 这些概念听起来很酷,但面试官一问“它们之间到底什么关系?在项目中怎么用?”,脑子里就一片混乱,只能背几个名词。 网上教程要么是零散的“Hello World”,要么是过于学术的论文解读, 缺少一个能串联所有技术栈、直击面试核心的实战路线图 。 知道这些技术重要,但不知道如何向面试官证明自己“不仅懂概念,更有落地能力”,缺少能拿得出手的、有深度的项 阅读详情

相关推荐

基于Google Generative AI与LangChain构建智能问答机器人实战指南

大语言模型(LLM)作为当前人工智能领域的核心技术,通过海量数据训练获得了强大的语言理解和生成能力。其工作原理基于Transformer架构,通过自注意力机制捕捉文本中的长距离依赖关系。在工程实践中,LLM的价值在于能够将通用语言能力转化为解决特定业务问题的工具,广泛应用于智能客服、文档分析、自动化工作流等场景。然而,直接使用原始模型往往面临缺乏领域知识、无法调用外部工具等局限。检索增强生成(RAG)技术通过结合外部知识库,有效弥补了模型在特定领域信息上的不足,是构建专业应用的关键。本文以金融领域为例,详细

weixin_33727510的博客 342

AI大模型应用开发实战:从Transformer到RAG、Agent与微调部署

Transformer架构作为现代大语言模型(LLM)的基石,通过自注意力机制实现了对长序列数据的高效并行处理,奠定了自然语言处理(NLP)技术的新范式。其核心原理在于编码器-解码器结构,能够有效捕捉文本中的上下文依赖关系,从而支撑起从文本理解到内容生成的各类任务。在工程实践中,基于Transformer的模型催生了检索增强生成(RAG)和智能体(Agent)等关键技术。RAG通过结合外部知识检索与大模型生成,有效缓解了模型的“幻觉”问题,提升了回答的准确性与时效性,是构建可靠知识库问答系统的核心。Agen

weixin_33912246的博客 471

LangChain工程化实践:从RAG到Agent的确定性交付

LangChain并非传统AI框架,而是面向大语言模型应用的工程化DSL与运行时环境,其核心价值在于将非确定性的LLM能力封装为可测试、可监控、可调度的确定性软件单元。依托LCEL表达式语言、Runnable抽象与Callback回调机制,它系统性解决上下文管理、工具调用与状态追踪三大落地难题。在RAG场景中,通过语义分块、MMR检索与熔断降级保障响应可靠性;在Agent架构下,借助Plan-and-Execute范式与结构化Action协议实现动态决策闭环。本文聚焦生产级落地,覆盖ChromaDB向量库优

congtaixiao7151的博客 310

RuView Memory Coordinator Agent:多 Agent 系统的持久化记忆协调机制解析

在 RuView 这个以 WiFi 射频感知为核心的大型多 Agent 开发仓库中,`.claude/agents/templates/` 目录定义了一整套可复用的协调型 Agent 模板,其中 `memory-coordinator` 是负责"让 Agent 拥有跨会话记忆"的核心角色:它定义了持久记忆的五大操作(存储、检索、搜索、删除、同步)、三类命名空间模式(项目上下文、Agent 协作、学

gitblog_00347的博客 360

LangChain 0.1.0稳定版深度解析:从AI实验框架到生产级工程底座

LangChain作为主流开源AI框架,其核心价值已从简单的大模型调用演进为构建高可用、可观测、可运维的AI系统。本文围绕LangChain 0.1.0稳定版展开,剖析其基于Runnable接口的模块化架构设计原理,揭示异步流式处理、标准化错误体系与结构化Memory等关键技术如何提升系统稳定性与工程鲁棒性。该版本通过解耦协议层(langchain_core)与实现层(langchain_openai/langchain_community),显著增强多模型协同、故障降级与CI/CD集成能力,广泛适用于智能

weixin_34356555的博客 425

从零搭建AI应用:大模型本地部署、RAG与微调实战指南

最近在尝试将大模型应用到实际业务中时,发现从本地部署、知识库构建到应用开发,每一步都充满了挑战。网上的资料要么过于零散,要么只讲理论缺乏实操,很难形成一套完整的落地闭环。本文将系统性地梳理从大模型本地部署、构建RAG知识库、进行模型微调,到使用Dify搭建AI应用的全流程实战方案。无论你是想入门AI应用开发的学生,还是需要在项目中集成智能能力的工程师,都能从本文中找到可直接复现的代码、配置和避坑指南。 1. AI大模型技术栈全景与核心概念 在深入实操之前,我们需要对当前AI大模型应用开发的核心技术组件有一个

404

MemOS 本地插件分层检索算法全解析:从 V7 设计文档到 ranker 实现

MemOS 的 `apps/memos-local-plugin` 插件中,`core/retrieval` 模块把 V7 算法设计文档(`apps/memos-local-openclaw/算法设计_Reflect2Skill_V7_核心详解.md`)中的"分层记忆检索"(V7 §2.6)逐条映射为可运行的 TypeScript 代码。本文以 [core/retrieval/ALGORITHMS

gitblog_00010的博客 159

搜广推面试:从机器学习基础到系统架构的实战指南

机器学习与深度学习是人工智能的核心基石,其原理在于通过数据驱动的方式让计算机自动学习规律。理解模型结构、优化算法与损失函数的设计,是实现精准预测和智能决策的技术关键。在搜索、广告、推荐等大规模工业场景中,这些技术的价值在于将复杂的用户行为与业务目标转化为可建模、可优化的工程问题。例如,通过因子分解机(FM)等模型处理稀疏特征组合,或利用双塔模型进行高效的向量化召回,都是解决海量数据下精准匹配的典型应用。本文聚焦于搜广推领域的面试实战,系统梳理了从机器学习基础、排序模型原理到推荐系统架构与特征工程的完整知识体

weixin_30383279的博客 298

LangChain框架解析:从RAG到Agent,构建大模型应用的核心组件与实践

大语言模型(LLM)作为当前人工智能的核心技术,其强大的理解和生成能力为应用开发带来了新的范式。然而,直接调用模型API往往面临提示词工程、上下文管理、外部数据集成等复杂挑战。为了高效构建由大模型驱动的应用程序,开发者需要一套标准化的框架来处理模型I/O、记忆、检索和工具调用等通用任务。LangChain正是为此而生的开发框架,它通过组件化设计,将复杂的AI应用构建过程抽象为可复用的模块。在工程实践中,LangChain的核心价值在于其编排能力,能够将检索增强生成(RAG)架构与智能体(Agent)工作流无

weixin_30654419的博客 354

从零构建AI大模型应用:基于RAG与LoRA的金融问答机器人实战指南

想学AI大模型,但被“Transformer架构”、“LoRA微调”、“RAG检索”这些术语劝退?看到GitHub上动辄80K星标的项目,感觉无从下手,不知道从哪一行代码开始? 你不是一个人。绝大多数开发者在接触大模型时,都会陷入一个误区:认为必须从底层数学和复杂论文开始。实际上,对于应用开发者而言,真正的起点是“用起来”。今天要聊的这个项目,正是击中了这个痛点——它不是一个高深莫测的研究库,而是一个为开发者、尤其是新手量身定制的“AI大模型应用开发实战指南”。它之所以能获得海量星标,核心原因不是技术最前沿

482

AI训练师考前7天速通手册|100必背考点+100必刷题2026版

7天说长不长,说短不短。只要每天坚持,按计划走完这100个考点和100道题,通过考试绝非难事。记住,人工智能训练师考察的不仅是知识记忆,更是实践能力和解决问题的思维。相信自己的努力,放平心态,正常发挥就好。祝各位考生考试顺利,一次拿证!💡 系列导览:本系列共7篇,按「4篇模块突破 + 2套综合检测 + 1个冲刺利器」架构设计,覆盖人工智能训练师三级考试全部11个模块核心内容,从基础到冲刺,系统化备考。数据工程全流程真题35题模型生命周期真题40题大模型应用真题40题部署与工程化真题35题。

白话机器学习 640

ruflo AgentDB 语义向量检索实战指南:从向量库初始化到 RAG 与 MCP 全链路落地

本篇文章围绕 ruflo 仓库内 `.claude/skills/agentdb-vector-search/SKILL.md`(同名副本亦位于 [plugin/skills/agentdb-vector-search/SKILL.md](https://link.gitcode.com/i/46310c236e48e658d6ddec931de3fb16) 与 `v3/@claude-flow/

gitblog_00952的博客 484

关于并网继电器的继电器自检逻辑及实现方式

对于常规的光伏并网逆变器来说,继电器控制至关重要。继电器一般位于逆变电感后,共模电感前,用于将逆变电压与电网电压脱开,一般国外有双继电器的安规强制认证要求,国内目前只需要单继电器要求(后续应该会有双继电器要求,个人感觉)

weixin_29982209的博客 2618

ruflo AgentDB 向量检索实战:从 CLI 到 RAG 的子毫秒级语义搜索全链路

本文以 ruflo 仓库中的 [AgentDB Vector Search 技能文档](https://link.gitcode.com/i/111b5a31ef821ca54d5a63155fd99929) 为核心,系统讲解如何基于 AgentDB 构建语义向量检索:包括向量库的初始化与维度配置、CLI 查询参数、TypeScript API 的存储与 MMR 检索、RAG 与批量写入模式、MC

gitblog_00414的博客 143

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

【软路由】旁路由使用配置教程

【软路由】旁路由使用配置教程简介旁路由好处旁路由配置步骤1、修改管理地址网段 简介 我们都知道,软路由一般有两种使用方式,一种是作为承担DHCP分配的主路由,而另一种就是作为不承担DHCP分配功能的旁路由使用。今天就来介绍如何将软路由配置成为旁路由。 旁路由好处 旁路由最大的好处就是它不承担DHCP分配任务,这意味着它的对网络的影响极小。即使突然故障也不会导致整个网络瘫痪。更别提软路由的配置复杂,用户可能还经常修改上面的网络配置,一旦出错就是整个网络瘫痪,如果家中还有其他人使用网络,影响实在是不好。 建议有

博客 4万+

LangChain实战:构建具备RAG与工具调用能力的智能体应用

在人工智能应用开发领域,大语言模型(LLM)作为核心“大脑”,其能力正通过特定技术框架得到极大扩展。其工作原理在于,通过标准化的接口和组件,将模型与外部数据、计算工具进行连接与编排,从而构建出能够执行复杂任务的智能系统。这种模式的技术价值在于,它有效解决了大模型固有的知识局限性和“幻觉”问题,使其能够基于最新、准确的私有数据进行推理,并具备自主规划和使用工具的能力。典型的应用场景包括智能客服、数据分析助手和自动化报告生成等。本文将以一个股票分析助手为例,深入讲解如何利用LangChain框架,结合RAG(检

weixin_33827731的博客 414

SMPLify-X关键点映射与OpenPose格式转换实战

本文深入解析了SMPLify-X与OpenPose之间关键点映射与格式转换的实战方法。针对SMPL、SMPL-H、SMPLX等参数化人体模型与OpenPose 2D姿态估计标准之间的数据鸿沟,文章详细对比了双方的关键点定义差异,并提供了核心的Python转换代码与映射表构建思路。通过清晰的步骤讲解与调试技巧,帮助开发者实现3D关节数据到OpenPose标准格式的高效、准确转换,为动作捕捉、3D姿态估计等应用奠定数据基础。

weixin_29046035的博客 166

80K星标AI大模型教程:从零构建RAG与LoRA微调实战指南

如果你正在寻找一个能让你从零开始,系统掌握 AI 大模型核心技能的学习路径,那么 GitHub 上这个拥有超过 80,000 星标的开源项目,就是你绝对不能错过的“神级”教程。它不是一个简单的工具集合,而是一套结构清晰、内容全面、从理论到实践、从入门到进阶的完整学习体系,专为希望深入 AI 大模型领域的开发者和学习者设计。 这个项目的核心价值在于,它打破了 AI 大模型学习的“黑箱”感。很多教程要么过于理论化,要么只教你怎么调用 API,而这个项目则带你从环境搭建、模型部署、应用开发、微调训练到项目实战,一

dggnqzt6462的博客 414

迟滞电压比较器电路的原理与计算

迟滞电压比较器是一种具有双阈值特性的电路,通过正反馈机制实现抗噪声干扰功能。文章详细分析了其工作原理,包括同相型和反相型两种结构的电压阈值计算与电阻设计方法,并提供了已知门限求电阻和已知电阻求门限的推导公式。工程应用中需注意输出类型匹配、电阻取值范围、噪声裕量设计等问题。该比较器在信号处理、波形转换等场景中具有重要应用价值,设计时需综合考虑供电电压、参考电压和噪声特性等因素。

硬核科技 2688

YOLOv11改进 | 特殊场景改进篇 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

本文给大家带来的改进机制是2024.3月份最新改进,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下图像的自适应增强。该方法的核心在于能够利用CoT提示对图像退化进行动态分析和适应,从而显著提升物体检测性能。

Snu77的博客 2014

基于开源大模型构建私有化AI应用:从Llama部署到RAG实战

开源大模型通过公开模型架构与权重参数,为开发者提供了可自主研究、修改和部署的AI基础设施。其核心原理在于利用Transformer等先进架构,通过大规模预训练获得通用语言理解能力。这一技术范式打破了闭源模型的技术垄断,显著降低了AI应用门槛,使开发者能够在保障数据隐私的前提下,以可控成本构建定制化智能系统。在实际应用场景中,结合检索增强生成(RAG)技术,可将开源模型与私有知识库深度融合,打造出适用于企业内部助手、学术研究支持等场景的专属AI解决方案。本文以Meta Llama系列模型为例,详细阐述了如何利

weixin_34025151的博客 368

【ArcGIS Pro微课1000例】0073:ArcGIS Pro3.5.2学习版下载及安装教程

ArcGIS Pro 3.5.2安装教程摘要:系统需Windows10及以上,8GB内存(推荐32GB)。安装步骤:1)安装.NET 8.0运行环境;2)执行主程序安装包,按向导完成基础安装;3)安装升级补丁;4)替换AfCore.dll文件并导入注册表。注意安装后删除临时文件节省空间。软件下载地址包含在百度网盘链接。安装过程需依次完成环境配置、主程序安装、补丁更新及破解步骤。

智慧空间实验室 1784

RAG 技术知识点

概念解释RAG(检索增强生成)指:在让大语言模型(LLM)生成答案之前,先从外部知识库(文档、数据库、网页等)中检索与用户问题相关的片段,再把这些片段作为上下文一并输入模型,从而约束模型的输出依据。原理详解离线阶段:把原始文档解析、清洗、分块 → 用 Embedding 模型转成向量 → 存入向量索引(或配合关键词索引)。在线阶段:用户提问 →(可选)查询改写 → 检索 Top-K 相关块 →(可选)重排序 → 将块拼进 Prompt → LLM 基于「问题 + 检索上下文」生成答案。

qq_52269550的博客 447

Vue - 简约大气 404 页面

效果图 实现代码 复制即可。 <template> <div> <div class="error"> <!-- 图片可保存到本地 --> <img src="https://img-blog.csdnimg.cn/20210715111039922.png"> <p>抱歉!你访问的页面不存在或已删除 :( </p> <span class="back" @click="go(

🏆 前端领域优质创作者 3371

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 384

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: AI Agent从无到有31: 根据语义相似度动态选择 Few Shot 示例
下一篇: AI Agent从无到有33: 使用 Partial 实现提示词部分格式化
Wang's Blog
博客等级 码龄12年 7438粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值