1.整體解讀
核心思想:以數據為中心的AI(Data-Centric AI)
DataFlow 的核心目標是通過一系列自動化“流水線”
(Pipelines)來處理和生成高質量的數據,從而提升大語言模型(LLM)在特定領域(如醫療、金融、法律)的能力。它接受各種嘈雜、原始的數據源(如PDF、網頁文本、低質量問答對),產出可用于模型訓練(預訓練、指令微調、強化學習)或檢索增強生成(RAG)的高質量數據集。
整體工作流程
整個系統可以看作是一個模塊化、可編排的數據處理工廠。其工作流程建立在三個核心概念之上:
-
算子(Operators): 這是最基礎的處理單元。每個算子執行一個特定的數據處理任務,例如文本去重、句法分析、實體識別、使用大模型API進行數據增強等。這些算子是構建更復雜工作流的基石。
-
流水線(Pipelines): 這是核心的工作流程。通過將一系列
算子
有序地組合起來,形成一條流水線
,以完成一個端到端的數據處理任務。項目預置了多種即開即用的流水線。 -
DataFlow-Agent: 這是一個更智能的“指揮官”。它可以根據用戶的具體任務需求,動態地、自動地選擇和編排已有的
算子
,從而構建出一條全新的、定制化的流水線
。
具體的“流水線”工作流程解析
README.md
文件中詳細介紹了幾個核心的預置流水線,每個都代表一種具體的工作流程:
-
📝 文本流水線 (Text Pipeline)
- 輸入: 大規模的純文本數據(通常來自網絡爬蟲)。
- 工作流程: 通過一系列算子,從非結構化的文本中挖掘、清洗并生成高質量的“問題-答案”(QA)對。
- 輸出: 可用于監督式微調(SFT)或強化學習(RL)訓練的QA數據集。
- 應用場景: 為模型注入事實性知識和對話能力。
-
🧠 推理流水線 (Reasoning Pipeline)
- 輸入: 已有的、相對簡單的QA對。
- 工作流程: 對輸入的QA進行“增強”處理,主要包括:
- 生成思維鏈 (Chain-of-Thought): 為答案補充詳細的推理步驟。
- 分類: 對問題進行類別劃分。
- 難度評估: 評估問題的難度。
- 輸出: 帶有豐富推理過程和元信息的高質量QA對。
- 應用場景: 提升模型解決復雜問題時的邏輯推理能力。
-
🗃? 文本轉SQL流水線 (Text2SQL Pipeline)
- 輸入: 自然語言問題和相關的數據庫結構(Schema)。
- 工作流程: 將自然語言問題精準地翻譯成可執行的SQL查詢語句,并附帶解釋、思維鏈和上下文信息。
- 輸出: 結構化的SQL查詢數據集。
- 應用場景: 訓練能夠理解自然語言并操作數據庫的“AI數據分析師”。
-
📚 知識庫清洗流水線 (Knowledge Base Cleaning Pipeline)
- 輸入: 混亂的、非結構化的文檔,如PDF、Word文檔、包含表格的網頁等。
- 工作流程: 從這些文檔中準確地提取關鍵信息,并將其結構化、清洗,去除噪聲。
- 輸出: 干凈、結構化的知識庫條目。
- 應用場景: 為RAG系統構建高質量的知識庫,或作為生成QA對的源數據。
-
🤖 Agentic RAG 流水線
- 輸入: 已有的QA數據集或知識庫。
- 工作流程: 識別并抽取出那些“僅靠自身知識無法回答,必須借助外部工具或知識庫才能解答”的QA對。
- 輸出: 需要調用外部知識的QA對數據集。
- 應用場景: 專門用于訓練具備“代理”(Agent)能力的RAG模型,使其學會在必要時主動檢索信息。
技術棧和依賴 (根據 requirements.txt
)
requirements.txt
文件揭示了支撐上述工作流程的技術細節:
- 核心AI框架:
torch
,transformers
,accelerate
表明其深度依賴于 PyTorch 和 Hugging Face 生態,用于運行和微調大語言模型。 - 大模型推理:
vllm
(可選安裝) 說明它支持使用 vLLm 庫進行本地化、高性能的大模型推理,這是許多算子的核心能力。 - 自然語言處理 (NLP):
nltk
,sentencepiece
,fasttext-wheel
,kenlm
等庫用于底層的文本處理,如分詞、語言模型統計等。 - 數據處理與評估:
datasets
,numpy
,pandas
,evaluate
用于數據的加載、處理和模型性能評估。 - 特定任務庫:
sqlglot
專門用于處理Text2SQL任務中的SQL解析和生成。presidio_analyzer
,presidio_anonymizer
用于文本中的敏感信息(PII)檢測和匿名化,是數據清洗的重要環節。trafilatura
,lxml_html_clean
用于從HTML網頁中提取正文內容,是知識庫清洗流程的關鍵工具。
總結
DataFlow 的工作流程是一個高度工程化和系統化的數據處理框架。它將復雜的數據預處理任務拆解為一系列標準化的流水線,每條流水線由更細粒度的算子構成。用戶既可以直接使用預設的流水線來高效處理數據,也可以利用DataFlow-Agent的智能編排能力來靈活應對新的數據處理需求。整個項目技術棧先進,緊密圍繞大語言模型和數據工程,旨在解決當前大模型應用落地中至關重要的數據質量問題。
2.算子部分解讀
根據 README.md
文件中的描述和項目的設計理念,算子(Operators) 是 DataFlow 工作流程中最核心和最基礎的構建模塊。它們是執行具體數據處理任務的獨立功能單元。
README.md
文件將算子主要分為四大類別,每個類別都有其特定的功能定位:
1. 基礎算子 (Fundamental Operators)
這類算子提供最基本、最通用的數據處理功能,是構建任何復雜數據流水線的基礎。它們通常不涉及復雜的模型調用,專注于對數據本身進行操作。其功能包括:
- 數據加載與解析: 從不同格式的文件(如 .txt, .jsonl, .csv)中讀取數據。
- 格式轉換: 在不同的數據結構之間進行轉換。
- 數據清洗:
- 去重: 刪除數據集中完全重復的條目。
- 過濾: 根據設定的規則(如文本長度、特定關鍵詞)篩選數據。
- 規范化: 清除HTML標簽、處理特殊字符、統一文本格式等。
- 數據切分: 將大型數據集隨機或按規則劃分為訓練集、驗證集和測試集。
2. 通用算子 (Generic Operators)
這類算子利用通用的深度學習模型或大語言模型(LLM)API來執行更高級、更智能的數據處理任務。它們不針對特定領域,具有廣泛的適用性。功能主要包括:
- 質量評估: 使用LLM對數據(如QA對)的質量進行打分,例如評估其相關性、準確性、語言流暢度等。
- 數據增強: 對現有數據進行擴充或改寫。例如,對一個問題生成多種不同的問法,或對一個答案進行潤色和擴寫。
- 文本摘要: 為長篇文章或對話生成簡短的摘要。
- PII(個人身份信息)檢測與處理: 識別并脫敏文本中的姓名、電話、地址等敏感信息。
- 語言檢測與翻譯: 識別文本的語種并進行翻譯。
3. 領域專用算子 (Domain-Specific Operators)
這類算子是為特定領域(如金融、醫療、法律、代碼)或特定任務(如Text2SQL)量身定制的,包含了該領域的專業知識和處理邏輯。
- 針對Text2SQL任務:
- Schema鏈接: 將自然語言問題中的詞語與數據庫的表名、列名進行關聯。
- SQL有效性檢查: 驗證生成的SQL查詢是否存在語法錯誤。
- 針對代碼任務:
- 代碼質量分析: 評估代碼的復雜度、是否遵循編碼規范等。
- 代碼翻譯: 將代碼從一種編程語言轉換為另一種。
- 針對推理任務:
- 思維鏈(CoT)生成: 為問題的答案構建詳細的、一步步的推理過程。
- 針對金融/醫療領域:
- 專業實體識別: 識別文本中特定的金融產品、公司名稱或醫療術語、藥品名稱。
4. 評估算子 (Evaluation Operators)
這類算子專門用于評估經過處理后的數據質量或模型在特定任務上的性能,為數據迭代和模型優化提供量化指標。
- 答案準確性評估: 將模型生成的答案與標準答案進行比對,計算精確率、召回率等指標。
- SQL執行評估: 在真實數據庫中執行生成的SQL查詢,并將其結果與標準查詢的結果進行比對。
- 代碼執行評估: 運行生成的代碼,并通過單元測試來判斷其正確性。
- 多樣性評估: 評估生成的數據集在內容、模式或難度上的多樣性。
總而言之,DataFlow的 “算子” 構成了一個功能豐富、可靈活組合的工具箱。用戶可以通過將這些不同功能的算子像搭積木一樣串聯起來,構建出強大的自動化數據處理流水線,從而高效地為AI模型生產出高質量的“食糧”。
3.流水線解讀
我們來詳細解讀一下 文本流水線 (Text Pipeline) 和 推理流水線 (Reasoning Pipeline)。這兩個流水線是 DataFlow 中非常有代表性的自動化數據處理流程。
1. 文本流水線 (Text Pipeline)
您可以將其理解為 “從海量原始文本中淘金” 的自動化工廠。它的核心目標是從大規模、可能很雜亂的純文本數據中,挖掘并生成高質量的“問題-答案”(QA)對。
-
目標 (Goal)
將非結構化的、充滿噪聲的文本(例如從網上爬取的新聞、論壇帖子、百科文章)轉化為可用于模型訓練的、干凈的結構化數據。 -
輸入 (Input)
大規模的純文本文件(.txt
,.jsonl
等)。這些數據通常質量參差不齊,包含廣告、無關信息、格式錯誤等。 -
核心工作流程 (Core Workflow)
這個流水線內部由一系列精心設計的算子串聯而成,模擬了數據專家的工作流程:- 數據加載與預處理: 讀取原始文本文件。
- 初步清洗: 使用基礎算子去除明顯的噪聲,如HTML標簽、特殊字符、廣告語等。
- 內容質量評估: 這是最關鍵的一步。使用基于LLM的通用算子或評估算子,從多個維度為文本片段打分。根據
README
中的實驗,這些維度包括:- 寫作風格 (Writing Style): 語言是否流暢、專業?
- 專業知識需求 (Expert Knowledge): 內容是否包含專業領域的知識?
- 事實性內容 (Factual Content): 是否陳述了客觀事實?
- 教育價值 (Educational Value): 內容是否有學習和教育意義?
- 高質量文本篩選: 根據上一步的評分,只保留得分高的、有價值的文本片段。
README
中提到,在處理RedPajama數據集時,最終只保留了13.65%的精華數據。 - QA對生成: 對篩選出的高質量文本,再次利用LLM,從中提煉、生成“問題-答案”對。例如,將一段關于“光合作用”的描述,轉化為“什么是光合作用?”以及對應的答案。
- 最終清洗與格式化: 對生成的QA對進行最后的質量校驗和格式統一。
-
輸出 (Output)
高質量、干凈的QA數據集。這些數據可以直接用于大語言模型的**監督式微調(SFT)或強化學習(RL)**訓練。 -
核心價值
解決了“從哪里獲取大量高質量訓練數據”的難題。它自動化了從原始、低成本數據源生產高價值訓練數據的過程,極大地降低了數據準備的人工成本和時間。
2. 推理流水線 (Reasoning Pipeline)
如果說文本流水線是“淘金”,那么推理流水線就是 “給黃金進行精加工和雕刻”。它不生產新的知識,而是對已有的QA數據進行深度加工和增強,專門用于提升模型的邏輯推理能力。
-
目標 (Goal)
增強現有的“問題-答案”對,為其注入豐富的邏輯推理信息和多維度的元數據。 -
輸入 (Input)
已有的、相對簡單的QA數據集。這些QA可能只有問題和最終答案,缺少中間的思考過程。 -
核心工作流程 (Core Workflow)
這個流水線通過一系列領域專用算子和通用算子,為每個輸入的QA對增加三個核心要素:- 生成思維鏈 (Chain-of-Thought, CoT): 這是最核心的功能。它利用LLM,為每個答案補充一個詳細的、分步驟的推理過程。例如,對于數學題,它會生成詳細的解題步驟;對于邏輯題,它會生成一步步的分析過程。
- 類別分類 (Category Classification): 對問題進行分析,并打上類別標簽。例如,將問題分類為“數學計算”、“邏輯推理”、“常識問答”等。
- 難度評估 (Difficulty Estimation): 評估每個問題的解決難度,并給出一個難度分數或等級。
-
輸出 (Output)
經過“增強”的高質量QA數據集。現在,每一條數據不僅包含[問題, 答案]
,還包含了[思維鏈, 類別, 難度]
等豐富的元信息。 -
核心價值
極大地提升了訓練數據的“深度”。通過讓模型學習帶有詳細推理過程的數據,可以顯著提高其在面對復雜問題時的邏輯分析能力、步驟拆解能力和最終的回答準確率。README
中的實驗結果表明,使用該流水線合成的數據對Qwen2.5-32B-Instruct模型在推理能力上有顯著提升。
4.問答對生成示例
我們來深入剖析一下在DataFlow的**文本流水線(Text Pipeline)中,“QA對生成”(Question-Answer Pair Generation)**這一關鍵環節的具體過程。
這個過程并非單一的腳本,而是一個由大語言模型(LLM)驅動、并輔以嚴格質量控制的精密工作流。您可以將其想象成一個包含**“原材料投喂 -> 智能生成 -> 嚴格質檢”** 的自動化生產線。
以下是其詳細的分解步驟:
第一步:輸入高質量的“原材料”
QA對的生成不是在最原始、最嘈雜的文本上進行的。它發生于流水線的中段,其輸入是已經經過前序算子篩選和清洗過的高質量文本片段(High-quality Text Chunks)。
- 輸入: 一段已經過質量評估,被認為是信息密度高、事實準確、具有教育價值的純文本。例如,一段關于“黑洞”的科學百科介紹,而不是一篇包含論壇閑聊和廣告的帖子。
第二步:核心生成環節 (Generate Operator)
這是整個過程的核心,主要通過調用大語言模型(LLM)來完成。雖然具體的Prompt(提示詞)是該項目的核心資產,但其工作模式通常遵循以下幾種主流技術:
模式一:零樣本直接生成(Zero-Shot Prompting) - 最可能的核心方法
這是最高效、最直接的方式。系統會給LLM一個明確的指令,讓它在閱讀文本后直接生成QA對。
一個典型的內部Prompt可能如下設計:
系統指令 (System Prompt):
你是一個善于從文本中提煉知識的專家。你的任務是根據下面提供的【文本內容】,生成一個高質量的“問題-答案”對。要求:
- 問題 必須具有信息量,能夠引導人思考。
- 答案 必須直接來源于【文本內容】,不能進行任何形式的外部聯想或編造。
- 請將輸出嚴格按照指定的JSON格式返回:
{"question": "...", "answer": "..."}
【文本內容】:
“[這里貼入上一步篩選出的高質量文本片段,例如關于光合作用的段落]”
LLM在收到這個指令后,會閱讀文本并自動構思出一個相關問題,然后從原文中抽取最匹配的句子作為答案。
模式二:思維鏈引導生成(Chain-of-Thought Prompting)
為了提升生成質量,系統可能會使用更復雜的Prompt,引導LLM先思考再生成。
系統指令:
…
要求:
- 首先,請逐步思考可以從這段文本中提出哪些有價值的問題。
- 然后,選擇你認為最有價值的一個問題。
- 最后,從文本中找到該問題的直接答案并輸出。
…
這種方式能讓LLM的輸出更加精準和有深度。
第三步:嚴格的“質檢”環節 (Post-generation Filtering)
生成QA對只是第一步,保證質量是同樣重要的一環。在README
的流程圖中,Generate Operator
之后緊跟著另一個Filter Operator
,這就是質檢環節。
這一步會使用多種方法來過濾掉低質量或有問題的QA對:
-
模型自評/批判 (Self-Critique):
系統會將生成的[文本, 問題, 答案]
三元組再次發送給LLM,并提出一個“質檢問題”:“請評估以下QA對的質量:根據提供的【文本】,【問題】是否恰當?【答案】是否準確地回答了該問題,并且完全基于原文?請回答’是’或’否’,并簡要說明理由。”
只有得到肯定回答的QA對才會被保留。 -
規則過濾 (Rule-based Filtering):
- 相關性檢查: 計算問題和答案的向量相似度,過濾掉那些問題和答案毫不相關的對。
- 長度過濾: 剔除問題或答案過長或過短的對。
- 重復性檢查: 檢查問題和答案是否有過多的詞語重疊,這通常意味著問題質量不高(例如,問題是“什么是A?”,答案是“A是…”)。
-
答案溯源驗證 (Factuality Verification):
系統會運行一個程序,驗證答案中的每一個關鍵信息點是否都能在原始文本片段中找到明確的出處。無法溯源的QA對將被丟棄。
最終輸出
經過這一整套“生成+質檢”的流程后,最終輸出的才是我們看到的、可用于模型訓練的高質量QA數據集。這個過程確保了數據的事實一致性、相關性和可用性,是DataFlow項目實現“以數據為中心”理念的關鍵體現。
5.推理生成過程實例
我們來再次深入、詳細地拆解一下在DataFlow的**推理流水線(Reasoning Pipeline)**中,最核心、最關鍵的環節——生成思維鏈 (Chain-of-Thought, CoT) 的具體過程。
您可以將這個過程想象成一位經驗豐富的“AI導師”,在拿到一道題和它的標準答案后,為學生精心準備一份“滿分步驟詳解”的教案。
這個過程主要分為以下四個精密的步驟:
第一步:準備“教學素材” (Input)
這個流程的起點不是一個未知的問題,而是一個已經有正確答案的、高質量的問答對(QA Pair)。
-
輸入:
- 一個明確的問題 (Question)。
- 一個已知的正確答案 (Answer)。
-
示例:
- 問題: “一個書架上有10本書,小紅借走了3本,后來她又還回來了2本。請問書架上現在有幾本書?”
- 正確答案: “9本”
第二步:召喚“AI導師”并下達核心指令 (Prompting the LLM)
這是整個流程的“魔法”所在。系統會向一個強大的大語言模型(LLM)發送一個經過精心設計的指令(Prompt)。這個指令的核心是要求LLM扮演一個角色,并以已知的“正確答案”為最終目標,反向構建出一條通往這個終點的、合乎邏輯的推理路徑。
這個指令(Prompt)通常會包含以下幾個關鍵要素:
-
角色扮演 (Role-Playing):
- 指令會首先給LLM設定一個身份,例如:“你是一位邏輯思維縝密、善于分步拆解問題的數學老師。” 這有助于引導LLM以特定的風格和邏輯進行思考。
-
提供完整上下文 (Context Injection):
- 指令會把問題和正確答案這兩個信息同時提供給LLM。這一點至關重要!系統不是在考LLM會不會做這道題,而是在要求LLM解釋“如何”以及“為什么”得到那個已知的正確答案。
-
下達明確任務指令 (Task Instruction):
- 明確要求LLM生成一個“思維鏈”或“詳細步驟”。例如:“請為下面的【問題】提供一個詳細、分步驟的解題過程,讓學生能清晰地看懂你是如何得到【最終答案】的。”
-
指定輸出格式 (Format Specification):
- 為了方便后續處理,指令通常會要求LLM以特定的格式輸出。例如:“請用‘步驟1’、‘步驟2’…的格式來呈現你的思考過程。”
內部指令的完整示例 (Internal Prompt Example):
# 系統指令你是一位思維嚴謹的數學老師。請根據下面提供的【問題】和【最終答案】,生成一個清晰、分步的【思維鏈】,解釋你是如何得到這個答案的。# 輸入信息【問題】:
一個書架上有10本書,小紅借走了3本,后來她又還回來了2本。請問書架上現在有幾本書?【最終答案】:
9本# 輸出要求【思維鏈】:
(請在這里生成你的思考步驟)
第三步:“AI導師”開始“撰寫教案” (LLM Generation)
LLM在接收到上述指令后,就會開始它的推理和生成工作。它會分析問題,然后一步步地構建邏輯,確保每一步都合理,并且最終的計算結果恰好等于指令中給出的“最終答案”。
- LLM生成的思維鏈 (Generated CoT):
- 初始狀態分析: 首先,我們需要明確書架上最開始有多少本書。根據題目描述,初始數量是10本。
- 分析第一次變化: 接下來,小紅借走了3本書。這是一個減法操作,意味著書架上的書減少了。所以,書架上的書數量變為:10 - 3 = 7本。
- 分析第二次變化: 然后,小紅又還回來了2本。這是一個加法操作,意味著書架上的書在現有基礎上增加了。所以,書的數量變為:7 + 2 = 9本。
- 得出最終結論: 因此,經過這一系列變化后,書架上最終有9本書。這個結果與我們已知的【最終答案】完全一致。
第四步:質量審查與精煉 (Verification and Refinement)
在某些高要求的場景下,DataFlow可能還會有一個可選的驗證環節,以確保生成的思維鏈質量:
- 邏輯自洽性檢查: 程序可能會再次調用LLM,讓它評估自己生成的思維鏈是否每一步都邏輯通順,沒有矛盾。
- 計算驗證: 如果思維鏈中包含數學計算,程序可能會提取出計算式(如
10 - 3
和7 + 2
),并通過獨立的計算器來驗證其結果是否正確。
通過這套完整的“素材準備 -> 指令下達 -> 生成推理 -> 質量審查”的流程,DataFlow就成功地為一條簡單的QA數據,注入了寶貴的、結構化的思考過程。用這些包含CoT的深度數據去訓練模型,就能極大地提升模型在解決復雜問題時的邏輯分析和推理能力。
6問答對生成提示詞
要找到DataFlow項目中用于“QA生成”的確切提示詞(Prompt)是相當困難的,原因如下:
- 核心知識產權:提示詞是驅動大語言模型(LLM)產生期望輸出的關鍵,是這類項目的“秘方”和核心知識產權。因此,項目團隊通常不會在公開的
README
文件或文檔中直接展示它們。 - 代碼內部實現:這些提示詞幾乎總是硬編碼(hard-coded)在項目的Python源代碼中,作為調用LLM API時傳遞的參數。只有深入閱讀和分析項目的源代碼,才有可能找到它們。
- 迭代和優化:提示詞是不斷被優化和迭代的。一個項目在不同版本、不同分支中可能會使用不同的提示詞。
盡管我們無法直接獲取其源代碼中的確切提示詞,但根據項目文檔、工作流的描述以及行業內的最佳實踐,我們可以高度還原和推測出這些提示詞的設計框架和核心要素。
以下是為一個**通用的QA生成算子(Operator)**所設計的、最可能接近DataFlow實際使用的提示詞框架。
推測的“QA生成”提示詞框架
這個過程通常會分為兩個階段:問題生成和答案驗證,或者一個更高效的直接生成QA對的單階段過程。
模式一:單階段直接生成QA對 (最可能)
這種模式效率最高,它在一個提示詞中就完成了所有任務。
你是一個精通從復雜文檔中提取核心信息的專家。你的任務是根據下面提供的【源文本】,生成一個高質量的“問題-答案”(QA)對。請嚴格遵守以下【生成規則】:
1. **相關性**: 生成的問題必須與【源文本】的核心主題緊密相關。
2. **答案溯源**: 答案必須是【源文本】中明確陳述內容的直接摘錄或忠實概括,嚴禁包含任何【源文本】之外的信息。
3. **簡潔性**: 問題和答案都應盡可能簡潔明了。
4. **避免模糊**: 不要生成是/否問題或過于寬泛的問題。問題應該引導出一個具體、事實性的答案。【源文本】:
"""
{text_chunk}
"""【輸出格式】:
請嚴格使用以下JSON格式返回結果,不要添加任何額外的解釋或文本:
{"question": "(在這里生成你的問題)","answer": "(在這里生成你的答案)"
}
{text_chunk}
: 這是一個變量,程序會自動將上一步篩選出的高質量文本片段填充到這里。
模式二:兩階段生成(問題生成 -> 答案生成)
這種模式控制更精細,可以對問題和答案的質量分別進行把控,但成本更高。
第一步:生成問題 (Question Generation)
你是一個充滿好奇心的研究員。請仔細閱讀下面的【源文本】,并基于其內容提出一個深刻且具體的問題。【規則】:
1. 問題必須能通過閱讀【源文本】來回答。
2. 問題應激發思考,而不僅僅是簡單的事實復述。【源文本】:
"""
{text_chunk}
"""【輸出】:
(在這里僅輸出你生成的問題)
第二步:生成答案 (Answer Generation)
程序會把原始文本和上一步生成的問題組合起來,發給LLM。
你是一個嚴謹的答題者。請根據【源文本】來回答下面的【問題】。【規則】:
1. 你的回答必須完全基于【源文本】的內容。
2. 如果【源文本】無法回答該問題,請明確指出"信息不足,無法回答"。【源文本】:
"""
{text_chunk}
"""【問題】:
"""
{generated_question}
"""【輸出】:
(在這里僅輸出你生成的答案)
{generated_question}
: 這是上一步生成的問題。
總結來說,雖然我們看不到DataFlow項目文件中的原版提示詞,但以上推測的框架在邏輯和功能上都非常接近其實際工作方式。這些精心設計的指令,正是將無結構的文本轉化為寶貴訓練數據的“魔法咒語”。