精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

RAG系列:系統評估 - 構造QA測試數據集

人工智能
RAG 系統的問答效果是好還是壞是需要經過評估的,而評估就需要高質量的 QA 測試數據集,所謂的 QA 測試數據集,就是一份包含“問題-回答”的測試數據集合。部分系統(如客服系統)是有這方面數據的,但絕大多數情況下是沒有的,這時就需要首先構造一批問答數據,這是后續對每一步優化進行驗證的基礎。

引言

在 RAG系列:基于 DeepSeek + Chroma + LangChain 開發一個簡單 RAG 系統 中,我們搭建了一個基礎版的 RAG 系統,實現了文檔解析和切分 -> 文檔向量化存儲 -> 用戶輸入問題 -> 根據問題檢索相關知識 -> 將檢索到的知識和原問題重新組合成 prompt -> 最后 LLM 根據增強后的 prompt 給出答案。

構造一個基礎版的 RAG 系統是非常簡單的,借助 LangChain 等框架可快速搭建出完整流程,代碼也不會很多,但基礎版的問答效果往往比較差,無法直接在實際業務中應用。

在 RAG系列:一文讓你由淺到深搞懂RAG實現 中,我們將 RAG 系統主要分為問題理解、檢索召回以及答案生成這三個模塊。

圖片

要做出一個問答效果更好的 RAG 系統,往往需要結合實際業務場景對這三個模塊進行獨立優化。

下面這張圖是 OpenAI 介紹的 RAG 優化經驗,這個準確率隨不同的數據集會有不同,但基本上優化后的準確率比優化前有顯著提升這個基本上是一致的。

圖片

RAG 系統的問答效果是好還是壞是需要經過評估的,而評估就需要高質量的 QA 測試數據集,所謂的 QA 測試數據集,就是一份包含“問題-回答”的測試數據集合。部分系統(如客服系統)是有這方面數據的,但絕大多數情況下是沒有的,這時就需要首先構造一批問答數據,這是后續對每一步優化進行驗證的基礎。

本文將會使用多鯨教育研究院所發布的《2024少兒編程教育行業發展趨勢報告》作為文檔來構造 QA 測試數據集 ,后續也會圍繞針對這個文檔的問答效果優化展開。

本文使用通過 ollama 部署 qwen2.5:14b 模型來對《2024少兒編程教育行業發展趨勢報告》這個文檔進行 QA 測試數據集的構造和質檢。

QA 測試數據集構造包含如下3個步驟:

  • 文檔解析與切分:這部分就是對文檔進行解析和切分;
  • 文檔片段 QA 構造:這部分就是讓 LLM 根據文檔片段構造 QA;
  • QA 質量打分:這部分就是讓 LLM 再次對構造的 QA 進行質量評估。

QA 測試數據集已經構造好放在代碼庫里,大家可以直接使用:

https://github.com/laixiangran/ai-learn/blob/main/src/app/data/qa\_test.xlsx

本文的代碼地址:

https://github.com/laixiangran/ai-learn/blob/main/src/app/rag/02\_qa\_extraction/route.ts

下面分步驟講解下代碼實現:

文檔解析和切分

這一步做了一個巧妙的設計,就是將每個文檔生成一個 uuid,這個 uuid 后續會作為元數據存到向量數據庫中,也會和 QA 測試數據集綁定在一起,這樣后續在驗證檢索效果的時候,就可以知道這個問題是否檢索到正確的哪個文檔。

// 文件解析
  const loader = newPDFLoader(
    'src/app/data/2024少兒編程教育行業發展趨勢報告.pdf',
    {
      splitPages: false,
    }
  );
const docs = await loader.load();

// 文件切分
const textSplitter = newRecursiveCharacterTextSplitter({
    chunkSize: 500,
    chunkOverlap: 50,
  });
const texts = await textSplitter.splitDocuments(docs);
  texts.forEach((text) => {
    // 給每個文檔生成uuid
    text.metadata.uuid = uuidv4();
  });

// 文檔持久化
const baseTextPath = 'src/app/data/doc_base.xlsx';
awaitsaveToExcel(
    texts.map((text) => {
      return {
        doc: JSON.stringify(text),
      };
    }),
    baseTextPath
  );

LLM 進行 QA 構造

這一步通過 LLM 進行 QA 構造,然后將構造好的 QA 與原始文檔和原始文檔 uuid 進行綁定。

// 讀取切分后的文檔
  const baseTextData = awaitreadFromExcel(baseTextPath);
  baseTextData.forEach((text) => {
    text.doc = JSON.parse(text.doc);
  });

// QA 數據集抽取
const allData = [];
const errorData = [];
const baseQaPath = `src/app/data/qa_base.xlsx`;
const errorTextPath = `src/app/data/doc_error.xlsx`;
// 本地資源有限,因此單個處理完再處理下一個
while (baseTextData.length > 0) {
    const baseText = baseTextData[0];
    try {
      const { pageContent: document, metadata } = baseText.doc;
      const prompt = `
      我會給你一段文本,你需要閱讀這段文本,分別針對這段文本生成8個問題、用戶回答這個問題的上下文,和基于上下文對問題的回答。

      說明:
      1. 問題要與這段文本相關,不要詢問類似“這個問題的答案在哪一章”這樣的問題;
      2. 上下文必須與原始文本的內容保持一致,不要進行縮寫、擴寫、改寫、摘要、替換詞語等;
      3. 答案請保持完整且簡潔,無須重復問題。答案要能夠獨立回答問題,而不是引用現有的章節、頁碼等;
      4. 返回結果以JSON形式組織,格式為[{"question": "...", "context": ..., "answer": "..."}, ...];
      5. 如果當前文本主要是目錄,或者是一些人名、地址、電子郵箱等沒有辦法生成有意義的問題時,可以返回[]。

      文本:
      ${document}

      回答:
      `;
      const ollamaLLM = initOllamaLLM();
      const res = await ollamaLLM.invoke(prompt);
      const regex = newRegExp('\\[(.*?)\\]', 's');
      const match = res.content.match(regex);
      if (match) {
        const data = JSON.parse(`[${match[1]}]`);
        data.forEach((item) => {
          item.doc = document; // 保留原始文檔
          item.uuid = metadata.uuid; // 保留原始文檔 uuid
        });
        allData.push(data);

        // 保存QA數據集
        awaitsaveToExcel(allData.flat(), baseQaPath);
        baseTextData.shift();
      }
    } catch (error) {
      console.log('error', error);
      errorData.push({ doc: JSON.stringify(baseText.doc) });
      awaitsaveToExcel(errorData, errorTextPath);
      baseTextData.shift();
    }
  }

QA 構造樣例如下:

圖片

LLM 進行 QA 質檢

這一步通過 LLM 進行 QA 質量檢查,給每個問題和答案進行打分(1-5分),并給出打分的理由。

// QA 數據集質量檢查
  const checkQaPath = 'src/app/data/qa_grade.xlsx';
const baseQaData = awaitreadFromExcel(baseQaPath);
const allQas = [];
while (baseQaData.length > 0) {
    const baseQa = baseQaData[0];
    const prompt = `
      你是一個優秀的教師,你的任務是根據問題和參考答案來進行打分。

      說明:
      1. 你需要根據所出的問題以及參考答案進行打分,并給出打分理由,分值是一個int類型的值,取值范圍為1-5;
      2. 好的問題,應該是詢問事實、觀點等,而不是類似于“這一段描述了什么”;
      3. 好的答案,應該能夠直接回答問題,而不是給出在原文中的引用,例如“在第3頁中”等;
      4. 結果請以JSON形式組織,格式為如下:{"score": ..., "reason": ...}。

      問題:
      ${baseQa.question}

      參考答案:
      ${baseQa.answer}

      請打分:
      `;
    const ollamaLLM = initOllamaLLM();
    const res = await ollamaLLM.invoke(prompt);
    const regex = newRegExp('\\{(.*?)\\}', 's');
    const match = res.content.match(regex);
    if (match) {
      const data = JSON.parse(`{${match[1]}}`);
      // 保存QA數據集
      allQas.push({ ...baseQa, ...data });
      awaitsaveToExcel(allQas, checkQaPath);
    }
    baseQaData.shift();
  }

QA 質檢樣例如下:

圖片

QA 測試數據集構造

這一步從大于 3 分的記錄中隨機挑選 100 條數據作為后續的 QA 測試數據集。

// 篩選出分數大于3的記錄并分為測試數據集和訓練集
const data = awaitreadFromExcel(checkQaPath);
const testData = [];
const trainData = [];
  data.forEach((item, i: number) => {
    if (item.score > 3) {
      if (i % 2 === 0 && testData.length < 100) {
        testData.push(item);
      } else {
        trainData.push(item);
      }
    }
  });
saveToExcel(testData, 'src/app/data/qa_test.xlsx');
saveToExcel(trainData, 'src/app/data/qa_train.xlsx');

QA 測試數據集樣例如下:

圖片

至此,QA 測試數據集就構造完成,后續 RAG 系統的全鏈路效果以及各個模塊的優化效果,都將基于這個 QA 測試數據集進行。

責任編輯:龐桂玉 來源: 燃哥講AI
相關推薦

2025-05-26 09:57:46

2025-05-23 06:00:00

RAGAI人工智能

2021-02-21 08:53:19

測試驅動技術數據驅動pytest

2024-09-10 08:26:40

2013-06-07 19:04:15

測試

2013-06-27 10:34:08

準備性能測試數據

2023-07-28 10:27:48

Java單元測試

2025-04-01 02:22:00

2013-02-27 15:24:45

Calxeda測試數據ARM架構

2025-05-22 06:48:50

RAGAI應用開發框架DeepSeek

2025-10-27 01:50:00

2025-05-08 02:22:00

RAGQA-RAGAI

2021-12-07 09:00:00

測試數據自動化數據隱私

2009-11-12 08:54:49

Windows 7性能測試

2024-02-05 14:12:37

大模型RAG架構

2009-12-30 11:03:26

ADO.Net性能

2018-01-02 15:38:52

WinSAT系統評估

2011-05-06 15:28:00

SMB數據中心

2016-04-12 10:12:53

2021-12-30 07:33:03

數據庫
點贊
收藏

51CTO技術棧公眾號

9久久9毛片又大又硬又粗| 91视频在线观看免费| 日韩视频免费观看高清完整版在线观看| 亚洲综合首页| 国产香蕉在线观看| 久久午夜激情| 欧美区二区三区| 亚洲一区视频在线播放| 97se亚洲| 欧美日韩午夜精品| 少妇av一区二区三区无码| 日本高清视频在线播放| 91老司机福利 在线| 成人免费网站在线| 丰满少妇xoxoxo视频| 最新精品国产| 中日韩美女免费视频网站在线观看 | 亚洲视频一二三区| 欧美精品123| 亚州一区二区| 色婷婷国产精品综合在线观看| 亚洲精品成人三区| 亚洲av激情无码专区在线播放| 免费成人你懂的| 色阁综合伊人av| 中文字幕av观看| 欧美经典影片视频网站| 欧美日韩国产高清一区二区 | av大片在线免费观看| 日本在线成人| 欧美日高清视频| 97在线播放视频| 激情网站在线| 一区二区三区影院| 亚洲精品乱码久久久久久蜜桃91| 深夜福利免费在线观看| 国产 日韩 欧美大片| 91精品在线播放| 一二三区中文字幕| 麻豆成人91精品二区三区| 17婷婷久久www| 粉嫩aⅴ一区二区三区| 午夜欧美视频| 九色91av视频| 欧美日韩免费做爰视频| 一个色综合网| 欧美大胆在线视频| 国产波霸爆乳一区二区| 中文字幕一区二区精品区| 久久香蕉频线观| 欧美第一页在线观看| 欧美好骚综合网| 日韩在线播放视频| 亚洲一级生活片| 91精品福利| 亚洲最大黄网| 亚洲成人免费网站| 亚洲精品久久一区二区三区777 | 在线欧美视频| 97精品免费视频| 国产精品久久久久久久妇| 在线播放精品| 欧美一区二区三区四区在线| 亚洲熟女综合色一区二区三区| 翔田千里一区二区| 国产精品成人在线| 亚洲手机在线观看| 国产高清精品网站| 国产精品视频在线免费观看| 免费av网站观看| 26uuu精品一区二区在线观看| 久热国产精品视频一区二区三区| 国产综合在线观看| 中文字幕高清一区| 992tv快乐视频| 国内精彩免费自拍视频在线观看网址| 狠狠躁夜夜躁人人躁婷婷91| 无码无遮挡又大又爽又黄的视频| 日韩三级成人| 精品日韩在线观看| 中文字幕人妻一区二区| 99久久视频| 国外成人性视频| 成人黄色激情视频| 国产mv日韩mv欧美| 日韩精品一区二区三区丰满| 欧美成人精品一区二区男人看| 亚洲精品五月天| 日韩视频第二页| 欧美日韩视频免费看| 精品毛片乱码1区2区3区| 成年人网站免费看| 亚洲成人99| 538国产精品一区二区免费视频| 91视频久久久| 粉嫩嫩av羞羞动漫久久久| 免费日韩电影在线观看| 国产鲁鲁视频在线观看特色| 精品福利视频导航| 五月天婷婷在线观看视频| 五月综合久久| 欧美大片va欧美在线播放| 4438国产精品一区二区| 国产成人午夜视频| 日韩精品久久久| а√天堂8资源中文在线| 欧美日本在线一区| 少妇特黄一区二区三区| 亚洲手机视频| 91精品视频观看| 国产福利在线看| 亚洲成人激情综合网| 91看片破解版| 欧美精品一区二区久久| 66m—66摸成人免费视频| 国产露脸无套对白在线播放| 91看片淫黄大片一级| 成人午夜视频免费观看| 国产精品一区二区免费福利视频 | 国产小视频福利在线| 亚洲一二三专区| √天堂资源在线| 久久一区91| 国产精品黄色影片导航在线观看| 四虎成人免费在线| 亚洲成人免费在线观看| 欧美成人精品一区二区综合免费| 99久久亚洲精品蜜臀| 国产经典一区二区| 狠狠狠综合7777久夜色撩人| 精品国产乱码久久久久久天美| 人妻精油按摩bd高清中文字幕| 四季av一区二区凹凸精品| 国产精品99导航| 精品亚洲成a人片在线观看| 欧美日韩国产一区在线| 久久久久成人精品无码中文字幕| 狠狠色综合网| 国产精品日韩欧美一区二区三区| 中文字幕伦理免费在线视频| 欧美一区二区在线播放| 最新av电影网站| 精品无人码麻豆乱码1区2区| 亚洲精品无人区| 黄色成人小视频| 久久精品电影网| 国产麻豆91视频| 亚洲人吸女人奶水| 国产又粗又猛又爽又黄| 激情婷婷欧美| 精品日韩美女| 美女18一级毛片一品久道久久综合| 日韩二区三区在线| 欧美超碰在线观看| 国产精品区一区二区三区| 日韩中文字幕a| 91tv官网精品成人亚洲| 亚洲综合日韩中文字幕v在线| 亚洲羞羞网站| 亚洲精品久久久久久久久| 久久中文字幕免费| 国产精品视频观看| 久久精品一卡二卡| 亚洲美女毛片| 日韩精品伦理第一区| 四虎地址8848精品| 欧美黄色片在线观看| 熟妇人妻一区二区三区四区| 欧美体内谢she精2性欧美| 娇妻被老王脔到高潮失禁视频| 久久国产精品第一页| 99久热在线精品视频| 久久精品66| 国产精品海角社区在线观看| a毛片在线播放| 亚洲精品v天堂中文字幕| 无码人妻aⅴ一区二区三区有奶水| 国产精品毛片a∨一区二区三区| 国产裸体视频网站| 久久xxxx| 国内外成人激情免费视频| 精品国产一区二区三区不卡蜜臂 | 日韩精品一区二区三区中文| 午夜精品福利电影| 成年人在线观看视频| 欧美大片拔萝卜| 精品乱码一区内射人妻无码| 亚洲乱码中文字幕| 野外性满足hd| 国产乱子轮精品视频| 欧美女人性生活视频| 99久久精品费精品国产| 九色一区二区| 国产精品亚洲一区二区在线观看 | 日本久久综合网| 樱桃国产成人精品视频| 成熟人妻av无码专区| 成人综合在线观看| 日本人69视频| 蜜桃av综合| 99久久久精品视频| 日韩一区二区在线免费| 久久精品五月婷婷| 日韩av综合| 国产精自产拍久久久久久蜜| www.51av欧美视频| 久久国产精品网站| eeuss影院www在线播放| 日韩高清人体午夜| 成人av一区二区三区在线观看| 91黄色小视频| 欧美精品二区三区| 亚洲午夜免费电影| 顶臀精品视频www| 中国av一区二区三区| 短视频在线观看| 暴力调教一区二区三区| 四川一级毛毛片| 精品中文字幕一区二区| caoporn超碰97| 午夜亚洲一区| 久久亚洲中文字幕无码| 雨宫琴音一区二区在线| 香港三级日本三级a视频| 亚洲人体av| 中文字幕一区二区三区5566| 成人写真视频| 欧美一区二区三区四区在线观看地址 | 日韩亚洲视频| 精品中文字幕一区二区三区av| 精品久久久久久中文字幕动漫 | 亚洲精品第一区二区三区| 伊人久久大香线蕉综合网站 | 色偷偷一区二区三区| 中文字幕视频网| 色综合一区二区三区| 看片网址国产福利av中文字幕| 亚洲二区在线视频| 日韩欧美亚洲视频| 精品日本高清在线播放| 国产超碰人人爽人人做人人爱| 红桃av永久久久| 日韩毛片一区二区三区| 岛国精品视频在线播放| 久久久精品福利| 日本高清无吗v一区| 成人h动漫精品一区二区下载| 色美美综合视频| 天天天天天天天干| 欧美三级三级三级爽爽爽| 中文字幕激情视频| 555夜色666亚洲国产免| av网站在线免费看| 精品免费国产一区二区三区四区| 全国男人的天堂网| 亚洲精品一区中文| av电影在线观看一区二区三区| 中文字幕亚洲一区二区三区| 日本三级视频在线播放| 久久91精品国产| cao在线视频| 国产精品99久久久久久久久| 欧美电影在线观看网站| 91在线短视频| 猫咪成人在线观看| 日本中文不卡| 亚洲精品a级片| 男女啪啪免费视频网站| 久久婷婷久久| 五月天六月丁香| 99精品在线观看视频| 69精品无码成人久久久久久| 亚洲欧美日韩电影| 国产成人啪精品午夜在线观看| 色婷婷av一区二区三区gif| 在线观看视频中文字幕| 欧美xxxx老人做受| 韩国三级在线观看久| 伦伦影院午夜日韩欧美限制| a天堂资源在线| 国产日韩欧美视频在线| 国产91精品入| 视频一区亚洲 | 国产一区二区在线免费播放| 国产一区二区三区观看| 丰满少妇一区二区三区| 成人免费在线视频| 男人的天堂一区二区| 欧美精品1区2区3区| 水莓100在线视频| 久久福利网址导航| 日本肉肉一区| 精品国产电影| 亚洲无中文字幕| 亚洲一区亚洲二区亚洲三区| 高清日韩av电影| 九九热这里只有在线精品视| 亚洲精品成人图区| 亚洲综合在线中文字幕| 伊人久久大香线蕉| 欧美乱妇15p| 少妇一级黄色片| 一区二区久久久久久| 69xxxx国产| 亚洲国产一区自拍| 在线观看的网站你懂的| 国产精品高清在线观看| 青青草原在线亚洲| 国产在线无码精品| 久久99这里只有精品| 天堂久久精品忘忧草| 亚洲二区在线视频| 精品人妻少妇AV无码专区| 中文一区二区视频| 桃色av一区二区| 国产女人水真多18毛片18精品| 99久久精品费精品国产| 天堂在线资源视频| 久久蜜桃av一区二区天堂| 精品无码久久久久久久| 91麻豆精品国产自产在线观看一区| 国产私拍精品| 国产精品第一视频| 亚洲97av| 动漫av网站免费观看| 成人av免费网站| 日韩国产精品一区二区| 亚洲精品护士| www男人天堂| 亚洲影院免费观看| 精品国产99久久久久久宅男i| 日韩在线精品视频| 国内精品伊人| 亚洲欧美日韩精品久久久| 日韩中文字幕一区二区三区| 天天躁日日躁狠狠躁免费麻豆| 一区二区三区四区亚洲| 亚洲成人精品女人久久久| 欧美成人黄色小视频| 国产一区二区三区视频在线| 欧美一级免费在线观看| 久久国产精品99精品国产| 中国1级黄色片| 欧美久久一区二区| 日韩精品黄色| 91日韩在线播放| 欧美777四色影| 成人欧美精品一区二区| 午夜欧美2019年伦理| 高h震动喷水双性1v1| 久久青草精品视频免费观看| 免费萌白酱国产一区二区三区| 好吊妞无缓冲视频观看| 久久综合色播五月| 中国精品一区二区| 久久国产精品久久国产精品| 99精品国产一区二区三区2021| 99视频在线免费播放| 国产三级欧美三级| 国产又粗又猛又爽又黄的| 九九九久久国产免费| 国产伦精品一区二区三区免费优势| 久久久久久久久久网| 久久久久久久久99精品| 国产精品午夜一区二区| 久久亚洲精品国产亚洲老地址| 中文无码日韩欧| 丁香啪啪综合成人亚洲| 国产精品丝袜久久久久久app| 999av视频| 68精品久久久久久欧美| 久久精品播放| 国产精品一区视频网站| 日韩一区二区三区免费| 欧美专区一二三| 国产真实乱偷精品视频免| 国产一级做a爰片在线看免费| 亚洲欧美国产精品久久久久久久| 国产精品黄色片| 国产在线视频综合| 国产亚洲精品资源在线26u| 91亚洲精品国偷拍自产在线观看| 欧美国产乱视频| 欧美日韩在线网站| 中文字幕永久免费| 欧美在线观看视频一区二区三区| 1769免费视频在线观看| 久久人人97超碰人人澡爱香蕉| 精品在线一区二区| 国产精品视频久久久久久久| 色多多国产成人永久免费网站| 成人三级毛片| 91欧美视频在线| 五月婷婷激情综合网| 2019中文字幕在线视频| 国产精品一区二区av| 麻豆精品视频在线观看视频| 日本一级淫片免费放| 日韩中文字幕在线精品| 亚洲区小说区|