首页
学习
活动
专区
圈层
工具
发布

怎么短平快地把RAG做好:以厦门银行RAG比赛为例讲解

token数量 表格检测:标记哪些文档包含表格(表格信息在金融监管中很重要) 结构化存储:按文件夹结构保存为JSON格式 具体的实现流程是,我编写了一个脚本来自动化处理整个数据集。...最终,所有解析出的内容,连同文件名、Token长度、是否含表格等元数据,被统一保存为JSON格式的文件,并维持了原有的目录结构,方便溯源和管理。...在比赛期间我使用了两个embedding模型和两个不同窗口大小,然后用来交叉组合来提高检索模型的召回率以及构造不同的输入样本为后续模型融合来做铺垫。...:读取第三步生成的检索文件 格式化内容:取前6个检索结果,格式化为"【参考文档1】\n{内容}"的形式 应用Prompt模板:根据题目类型选择对应的prompt 组合训练样本:{prompt + 检索内容...RAG没有标准答案,更加考验是我们面对不同的任务能够灵活变通的能力,也不要从头开始来,建议可以快速基于已有脚手架能够进行改造,发现问题解决问题。

58410

在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升

三种数据增强策略包括: 添加噪声:对原始样本中的词,以一定的概率(如0.1)替换为”UNK”标签 同词性词替换:对原始样本中的所有词,以一定的概率(如0.1)替换为本数据集钟随机一个同词性的词 N-sampling...:从原始样本中,随机选取位置截取长度为m的片段作为新的样本,其中片段的长度m为0到原始样本长度之间的随机值 具体效果在下一节展现,先安装好paddleslim库 4.基于ERNIR3.0文本模型微调 加载已有数据集...**dataset_dir**:本地数据集路径,数据集路径中应包含train.txt,dev.txt和label.txt文件;默认为None。.../checkpoint2 4.1 加载自定义数据集(并通过数据增强训练) **从本地文件创建数据集** **使用本地数据集来训练我们的文本分类模型,本项目支持使用固定格式本地数据集文件进行训练** 如果需要对本地数据集进行数据标注...**这个放到下个项目讲解** 本项目将以CBLUE数据集中医疗搜索检索词意图分类(KUAKE-QIC)任务为例进行介绍如何加载本地固定格式数据集进行训练: **本地数据集目录结构如下:** data/

51400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AI界的“四大天王”:AIGC、RAG、Agent、MCP,你pick谁?

    一、前言 哈喽大家好,我是老周聊架构的主理人老周。今天我们来聊下AI相关的一些知识点。 为啥老周会写这篇文章?...是因为我前几天看到一个报告,报告显示,大部分人还只是停留在简单与模型对话,甚至只有2%的人开发过智能体,更离谱的是30%多仅仅是听说过。表明整体AI技能基础相对薄弱。...RAG的工作原理: 检索(Retrieval): 系统首先识别用户查询中的关键词,并使用一个检索模型在大型数据集(如文档库、数据库或互联网)中查找与查询最相关的文本片段。...并且不同的平台之间的协议可能不同; M×N 问题”:每新增一个工具或模型,需重新开发全套接口,导致开发成本激增、系统脆弱; 功能割裂:AI 模型无法跨工具协作(如同时操作 Excel 和数据库),用户需手动切换平台...本地数据源:本地的文件、数据库和 API。 远程服务:外部的文件、数据库和 API。

    1K33

    Obsidian MCP 全流程搭建:从插件安装到智能体精准调用

    Qwen3-235B-A22B 我们和它对话 我现在有个智能体,叫做obsidian小助手,通过调用obsidian mcp进行本地的obsidian仓库中的文件进行检索操作,你帮我生成一个智能体提示词把...结果按数据时间戳排序 **场景2:写作辅助** 用户:"正在撰写关于认知科学的文章,需要调取所有涉及'心流'概念的笔记,并显示它们的双向链接网络" → 你应: 1....**权限边界**:仅操作用户明确授权的指定知识库目录 2. **隐私保障**:所有处理在本地完成,不存储/上传任何数据 3. **操作安全**:写操作需二次确认,保留操作日志供审计 4....这里先试探性的询问下ai 你能看到我们obsidian当前仓库下的文件么 可以看到他这里发送了一个请求,随后他确实反馈了本地的仓库的文件 然后他进行访问了我的这个项目文件 我们对...,还能进行文件的创建 我们对ai说 你根据如何使用C++进行http协议的搭建这个话题,帮我写一篇文章,格式为md格式的,然后在我本地的obsidian仓库创建这么一个文件, 他这里显示successfully

    1.8K10

    MateChat 智能应用:落地实践与创新探索之给企业CRM系统嵌入MateChat智能助手

    ,支持企业私有模型接入,数据可本地闭环,满足敏感行业合规要求; MateChat 旨在让企业无需投入大量研发资源,就能快速拥有“懂业务、能干活”的智能助手。...在嵌入MateChat之前,我们先梳理了销售团队的核心诉求,这些也是很多B端业务系统的共性问题: 信息查询“绕远路”:销售跟进客户时,想查“客户A近3个月的订单金额”“客户B的历史投诉记录”,需要从“客户列表...文件的LLM_MODELS配置中填充自己申请的apiKey可使用模型进行对话,如果大家需要接入其他模型,可参考LLM_MODELS的配置自行补充。...customerId=${customerId}&timeRange=${timeRange}`); return res.json(); }; 在src/hooks/useChat.ts中添加对话拦截...知识检索+AI总结(对接CRM知识库) 将企业产品手册、客户服务话术库上传到向量数据库(如Pinecone),通过MateChat的RAG能力,让AI能精准检索并总结知识: // 新增RAG处理逻辑 const

    30410

    使用 LlamaIndex、Elasticsearch 和 Mistral 进行检索增强生成(RAG)

    在这篇文章中,我们将探讨如何使用Elasticsearch作为向量数据库,结合RAG技术(检索增强生成)来实现问答体验。我们会使用LlamaIndex和一个本地运行的Mistral LLM模型。...场景: 我们有一个虚构的家庭保险公司呼叫中心对话的样本数据集(作为一个JSON文件)。我们将构建一个简单的RAG应用,它可以回答如下问题: 给我概述一下与水有关的问题。...索引数据 下载conversations.json文件,其中包含了我们虚构的家庭保险公司的顾客和呼叫中心代理之间的“对话”。...在创建查询引擎时,我们引用了应该用于响应的本地LLM,我们还提供了(similarity_top_k=10)来配置应该从向量存储中检索并发送到LLM以获得响应的文档数量。...在这篇文章中,我们使用了一个本地LLM,在即将推出的关于RAG中屏蔽PII数据的帖子中,我们将探讨如何从本地LLM轻松切换到公共LLM。

    3.1K62

    AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 本地与云知识库实践

    简介: github项目地址: 学术分析AI应用 一、需求分析 需求场景 :需精准学术引用或数据支撑 需求特征 分析结果需附带具体文献来源(如 “论证‘注意力机制提升模型效率’时,需引用某篇论文的实验数据...2.3 步骤3:文档过滤和检索(找到“与问题最相关的知识”) 该步骤的目标是从向量数据库中,精准定位与用户问题匹配的知识片段,分为4个关键操作:查询处理:用与“文本片段转换”相同的Embedding模型...,将用户的问题也转化为向量;过滤机制:通过元数据(如文档发布时间、类型)、关键词等初步筛选,缩小检索范围(例如仅检索“2024年医疗政策”相关文档);相似度搜索:使用余弦相似度、欧氏距离等算法,在向量数据库中检索与...(文本)、ResNet(图像)向量数据库专门存储、检索高维向量的数据库,优化了相似性搜索效率,支持快速定位语义相近的向量召回(Recall)信息检索的第一阶段,从大规模数据中快速筛选“可能相关”的候选集...:JSON、HTML、Text、md、PDF、TIka导入依赖我存储的文件为md,所以导入的是markdown,可以按需修改

    78021

    在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升

    三种数据增强策略包括: 添加噪声:对原始样本中的词,以一定的概率(如0.1)替换为”UNK”标签 同词性词替换:对原始样本中的所有词,以一定的概率(如0.1)替换为本数据集钟随机一个同词性的词 N-sampling...:从原始样本中,随机选取位置截取长度为m的片段作为新的样本,其中片段的长度m为0到原始样本长度之间的随机值 模型剪裁,基于 PaddleNLP 的 Trainer API 发布提供了模型裁剪 API...dataset_dir:本地数据集路径,数据集路径中应包含train.txt,dev.txt和label.txt文件;默认为None。 task_name:训练数据集;默认为"KUAKE-QIC"。.../checkpoint2 4.1 加载自定义数据集(并通过数据增强训练) 从本地文件创建数据集 使用本地数据集来训练我们的文本分类模型,本项目支持使用固定格式本地数据集文件进行训练 如果需要对本地数据集进行数据标注...[这个放到下个项目讲解] 本项目将以CBLUE数据集中医疗搜索检索词意图分类(KUAKE-QIC)任务为例进行介绍如何加载本地固定格式数据集进行训练: 本地数据集目录结构如下: data/ ├── train.txt

    48120

    前后端数据对接的思考及总结

    但大都使用jsonp跨域接口调用的方式来达到分离效果,后端所有的接口都是可跨域调用的jsonp形式,抛开需要登录的授权之外的接口,前端在开发的时候本地无需开启服务即可调用服务端接口,然后渲染数据,完成页面交互渲染效果...,前端都是需要在页面端写死HOST+IP接口地址,存在很重大一个弊端就是前端需要些config文件,来配置我们后端的接口请求地址,如果前端工程师规范意识强一点,会通用到一个配置文件里,但是如果没有这方面的意识的话...后端在开发接口时,我觉得主要从以下几个方面需要注意: 接口url 定义 接口类型、参数 全局错误码定义 接口json格式 接口文档编写 接口url定义 对于后端开发人员来说,接口前端入参,最终组合查询数据库资源..... ] 这里所说的json格式固定主要针对此种情况,后端给到前端的接口格式必须是固定的,所有动态数据值都需相应的key与之对应 2、所有返回接口数据需直接可用,越简单越好 后端提供给前端的接口数据,最终交给前端的工作...做网页处理流程和数据检索自动化,curl可以祝一臂之力。

    3.5K30

    NotebookLM —— 开源平替:将文档变成交互式播客的知识引擎

    在线服务 可本地部署,数据完全在内网 文档隐私 文档上传至 Google 服务器 文档永不离开你的电脑 成本 免费(有用量限制) $0 (仅需本地算力) TTS 引擎 Google Cloud Text-to-Speech...你拥有你的数据、你的模型、你的整个知识处理流程。你可以把它嵌入到你的个人知识库系统中,也可以部署在公司内部,作为员工的学习平台。...三、真实使用体验:把一本技术手册变成一场对话 背景:我最近在学习 Kubernetes,官方文档非常全面但也异常冗长。我想找一种更轻松的方式来掌握核心概念。...在关键或复杂的概念处,“提问者”会介入,提出诸如“Pod 和 Deployment 有什么区别?”这样的问题。 “讲解者”再基于向量数据库检索到的相关原文,给出清晰、准确的回答。...深度交互式问答 基于源文档:所有问答都严格基于你上传的文档,杜绝幻觉。 引用溯源:在 Web UI 中,每个回答下方都会显示原文片段和页码。

    1.5K30

    【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)

    关于文生图/图生图可参考我之前的文章 首先,采用对比学习方法,基于vit(Vision Transformer)对文本与图片的语义关系进行学习 其次,创建用于分类任务的数据集 最后,对于未曾见过的图片进行分类...2.3 应用场景 多领域识别:在需要识别新出现或罕见类别的场景中,如生物学的物种识别、新出现的商品分类、或者在没有直接训练样本的艺术作品分类,ZSL能通过预先定义的语义描述来识别新类别。...智能检索:用户可以使用自然语言描述来检索特定的图像内容,即使该图像类别未在训练集中出现,例如在大规模图像库中的视觉搜索应用。...image_processor ( BaseImageProcessor ) — 管道将使用的图像处理器来为模型编码数据。此对象继承自 BaseImageProcessor。...使用文中的2行代码极简的使用计算机视觉中的零样本图片分类(zero-shot-image-classification)模型。

    1.2K10

    代谢组学—Metabolomics Workbench数据库介绍

    Notebook 支撑分析:通过 Binder 启动 Jupyter Notebooks,便于用户分析 NMDR 中的研究数据,也可浏览 JSON 格式的 mwTab 文件数据资源与研究实践研究浏览与检索...:支持按物种、样本类型、疾病关联等维度筛选研究,并提供一键检索功能(包括代谢物本身与其在研究中的表现)数据引用规范:使用者引用 NMDR 数据时,需提供 Project ID 和 DOI(可在项目概要页面查到...Database):是代谢物知识库,主要是代谢物本身的信息(化学、通路、浓度),而 MW/MetaboLights 更偏向于实验数据3.实践以“ST002318”为例,业务提供了数据集的基本介绍,样本信息以及各种形式的文件下载文件下载...局限:功能有限、灵活度低,通常只用于初步探索Show all samples:显示该 study 下所有样本的元信息(metadata):包括样本编号、分组信息(比如处理 vs 对照)、样本类型(细胞/...Download named metabolite data:下载一份表格(通常是 TSV/CSV),包含所有已命名代谢物在各样本中的定量值,用处:最推荐下载这个文件,它就是可直接导入 R(MetaboAnalystR

    2.3K11

    扔掉笨重的 ELK,这套轻量级日志收集方案太火了!

    Loki 的核心特性 高效存储与查询:Loki不直接存储日志的完整内容,而是将日志内容存储在对象存储(如AWS S3、Azure Blob Storage、本地文件系统等)中,仅在Loki中存储日志的索引信息...标签索引机制:Loki使用类似Prometheus的标签索引机制来存储和查询日志数据,这使得它能够快速地进行分布式查询和聚合,而不需要将所有数据都从存储中加载到内存中。...Promtail Promtail 作为Loki的日志采集代理,Promtail负责从本地文件、容器日志等来源采集日志数据。...Ingester还负责处理日志数据的查询请求,从内存中或存储系统中检索日志数据并返回给Querier。 Querier Querier负责处理日志数据的查询请求。...Compactor会定期扫描存储系统中的索引文件,将多个小的索引文件合并成一个大的索引文件,并删除过期的日志数据。

    19010

    Prometheus TSDB存储原理

    本文不涉及远程存储接口内容,主要介绍Prometheus 时序数据的本地存储实现原理。 什么是时序数据?...来标识时间,这样构成了一个完整的时序数据样本。...Head中样本的生命周期 当一个样本传入时,它会被加载到Head中的active chunk(红色块),这是唯一一个可以主动写入数据的单元,为了防止内存数据丢失还会做一次预写日志 (WAL)。...因此,当stombstone序列超过某些百分比时,需要从磁盘中删除该数据。 如果样本数据值波动非常小,相邻两个Block中的大部分数据是相同的。...因此必须得有一个合并的上限,,这样块就不会增长到跨越整个数据库。通常我们可以根据保留窗口设置百分比。 如何从大量的series中检索出数据?

    2.3K30

    OceanBase SeekDB:AI 原生数据库的技术革命与实践指南

    一、AI 时代的数据库范式跃迁:SeekDB 的诞生背景 1.1 传统数据架构的致命瓶颈 生成式 AI 的爆发式增长正在重塑企业的数据处理逻辑,但 MIT 研究显示,超 95% 的企业 AI 项目因三大核心问题难以落地...在金融反欺诈、政务智能响应等关键场景中,这些问题尤为突出 —— 当需要同时处理交易标量数据、用户行为文本、设备位置 GIS 信息与历史欺诈样本向量时,传统架构需串联关系型数据库、搜索引擎、向量库等多套系统...这一数据背后,是企业对 “数据 ×AI” 融合架构的强烈渴求 —— 既需要数据库具备传统事务一致性,又需原生支持 AI 时代的多模检索与实时推理。...传统架构中,这些数据通常分散在 MySQL(标量)、Elasticsearch(文本)、Milvus(向量)、MongoDB(JSON)等系统中,而 SeekDB 通过重构存储层,采用分层列式存储结构实现了多模数据的原生融合...,将数据量压缩至原规模的 1%-5%; 粗排阶段:采用基于 IVF(倒排文件)的向量检索算法,在候选集中快速匹配 Top-K 相似结果,耗时控制在毫秒级; 精排阶段:融合文本语义相似度、空间距离与标量权重因子

    78910

    GitHub 12w Star神器!一文详解大模型集成框架LangChain

    多模型支持 通常需为不同供应商的API编写适配代码 统一接口,轻松切换或组合不同模型(如OpenAI、Anthropic、Hugging Face等) 外部数据集成 需自行实现数据加载、处理、向量化与检索逻辑...内置RAG(检索增强生成) 等强大支持,可轻松连接PDF、数据库、API等外部数据源 上下文管理 需手动管理对话历史,易超出Token限制 内置Memory组件,灵活管理短期和长期记忆,维持连贯对话...) 松耦合(协议通信) 复用性 仅当前 Agent 可用 多个 Agent 可共享 更新维护 修改需重新编译 Agent 修改需重新编译 Agent 独立更新 性能 本地调用,极快 需要网络/IPC通信...系统复杂性高:需维护检索、向量数据库等多个组件,比直接调用API复杂得多。 上下文窗口受限:检索内容会消耗宝贵的上下文窗口,可能挤占大模型的推理空间。...检索器本身不存储数据,而是通过查询向量数据库,并集成重排序、多路检索等高级逻辑,最终返回相关的文档片段。 # # 加载txt文件 text_loader = TextLoader(".

    2.7K11

    从零到一:利用社区数据,LoRa微调与Spring AI 构建私有化千问模型

    为了展示整体效果,我多次运行相同的文档,最终凑足了2000多个数据样本。不过,这样的做法肯定存在一定问题。...如图所示:接下来,我们只需将数据集上传至指定位置,并根据需要调整相关文件目录设置,具体操作步骤如下图所示:代码只需简单修改数据集地址,由于数据集包含多个 JSON 文件,因此需要在加载所有文件后进行合并...存储所有加载的 JSON 数据all_data = []# 遍历所有 JSON 文件并加载它们for json_file in json_files: print(f"正在加载: {json_file...这些数据库版本均被纳入支持范围,确保迁移过程中的兼容性和稳定性。如果你希望将可视化的WEB页面暴露出来进行访问,首先需要根据部署文件的要求操作。...每个步骤都严格按照指南执行,以确保顺利完成配置和启动,具体流程请参见下图所示:我们通过命令行形式来展示效果,具体情况请参考下方截图:成功完成上述步骤后,接下来我们可以直接访问本地的 6006 端口,访问地址为

    80210

    MySQL同步ES的6种方案!

    大家好,我是苏三,又跟大家见面了。 引言 在分布式架构中,MySQL与Elasticsearch(ES)的协同已成为解决高并发查询与复杂检索的标配组合。...然而,如何实现两者间的高效数据同步,是架构设计中绕不开的难题。 这篇文章跟大家一起聊聊MySQL同步ES的6种主流方案,结合代码示例与场景案例,帮助开发者避开常见陷阱,做出最优技术选型。...数据一致性风险:若ES写入失败,需引入补偿机制(如本地事务表+定时重试)。 方案二:异步双写 场景:电商订单状态更新后需同步至ES供客服系统检索。 我们可以使用MQ进行解耦。...缺陷: 消息堆积:突发流量可能导致消费延迟(需监控Lag值)。 顺序性问题:需通过分区键保证同一数据的顺序消费。 方案三:Logstash定时拉取 场景:用户行为日志的T+1分析场景。...无 高 高并发生产环境 DataX 小时级 无 中 历史数据迁移 Flink 毫秒级 低 极高 实时数仓 苏三的建议: 若团队无运维中间件能力 → 选择Logstash或同步双写 需秒级延迟且允许改造

    2.5K11

    Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL

    Web 平台,可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图。...Kibana 中可以正确检索出来,Elasticsearch 及 Spring-Boot 项目底层需要 Java 环境,所以需要提前本地安装好 Java 环境,这里忽略 Java 安装过程。...Logstash 做日志收集,格式化处理后自动输出到本地 Elasticsearch 中存储,最后通过 Kibana 检索索引通过 Web 页面展示出来。...创建完毕,我们就可以在 Kibana 中筛选并显示日志了,比如我增加了 message 字段,过滤完后,就显示出来上边工程示例代码中的各种类型日志以及异常日志了,非常直观方便! ?...原样配置到 Elasticsearch 索引中去了,但是我在后台 Logstash 控制台日志中可以明显看到,打印的每条 Json 串中是有该字段的呀!各种搜索,发现大家也是这么配置的呢!

    4K21
    领券