当前位置: 首页 > news >正文

Datawhale AI夏令营--构建一个面向应急管理领域的智能问答系统task2

一、目标与基础知识

目标:构建一个面向应急管理领域的智能问答系统,这个系统需要能够理解并回答关于危化品企业、安全生产政策法规的各类问题。这不仅是一个简单的问答机器人,它需要结合结构化的表格数据和非结构的文本数据,为应急管理人员提供快速、准确的决策支持。

通过学习这个 Baseline,你将掌握利用大语言模型(LLM)和检索增强生成(RAG)技术处理混合数据问答任务的基础方法。

面向对象:大语言模型应用开发初学者,需要具备基础的python开发能力,向量计算数学基础。

基础知识:

检索增强生成Retrieval-Augmented Generation,RAG:这是我们Baseline的核心技术。你需要深入理解RAG的工作流程:

检索(Retrieval)->增强(Augmentation)->生成(Generation)。

检索器 Retriever : 了解其作用是从知识库中快速找出与问题相关的文档片段。

生成器 Generator : 通常是一个LLM,负责根据检索到的信息和原始问题生成最终答案。

向量数据库 Vector Database :学习向量数据库是RAG的关键组件,它负责存储文本向量并执行高效的相似性搜索。我们使用的 ChromaDB 就是一个轻量级的向量数据库。

关键概念:相似性搜索 (Similarity Search)。

LlamaIndex 框架:了解这个用于构建 LLM 应用的数据框架。重点掌握 Baseline 中用到的核心组件:

SimpleDirectoryReader : 用于从文件夹加载各种格式的文档。

VectorStoreIndex : 将文档数据构建成可供检索的向量索引。

ueryEngine : 基于索引创建的、用于执行端到端问答任务的引擎。

二、需要让AI分析Word、PDF和Excel文件

赛题解读:输入与输出都是自然解读。

赛事背景

应急管理和安全生产是国家发展的重中之重。随着数据量的激增,传统的人工查询和决策模式效率低下。

AI 技术的引入,特别是大语言模型,为解决“监管难、响应慢”的痛点提供了新的可能。

本次比赛旨在探索如何利用 AI 技术,打造一个智能问答系统,赋能应急管理工作,提升决策效率。

明确赛题的输入输出内容与格式

赛题提供的知识资料,系统回答问题需要从下面两种数据源中寻找答案

1、结构化数据 :17 张关于企业、仓库、设备、作业流程的 Excel 表格。

2、非结构化数据 :22 篇关于法律法规、行业标准的 Word 和 PDF 文档。

数据分析与探索

本次比赛提供了两类核心数据。

  1. 文本数据 :包含 22 篇文档,内容为法律法规、管理办法、行业标准等。这类数据非常适合使用 RAG 技术。我们可以将这些文档切分成小块,用 Embedding 模型计算它们的向量,然后存入向量数据库。当用户提问时,系统可以先检索出与问题最相关的文本片段,再将这些片段作为上下文,交给大语言模型生成最终答案。

  2. 表数据 :包含 17 张 Excel 表格,记录了企业的具体信息,例如企业基本情况、特殊作业记录、设备信息等。这些是结构化数据。要回答涉及这些数据的问题,比如“查询某某企业的数量”,直接使用 RAG 效果不佳。更合适的方法是 Text-to-SQL 或者 Text-to-Pandas,即将自然语言问题转换成可以在表格上执行的查询语句。

Baseline 的局限性 :为了快速搭建一个可运行的系统,我们本次的 Baseline 将 只处理文本数据 。这意味着它能够较好地回答政策、法规、标准类的问题,但 无法回答 需要查询表格数据的统计类问题。认识到这一点,是后续优化的第一步。

赛题要点与难点

要点:混合数据源问答

这是赛题的核心。一个完善的系统必须能够同时理解并利用表格和文本两种数据。

难点一:问题意图识别与路由(Query Routing)

系统需要首先判断一个问题应该去查阅文本知识库,还是应该去查询表格数据,或者两者都需要。这是实现混合数据问答的关键。

难点二:结构化数据查询(Text-to-SQL/Pandas)

如何将“涉及重氮化工艺的企业数量”这样的自然语言,准确地转换成对多张表格进行关联、过滤、计数的查询代码,是一个经典的技术难题。

难点三:RAG 效果优化

文本数据的处理也并非易事。文档的切分策略、Embedding 模型的选择、检索召回的数量和精度,都会直接影响最终答案的质量。

Baseline环境&文件概要

pip install llama-index chromadb openai python-dotenv llama-index-vector-stores-chroma docx2txt notebook

Baseline方案思路

  1. 开始:流程启动。

  2. 加载 .env 配置:读取配置文件(如环境变量)。

  3. 加载所有文本数据:将用于问答的文本数据加载到系统中。

  4. 初始化 Embedding 模型:初始化用于将文本转换为向量表示的模型。

  5. 构建/加载向量数据库:将文本数据通过 Embedding 模型转换为向量,构建或加载已有的向量数据库。

  6. 创建 RAG 查询引擎:基于向量数据库和语言模型,创建用于检索和生成的查询引擎。

  7. 读取 question.csv:从 CSV 文件中读取待回答的问题列表。

  8. 循环处理每个问题:对每一个问题进行如下处理:

  • 使用查询引擎进行查询(检索相关上下文)。
  • 语言模型(LLM)根据检索到的信息生成答案。
  • 保存生成的答案。

9.写入 answer.csv:所有问题处理完毕后,将答案写入 CSV 文件。

10.结束:流程完成。

这个 Baseline 的核心思路是“先解决一部分问题”。我们识别出赛题中有相当一部分问题是关于政策、法规和标准的,这些完全可以通过分析文本数据来回答。因此,我们采用最适合处理文本问答的 RAG 技术。

优点

  • 实现简单,代码逻辑清晰。

  • 能够快速搭建一个可运行的问答系统,并解决一部分问题。

  • 为后续的优化(如引入表格数据处理)提供了一个坚实的基础。

缺点

  • 完全没有利用表格数据 ,这是最大的不足。

  • 对于所有问题都采用相同的 RAG 策略,缺乏针对性的处理。

  • RAG 的效果有很大优化空间,例如文本切割策略、检索器配置等。

    思考题

    能继续从哪些角度更好地理解赛题要求和问题建模?

    Baseline的优点和不足?能从哪些角度来快速调整和上分?

http://www.dtcms.com/a/532747.html

相关文章:

  • 论gRPC:基于 TCP/IP 的通用网络模式,以及基于 Unix Domain Sockets (UDS) 的同机进程间通信 (IPC) 模式
  • C语言习题~day27
  • AI之智能体agent与dify的搭建
  • 哪个网站可以接图纸做哪个行业建设网站的需求多
  • 做微信的网站叫什么米WordPress多重筛选功能
  • C++与Python:内存管理与指针的对比
  • 辽宁专业模板网站建设公司网站开发顶岗周记
  • X红书AI发布助手 - 自动化内容创作与发布工具
  • html5网站建设中模板网站改版 seo
  • 第十章:生态篇 - 构建您的第一个插件生态
  • 大模型MCP原理及实践
  • Keil 5 找不到编译器 Missing:Compiler Version 5
  • 24级移动ui
  • 【系统分析师】高分论文:论软件开发方法及应用(数据中心CMDB 系统)
  • 国内免费商用图片的网站搜索引擎优化特点
  • 算法学习 13
  • 仪表盘美学革命:3分钟打造炫酷可交互指标面板
  • GitHub等平台形成的开源文化正在重塑解热
  • 网络传输过程网络编程
  • 做指甲的网站广州天河区怎么样
  • 做网站买什么服务器吗域名空间结构
  • 做电影网站算侵权吗进出口贸易公司取名大全
  • 深度学习中的正则化(Regularization)详解
  • 数据库的安全与保护
  • 网站不同wordpress加分页
  • FFmpeg 基本数据结构 AVCodecContext分析
  • (全闭环)FUNC_FullCloseLoop
  • 出口外贸网站建设铜川网站建设哪家好
  • Gorm(五)钩子实践
  • 我怎么才能找到免费的VR场景以及用于虚拟人的舞蹈动作?