---
# System prepended metadata

title: Customized QA-pair Generation
tags: [RAG技術整理]

---

# Customized QA-pair

## 教育雲資料轉換
#### 8/29向學長姐提出構想
教育雲上有一些學習單形式的學習測驗卷，使用LLM改寫裡面的題目成簡答題形式QA-pair
- 步驟: 
    1. 列要改寫的學習單清單
    2. 將學習單的所有問題形式透過GPT改寫成簡答題
    3. 給老師們看看改寫的品質，要注意題目是否依然有鑑別度
- 可以先做國小國語，較方便給老師驗證
![image](https://hackmd.io/_uploads/B1XThtpiR.png)
![image](https://hackmd.io/_uploads/ByO6nFpiC.png)

#### 9/2跟玟樺、政叡討論
- 設想的Query種類
    - 跟各科老師開會討論出==符合各科教學需求的指令集==
        - 教育雲內的資料偏科嚴重(國語因為有辭典所以資料較完整)
        - 不一定有標準答案，如學習單、造句等題型
    - 搜尋教材
        - 跟目前教育雲網站的差異是可以整合四個網站之教材以回答
        - 有標準答案
    - 幫學生解題
        - 教育雲上的教材是由老師自由上傳，不保證每一課都有課文，因此可能沒有足夠知識解題
        - 教育雲中的學習單沒有提供答案，可否用非四個教育雲網站上的考卷做QA-pair的改寫，如課綱符合之各校段考考卷
- QA-pair生成方式構想
    - 教師面相: 指令種類偏功能性，可以整理出指令集作為Query，由LLM基於教育雲資料生成回答，最後由人工驗證
    - 學生面相: 目前只想到解題方面的功能，期望以教師出的段考考卷作為改寫依據，解決試題鑑別度問題，實際做法會將考卷題型由LLM通通改寫成簡答題，再請老師審查問題的鑑別度、合理性等(人工驗證)
- 還有哪些功能是我們沒想到的嗎?

## LLM生成+LLM驗證
#### 1. [(RGB) ClashEval: Quantifying the tug-of-war between an LLM’s internal prior and external evidence](https://arxiv.org/pdf/2404.10198) 
- 步驟:
    1. 抓取新聞或專業領域文章
    2. 用GPT-4o生成QA-pair
    ![image](https://hackmd.io/_uploads/BJ-xMAG2C.png)
    3. 用GPT-4o驗證QA-pair的品質
    ![image](https://hackmd.io/_uploads/rJJGzAf3A.png)

#### 2. [(Ragas) A RAG-based Medical Assistant Especially for Infectious Diseases](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10544639&casa_token=s-jFpLiH2UAAAAAA:uqK4is6Hvo9CFuBYKit2lM4BpyTJ01PM1HlY5fwQ85R_tB8w7jcRwfkfuvVcrjF0WpSe1OAZTg&tag=1)
- 使用GPT-4o生成QA-pair，沒有展示生成過程

#### 3. [(Ragas) Towards a RAG-based summarization for the Electron Ion Collider](https://iopscience.iop.org/article/10.1088/1748-0221/19/07/C07006/pdf)
- 特色: 每個query會搭配指定數量的claims，每個claims都會有一個詳細的解答，此外還會有一個針對全部claims的統整解答
- 步驟: 使用GPT-4o生成，prompt內訂好要生成的query數量，及該query搭配的claims

## LLM建立+人工驗證
#### 1. [(Ragas) Towards a copilot in BIM authoring tool using a large language model-based agent for intelligent human-machine interaction](https://mediatum.ub.tum.de/doc/1743921/document.pdf)
- 使用GPT3.5作為提問者，詢問少量問題(此論文問了20提)作為RAG系統的Query，並由專業人士評估RAG的輸出是否正確

#### 2. [(Ragas) GastroBot: a Chinese gastrointestinal disease chatbot based on the retrieval-augmented generation](https://www.frontiersin.org/journals/medicine/articles/10.3389/fmed.2024.1392555/full)
- QA size: 20, format included Simple, Inference, Multi-context, Conditional
- 步驟:
    1. 將處理過的PDF文件載入 
    2. 使用 SimpleDirectoryReader 從文件中提取數據，生成文檔列表 
    3. 利用 SimpleNodeParser 從文檔中提取節點信息，並將其封裝在 load_corpus 函數中 
    4. 生成問答對（方式有三種） 
    - 使用 LlamaIndex 的 generate_qa_embedding_pairs 函數，根據提取的文本節點生成問答對 
    - 定義上下文信息和問題，利用 gpt-3.5-turbo 模型生成答案 
    - gpt-3.5-turbo 模型基於給定的上下文段落生成相關的問題和答案 
    5. 將模型生成的問答對進行人工審核

#### 3. [(Ragas) ARIA-QA: AI-Agent based Requirements Inspection and Analysis through Question Answering](https://assets-eu.researchsquare.com/files/rs-4399368/v1_covered_ed89d388-3829-4b7d-88f4-f809ada58912.pdf?c=1716311817)
- 步驟: 
    1. 將一個大型的需求文檔分割成小的段落
    2. 將這些段落分別輸入到 Claude 3-opus 模型中
    3. 使用提示引導模型基於段落內容生成相關的問題和答案
    4. 對生成的QA-pair進行人工審核和校驗，去除任何不相關或冗餘者

## 人工建立+人工驗證
#### 1. [(Ragas) MedInsight: A Multi-Source Context Augmentation Framework for Generating Patient-Centric Medical Responses using Large Language Models](https://arxiv.org/pdf/2403.08607)
- 步驟: 只有說明其醫學資料集來源MTSamples是人工合成的醫學病歷資料集，而QA-pair的生成方式是**收集100個針對個別患者量身訂製的問題**，並強調這些患者從年齡到性別都盡量有所不同，推測是人工生產QA-pair。
![image](https://hackmd.io/_uploads/BybdvKTjC.png)

## 半人工建立+人工驗證
#### 1. [(RGB) RAGged Edges: The Double-Edged Sword of Retrieval-Augmented Chatbots](https://arxiv.org/pdf/2403.01193)
- data size: 56名受試者，336個QA-pair
- 步驟:
    1. 固定的query prompt，指替換名子、機構、出版品等個人訊息:
    ![image](https://hackmd.io/_uploads/SJ0E6lXn0.png)
    2. 生成: GPT3.5根據受試者提供的資料(教育、就業或出版物相關的訊息)生成針對query的回答
    3. 驗證: 由每個受試者評斷生成結果是`幻覺`、`部分幻覺`、`準確`、`沒有幫助(無法回答等)`
    - 範例
    ![image](https://hackmd.io/_uploads/ryyoNAf2R.png)

## 使用專業領域的開源QA資料集
該領域已有開源的資料集，只要找到相關的知識來源作為外部知識資料庫，就可以直接搭配使用
- 美國食品藥物管理局官方問答資料集(FDA_QA) + FDA官方公布的指南文件
- 隱私政策相關的問答資料集(OPP-115) + 430篇GDPR(一般個人資料保護規則)文章
- 財務問題: FinanceBench
- 電信領域: TeleQuAD

## Knowledge Graph(KG)
有些RAG背後的資料庫是以知識圖譜的型態儲存
- **Example Source** - [(Ragas) Hybrid Context Retrieval Augmented Generation Pipeline: LLM-Augmented Knowledge Graphs and Vector Database for Accreditation Reporting Assistance](https://arxiv.org/pdf/2405.15436) 
- 特色: AACSB，全球三大商管學院評鑑指標
- 步驟: 
    1. 從指標定義文件中提取相關標題，使用Python對文字進行預處理以標準化大小寫、刪除停用詞並刪除特殊字元
    2. 輸出Json結構化資料以建立知識圖譜(KG)
    3. 使用GPT3.5提取對應標題的資料並儲存進KG中