精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩在线免费视频观看| 一本一道波多野结衣一区二区| 国产日韩欧美夫妻视频在线观看| 国产一区在线观看免费| 久久伊人精品| 色综合久久综合网| 只有这里有精品| 色综合视频在线| 久久99国产精品久久| 欧美激情一区二区三区在线视频观看| 手机av免费看| 久久免费精品| 欧美亚洲日本国产| 久久国产精品网| eeuss影院www在线播放| 丰满白嫩尤物一区二区| 国产九九精品视频| 久久99精品波多结衣一区| 99精品视频在线观看免费播放| 欧美成人a视频| 波多野结衣xxxx| 涩涩av在线| 一区二区视频在线| 亚洲欧美日韩不卡一区二区三区| 理论片中文字幕| 激情欧美一区二区三区在线观看| 欧美在线亚洲在线| 久久久久久久九九九九| 日韩一区二区在线| 亚洲欧美日韩高清| 中文字幕在线视频播放| 国产日韩一区二区三免费高清| 福利微拍一区二区| 国产aaa免费视频| 麻豆电影在线播放| 国产女人水真多18毛片18精品视频| av一区二区三区四区电影| 91亚洲视频在线观看| 久久三级视频| 97视频免费在线看| 五月天婷婷丁香| 国产精品激情| 欧美国产视频日韩| 久久久久无码国产精品不卡| 天天精品视频| 久久精品色欧美aⅴ一区二区| 欧美偷拍一区二区三区| 网友自拍区视频精品| 亚洲国产精品久久久久秋霞不卡 | 最爽无遮挡行房视频在线| 欧美国产日韩一二三区| 日韩国产欧美一区| 手机看片1024日韩| 99精品视频免费在线观看| 国产九色精品| 天天操天天干天天舔| 成人黄色av网站在线| 国产欧美日韩综合一区在线观看 | 亚洲欧洲二区| 777a∨成人精品桃花网| 波多结衣在线观看| 日本在线一区二区| 欧美一二区视频| 久久久久无码国产精品一区李宗瑞 | 午夜精品久久久久久久久| 成人av在线不卡| 9999精品成人免费毛片在线看 | 老熟妇一区二区三区啪啪| 日韩中文字幕麻豆| 国产日产亚洲精品| 国产a级免费视频| 国产成人精品www牛牛影视| 国产精品国产三级欧美二区| 天天色综合av| 久久久久久久综合日本| 日韩av电影免费观看| 伊人免费在线| 一片黄亚洲嫩模| 欧美日韩性生活片| aaaa欧美| 欧美久久久一区| caopor在线| 国产欧美日韩| 欧美精品日韩三级| 天堂网一区二区三区| 日本欧美韩国一区三区| 成人做爰www免费看视频网站| 亚洲av无码乱码国产精品久久| av午夜精品一区二区三区| 日韩av一区二区三区在线| 高清免费电影在线观看| 午夜视频一区二区| 天堂网在线免费观看| 亚洲综合影院| 国产一区二区三区在线| www.色小姐com| 久久久精品网| 99在线视频首页| 国产在线一二三| 一区二区三区在线免费播放| 又粗又黑又大的吊av| 欧美亚洲黄色| 亚洲精品乱码久久久久久金桔影视| 亚洲无人区码一码二码三码的含义| 久久久精品久久久久久96| 韩国视频理论视频久久| 一级特黄aa大片| 波多野结衣中文字幕一区| 亚洲一卡二卡三卡四卡无卡网站在线看 | 亚洲午夜无码av毛片久久| 97久久精品一区二区三区的观看方式| 亚洲成色777777女色窝| 国产人与禽zoz0性伦| 午夜在线精品偷拍| 成人在线观看网址| 欧美成人二区| 在线观看欧美黄色| 任你躁av一区二区三区| 水蜜桃久久夜色精品一区| 久久久久久久网站| 国产精品无码天天爽视频| 久久日一线二线三线suv| 六月婷婷激情网| 51一区二区三区| 日韩精品在线观看网站| 男人的天堂久久久| 久久精品国产999大香线蕉| 六十路精品视频| av中文在线资源库| 欧美一区二区三区播放老司机 | 亚洲精品videosex极品| 在线免费视频a| 免费欧美一区| 日韩免费av在线| 色av男人的天堂免费在线| 亚洲一区免费视频| 波多野结衣中文字幕在线播放| 日韩欧美视频专区| 国产精品自产拍在线观| www.在线播放| 在线观看成人小视频| 日本丰满少妇裸体自慰| 亚洲欧洲日本mm| 国产精品视频福利| 91老司机福利在线| 日韩成人在线视频观看| 日韩美女视频网站| 91原创在线视频| 欧美国产亚洲一区| 色先锋久久影院av| 国产www精品| 国产三级在线看| 欧美在线999| 国产三级aaa| 国产在线视频一区二区| 波多野结衣激情| 亚洲精品一区二区三区中文字幕| 久久99亚洲精品| 欧美自拍偷拍第一页| 性欧美疯狂xxxxbbbb| 黄色在线免费播放| 久久国产精品亚洲77777| 日本不卡久久| 97久久中文字幕| 久久久综合免费视频| 亚欧在线观看视频| 欧洲色大大久久| 日韩国产第一页| 国产成人精品亚洲日本在线桃色| 精品成在人线av无码免费看| 国产主播性色av福利精品一区| 97精品国产97久久久久久免费| 全色精品综合影院| 欧美私人免费视频| 妺妺窝人体色www在线下载| 不卡一区中文字幕| 日日碰狠狠躁久久躁婷婷| 日韩中文在线电影| 成人自拍网站| 欧美电影免费看| 久久手机免费视频| 香蕉人妻av久久久久天天| 欧美午夜精品久久久久久孕妇| 在线观看美女av| hitomi一区二区三区精品| 熟妇人妻va精品中文字幕| 久久久久国产| 久久久久久久久久久久久久一区 | 久久91精品国产91久久小草| 97在线免费视频观看| 小说区图片区色综合区| 国产欧美亚洲精品| 2001个疯子在线观看| 这里只有精品视频在线| 亚洲爱情岛论坛永久| 色哦色哦哦色天天综合| 午夜免费激情视频| 国产色一区二区| 亚洲性图第一页| 免费成人在线观看| 国产a级片网站| 99精品全国免费观看视频软件| 激情小说网站亚洲综合网| 欧美xxxx性| 欧美专区福利在线| av毛片在线| 最近2019中文字幕mv免费看| 日本xxxx人| 91精品国产综合久久久久久久久久 | 国产精品日韩| 路边理发店露脸熟妇泻火| 国产欧美日韩在线一区二区| 国产精品初高中精品久久| 亚洲欧美在线人成swag| 秋霞av国产精品一区| 国产经典三级在线| 久久艹在线视频| 3p视频在线观看| 亚洲欧美国产一区二区三区 | 北条麻妃一区二区三区| 8x8x成人免费视频| 三级一区在线视频先锋| 美女日批免费视频| 黄色一区二区三区四区| 日韩 欧美 自拍| 久久久综合色| 色狠狠久久av五月综合| 免费看成人吃奶视频在线| 国产一区二区高清不卡| 综合中文字幕| 国产成人精品免费视频大全最热 | 麻豆免费精品视频| av无码精品一区二区三区| 亚洲免费婷婷| 中国丰满人妻videoshd| 日韩一级精品| 尤物av无码色av无码| 99国产一区| 大肉大捧一进一出好爽视频| 一区视频在线| 日韩小视频在线播放| 狠色狠色综合久久| 日韩激情视频一区二区| 欧美精品观看| 久久这里只有精品18| 欧美日本久久| 久久久性生活视频| 国产日韩精品视频一区二区三区| www精品久久| 亚洲美女网站| 狠狠爱免费视频| 玖玖在线精品| xxxx一级片| 激情伊人五月天久久综合| 午夜精品免费看| 国产成人无遮挡在线视频| 中国老熟女重囗味hdxx| 成人午夜私人影院| 男男做爰猛烈叫床爽爽小说| 26uuu国产在线精品一区二区| 亚洲观看黄色网| 国产亚洲精品超碰| 日本黄色激情视频| 亚洲欧美另类综合偷拍| 久久综合综合久久| 天天操天天综合网| 中国女人真人一级毛片| 欧美日韩中字一区| 午夜精品一二三区| 亚洲国产精久久久久久久| 三级做a全过程在线观看| 一区二区日韩精品| 91小视频xxxx网站在线| 久久久久久久香蕉网| 成人自拍av| 91久久久久久久久| 国产成人一二片| 日韩视频在线播放| 午夜天堂精品久久久久| 一二三四视频社区在线| 日韩成人精品视频| 女人扒开双腿让男人捅| 91影院在线观看| 国产亚洲精品精品精品| 一区二区三区在线视频观看| 中文字幕一区二区人妻电影| 欧美日韩电影一区| 日韩专区第一页| 色悠悠久久久久| xxx.xxx欧美| 国产日韩av在线播放| 欧美理论电影在线精品| 亚洲免费在线精品一区| 一区视频在线| 九九热精品国产| 99r国产精品| 无码黑人精品一区二区| 欧美性xxxxxx| aaa级黄色片| 亚洲天堂第二页| 丁香花在线高清完整版视频| 国产精品免费视频xxxx| 超碰成人福利| 国产大尺度在线观看| 久久一日本道色综合久久| 久久艹这里只有精品| 中文字幕乱码日本亚洲一区二区| 久久久久久久久艹| 欧美日韩国产另类不卡| 欧洲亚洲在线| 久久久久国产一区二区三区| 久久爱.com| 日韩精品一区二区三区外面| 一区福利视频| 国产无套精品一区二区三区| 中文字幕一区二区三区精华液| 影音先锋亚洲天堂| 精品久久久久久无| www视频在线看| 国产日本欧美在线观看| 九色成人国产蝌蚪91| 精品久久一二三| 成人国产精品免费观看视频| 黄色香蕉视频在线观看| 欧美亚洲自拍偷拍| 川上优的av在线一区二区| 97色在线视频| 麻豆视频一区| 久久国产午夜精品理论片最新版本| 久久精品99久久久| 久久久免费看片| 欧美日韩综合一区| caoporn国产精品免费视频| 日本精品视频在线| 亚欧日韩另类中文欧美| 97国产在线播放| 97国产一区二区| 日本少妇激情视频| 亚洲第一精品久久忘忧草社区| 日本精品600av| av色综合网| 亚洲经典自拍| 午夜不卡久久精品无码免费| 亚洲一区影音先锋| 亚洲精品视频网| 韩国美女主播一区| 国产欧美一区二区三区米奇| www.亚洲视频.com| av电影在线观看完整版一区二区| 日韩精品一区三区| 亚洲精品狠狠操| 东京一区二区| 日本一区视频在线播放| 日本中文字幕一区二区有限公司| 日本性高潮视频| 欧美日产在线观看| 成人免费视屏| 国产a一区二区| 亚欧成人精品| 俄罗斯毛片基地| 91精品国产综合久久久蜜臀图片 | 911精品美国片911久久久| 毛片毛片毛片毛| 亚洲午夜成aⅴ人片| 三级小视频在线观看| 国产成人精品久久| 国产精品二区不卡| 一区二区三区四区影院| 午夜精品久久久久久久久久| 牛牛澡牛牛爽一区二区| 国产日韩欧美中文| 欧美日韩免费观看一区=区三区| 在线xxxxx| 色94色欧美sute亚洲线路一ni| 日本电影在线观看网站| 999日本视频| 午夜亚洲性色视频| 免费一级suv好看的国产网站| 日韩午夜在线观看视频| 欧美一级鲁丝片| 一区一区视频| 99精品国产视频| 亚洲系列在线观看| 久久全国免费视频| 精品毛片免费观看| 亚洲成人av免费观看| 日韩欧美国产网站| 国产三区视频在线观看| 精品国产乱码久久久久久88av| 日本欧洲一区二区| 五月婷婷开心网| 波霸ol色综合久久| 亚洲欧美成人vr| 在线播放av网址| 欧美日本一区二区三区四区| 丰满的护士2在线观看高清| 欧美日韩亚洲一区二区三区在线观看 | 女性生殖扒开酷刑vk| 欧美中文字幕一二三区视频| 日本无删减在线|