🗺️ Azure 服務地圖
AI 與機器學習・知識與檢索・AI-901/AI-103/AI-300

Microsoft Foundry:模型部署與 RAG

模型很會寫,卻不知道你公司的規定。這一頁要讓你知道怎麼把模型部署在對的地方、用對的計費方式,再讓它先查公司的資料、附上出處才回答。

部署類型分診:10 張情境卡 RAG 流程模擬器 入口網站 × CLI × Bicep × Python

💡 先搞懂問題

虛構公司「晴空食品」想做一個內部助理,讓客服同仁問「瑕疵品退貨的運費誰付」「會員點數多久過期」就能馬上得到答案。他們先拿一個通用的聊天模型試,結果模型很流暢地回答:「一般電商有七天鑑賞期,退貨運費多半由顧客負擔。」聽起來很合理,但晴空食品的規定是瑕疵品由公司負擔運費。模型沒有說謊的意圖,它只是不知道這家公司的手冊,於是用網路上常見的說法補了一個看似正確的答案,這種現象叫幻覺(hallucination)。

直覺的解法有兩個,都不太行。把整本手冊重新訓練進模型,成本高,而且手冊下個月改了又要再訓練一次;把整本手冊每次都貼進提示,內容一長就貴又慢,還可能超過模型一次能讀的長度。比較實際的做法是檢索增強生成(retrieval-augmented generation,RAG):事先把手冊切成小段、建立索引;使用者發問時,先找出最相關的幾段,再把這幾段和問題一起交給模型,要求它只根據這些內容回答並附上出處。

要做到這件事,Azure 上的起點是 Microsoft Foundry(前身是 Azure AI Studio,之後改名 Azure AI Foundry,2025 年底再改為現在的名稱)。你建立一個 Foundry 資源(Foundry resource),底下開專案(project),從 Foundry Models 的模型目錄挑模型並部署(deployment);檢索的部分交給 Azure AI Search(前身 Azure Cognitive Search)。新手最常卡在部署這一步:同一個模型有好幾種部署類型(deployment type),決定資料在哪裡處理、怎麼計費、吞吐量有沒有保證,選錯就會遇到資料落地不合規或費用失控。

直接問模型 客服同仁瑕疵品運費誰付? 語言模型只有一般知識 「顧客負擔」答錯,也沒有出處 先檢索,再生成(RAG) 客服同仁瑕疵品運費誰付? 手冊索引找出〈退貨規定〉 語言模型問題+片段 「公司負擔」附出處〔片段 2〕
上下兩排用的是同一個模型,差別只在下排多了「先去手冊找相關段落」這一步,答案就從看似合理的猜測,變成有出處、可以查核的回答。模型本身沒有變聰明,變的是它拿到的資料。

生活比喻:開卷考的考生

把語言模型想成一位文筆很好、常識豐富的考生,但他沒讀過晴空食品的手冊。閉卷考時,遇到不會的題目,他會憑印象寫一段像樣的答案。RAG 就是把考試改成開卷:考生先到圖書館,用目錄找到和題目最相關的幾頁(檢索),影印帶進考場,再看著那幾頁寫答案,最後註明參考第幾頁(引用出處)。圖書館事先把每本書編好目錄、把章節拆成好查的小節,這就是建立索引和切塊。

考場座位也有不同租法。可以去共用考場隨到隨考、按題數付費;可以包下一排固定座位,不管當天有沒有人來考都照付,換來保證有位子、不用排隊;也可以把一大疊考卷交給閱卷中心,說好隔天再交回結果,價格最便宜。考場還有地點限制:有的考生只能在本國考場應試,有的只要在同一個區域就好,有的則隨便哪裡都行。

開卷考(比喻) Foundry 與 RAG 文筆好但沒讀過手冊的考生圖書館的目錄把書拆成好查的小節影印最相關的幾頁看著影本作答、註明頁碼共用考場/包座位/隔天交卷考場地點的限制 語言模型(部署在 Foundry)Azure AI Search 索引切塊(chunking)檢索前 k 個片段(top-k)依據片段回答並引用Standard/Provisioned/BatchGlobal/Data Zone/地理區
前五列是 RAG 的流程,後兩列是部署類型的兩個維度:怎麼計費與吞吐量保證(租法),以及資料在哪裡處理(地點)。實驗室一練後兩列,實驗室二練前五列。
回到 Azure:剛才的考生就是你在 Foundry 部署的模型,例如 Azure OpenAI in Foundry Models 的聊天模型;圖書館目錄是 Azure AI Search 的索引,把書拆成小節是切塊,影印最相關的幾頁是檢索出 top-k 個片段,看著影本作答並註明頁碼,就是把片段放進提示、要求模型只依據片段回答並引用。考場租法對應部署類型的計費方式:按權杖計費的 Standard 類、預留容量的 Provisioned(以佈建輸送量單位 PTU 計)、非同步的 Batch;考場地點對應資料處理位置:Global、Data Zone,或資源所在的地理區。

這個比喻有三個容易誤解的地方。第一,真正的考生讀過的東西會記住,模型不會:每一次請求都是獨立的,這次帶進去的片段,下一次問問題時模型就「忘了」,所以每次都要重新檢索、重新放進提示;RAG 也不會改變模型本身。第二,考生翻錯章節時,可能自己察覺不對;模型拿到不相關的片段,卻可能照樣寫出看似合理的答案,或者乾脆回頭用一般知識亂答,所以提示裡要明講「找不到就說找不到」,檢索品質也要另外評估。第三,影印的頁數不是越多越好:每一頁都會變成要計費的權杖,太多不相關的內容還會干擾模型。

資源群組 rg-foundry-lab Foundry 資源(kind:AIServices) RBAC、網路、原則、受控識別在這一層統一設定 模型部署 gpt-5-mini text-embedding-3-small 專案 qingkong-rag agent、評估、追蹤 資料連線 其他專案 例如客服、行銷 Foundry Models 模型目錄 (不在你的訂用帳戶) Azure AI Search 獨立的資源 放索引 部署 連線
部署是掛在 Foundry 資源底下的,同一個資源裡的專案可以共用;專案則是團隊做事的工作區。Azure AI Search 是另一個資源,透過專案的連線接進來。舊架構的「Hub 加上 Azure OpenAI 資源」已經被這個單一資源模型取代,舊的 hub-based 專案只留在 Foundry (classic) 入口網站。

🎮 互動實驗室一:這個情境該選哪一種部署類型?

每張卡是一個虛構情境,請在下方的格子裡點選最適合的部署類型。格子的列是資料在哪裡處理(Global:任何 Azure 區域;Data Zone:微軟定義的資料區域,例如美國、歐盟;地理區:資源所在的 Azure 地理區),欄是怎麼計費與保證吞吐量(Standard 類按權杖計費;Provisioned 預留容量;Batch 非同步、便宜但不即時)。答完會說明理由;只對一個維度時,也會告訴你錯在哪一邊。類型名稱與規則依 Microsoft Learn 的 Foundry Models 部署類型頁(2026 年 10 月查證)。

得分 0 / 0
連續答對 0
畫面說明:先找卡片裡「資料能不能出國」的線索決定列,再找「流量穩不穩、急不急」決定欄。

🎮 互動實驗室二:RAG 流程模擬器

下面是晴空食品的內部手冊(虛構,共六段)。選一個問題(或自己輸入),調整切塊大小與 top-k,按「執行 RAG」,畫面會依序顯示四個步驟:切塊、檢索、組成提示、回答。再按「不檢索直接問」比較沒有 RAG 時的回答。注意:這裡的「相似度」是用兩個字一組的字詞重疊算出的分數,只是示意,不是真的向量 embedding;回答也是預先寫好的示意,用來呈現模型拿到哪些片段時會怎麼回答。

切塊大小
top-k(取前幾個片段)
畫面說明:先用預設設定(整段、top-k 2)執行一次,再改成「中:50 字」與 top-k 1,比較第二題與第三題的回答。

🛠️ 操作教學:建立 Foundry 專案、部署模型、接上 Azure AI Search

左邊是簡化的 Foundry 入口網站(實際網址是 ai.azure.com),右邊是做同一件事的 Azure CLI、Bicep,以及呼叫模型的 Python 範例。照著步驟填欄位,右邊會即時換成你填的資源名稱、區域、部署名稱、部署類型與每分鐘權杖數,目前步驟對應的那幾行用黃色底標出。不需要登入 Azure,也不會真的建立資源。模型名稱與版本取自 Microsoft Learn 的快速入門(2026 年 10 月查證);可用模型與版本會變動,以模型目錄為準。

示意畫面:簡化重繪,只保留和本主題有關的欄位;實際畫面以 Azure 入口網站為準。
AI 主控台搜尋模型、專案與文件

自己動手時要注意

權限:建立 Foundry 資源需要訂用帳戶的 Owner,或在資源範圍有 Foundry Account Owner、Foundry Owner 這類角色;只是在專案裡開發與呼叫模型,給 Foundry User 就夠了(這組角色原名 Azure AI User 等,Learn 註明正逐步改名,角色 ID 不變,所以 CLI 範例直接用角色 ID)。建立 Azure AI Search 與指派角色,則需要資源群組上的對應權限。

費用:Standard 類部署按輸入與輸出權杖計費,Provisioned 預留容量按時數計費、不論用不用都會收費,練習時不要選;Azure AI Search 的 Basic 層一建立就按時數計費,語意排序有每月免費額度、超過後按用量計費。價格以 Azure 定價頁為準。

清理:練習完刪除整個資源群組:az group delete --name <名稱> --yes --no-wait。Foundry 資源刪除後也會先進入虛刪除狀態,名稱在清除前不能重用;需要立刻重用名稱時,可以用 az cognitiveservices account purge 清除。

不要寫進範例的東西:不要把 API 金鑰、連接字串或訂用帳戶 ID 寫進程式或範本,請用 <your-subscription-id> 這種佔位字。這裡的 Python 範例用 DefaultAzureCredential 取得 Microsoft Entra 權杖:本機開發時使用你 az login 的身分,部署到 Azure 後改用受控識別,程式碼都不需要改;Bicep 範例也把 disableLocalAuth 設為 true,直接關掉金鑰驗證。也不要把真實的客戶資料或個資拿來練習建立索引。

📘 原理補完

1. Foundry 的資源模型與名稱對照

Microsoft Foundry 的新架構是「一個 Foundry 資源,底下多個專案」。Foundry 資源在 Azure Resource Manager 裡的型別是 Microsoft.CognitiveServices/accounts,kind 為 AIServices;RBAC、私人網路、Azure Policy 與受控識別在這一層統一設定。專案是子資源,放 agent、評估、追蹤與資料連線。模型部署也是 Foundry 資源的子資源,同一個資源底下的專案共用這些部署與配額。舊架構(Hub 加上 Azure OpenAI 與 Azure AI services 資源)只留在 Foundry (classic) 入口網站維護,官方表示新投資集中在新版。

現行名稱(2026 年 10 月)舊名或前身在 RAG 裡扮演的角色
Microsoft FoundryAzure AI Studio → Azure AI Foundry建置、部署、測試與治理的平台;入口網站 ai.azure.com
Foundry Models模型目錄(model catalog)挑選與部署聊天模型、嵌入模型
Azure OpenAI in Foundry ModelsAzure OpenAI ServiceAzure 直接販售的 OpenAI 模型,例如 gpt-5-mini、text-embedding-3-small
Foundry ToolsCognitive Services → Azure AI servicesOCR、文件擷取等前處理,例如 Azure Content Understanding in Foundry Tools
Azure AI SearchAzure Cognitive Search(2023 年 11 月改名)建立索引、全文/向量/混合檢索與語意排序
Foundry IQIgnite 2025 新發表建在 Azure AI Search 上的知識庫,給 agent 用的權限感知檢索
Foundry Agent ServiceAzure AI Agent Service讓 agent 把知識庫或搜尋索引當成工具來用

2. 部署類型:兩個維度、九種組合裡的八種

在 Foundry Models 部署 Azure 直接販售的模型時,部署類型同時決定兩件事。第一是推論在哪裡處理:Global 可能在任何 Azure 區域,Data Zone 只在微軟定義的資料區域內(Learn 列出美國、歐盟與亞太;歐盟資料區域依循 EU Data Boundary),地理區型只在資源所在的 Azure 地理區。三者的靜態資料(例如上傳的檔案)都儲存在指定的地理區。第二是計費與吞吐量:Standard 類按權杖計費、共用容量;Provisioned 預留佈建輸送量單位(PTU),延遲與吞吐量較可預期;Batch 非同步處理,官方說明比 Global Standard 便宜 50%,目標 24 小時內完成但可能更久,而且有獨立的佇列權杖配額。另有一種 Developer 類型,只用來評估微調後的模型,24 小時後自動刪除、沒有 SLA。以下依 Microsoft Learn 部署類型頁整理(2026 年 10 月查證)。

計費方式與吞吐量 → 資料處理範圍 ↓(越往下越嚴) Standard 類 Provisioned Batch Global任何區域 Data Zone美國/歐盟/亞太 地理區資源所在地理區 Global StandardGlobal ProvisionedGlobal Batch Data Zone StandardData ZoneData Zone Batch StandardRegional 起點、配額最高穩定高流量便宜 50%、非即時 Provisioned量小、突發性高Provisioned沒有這種類型
先由上往下決定「資料可以在多大的範圍處理」,再由左往右決定「流量型態與急不急」。越往下限制越嚴、可用配額通常越少;最右下角是空的,地理區型沒有批次部署。這張圖就是實驗室一的那個格子。
部署類型API/CLI 的 SKU 名稱處理位置計費適合
Global StandardGlobalStandard任何 Azure 區域按權杖一般工作負載、起點;預設配額最高、新模型最先上
Data Zone StandardDataZoneStandard資料區域內按權杖美國、歐盟或亞太資料區域的合規需求
StandardStandard資源所在地理區按權杖地理區合規、低到中量且突發性高
Global ProvisionedGlobalProvisionedManaged任何 Azure 區域預留 PTU可預期的高吞吐量
Data Zone ProvisionedDataZoneProvisionedManaged資料區域內預留 PTU資料區域合規加上可預期吞吐量
Regional ProvisionedProvisionedManaged資源所在地理區預留 PTU地理區合規加上可預期吞吐量
Global BatchGlobalBatch任何 Azure 區域比 Global Standard 低 50%大量、非同步、24 小時目標
Data Zone BatchDataZoneBatch資料區域內批次折扣大量非同步,且要留在資料區域

配額與速率限制:配額以每分鐘權杖數(tokens per minute,TPM)計,依「訂用帳戶 × 區域 × 模型 × 部署類型」分配。建立部署時分給它多少 TPM,就是它的速率限制,同時從剩餘配額扣掉;容量以「單位」表示,每單位對應多少 TPM 與每分鐘要求數(RPM)依模型而定,例如 Learn 的配額表列出較舊的聊天模型是 1 單位=1,000 TPM、6 RPM。超過速率限制時,請求會被節流。Provisioned 部署還可以設定溢出(spillover),在容量用滿時把多出來的流量轉給指定的 Standard 部署,Azure CLI 對應的參數是 --spillover-deployment-name。

3. RAG 的兩個階段

RAG 分成「事先準備」與「每次查詢」兩段。準備階段把文件擷取成文字(掃描檔要先做 OCR)、切塊、用嵌入模型(embedding model)把每個片段轉成向量,連同原文與中繼資料寫進 Azure AI Search 的索引,之後在來源更新時增量重建。查詢階段則是:使用者提問 → 用同一個嵌入模型把問題轉成向量 → 在索引裡做混合搜尋與語意排序 → 取前 k 個片段 → 和系統訊息、問題組成提示 → 模型生成回答並引用片段。官方把這種單次查詢、自己寫編排的做法稱為 classic RAG;另一種 agentic retrieval 由 LLM 先把複雜問題拆成多個子查詢,Foundry IQ 的知識庫就是這一種。

準備階段(事先、定期) 手冊文件PDF、網頁 擷取+切塊可加 OCR 嵌入模型片段→向量 Azure AI Search 索引原文+向量+中繼資料 查詢階段(每一次提問) 使用者問題運費誰付? 同一嵌入模型問題→向量 混合搜尋+語意排序取前 k 個片段 提示系統訊息+片段+問題送給聊天模型 回答+引用片段找不到就說找不到
上排做一次、定期更新;下排每一次提問都跑一遍。注意下排第二格寫的是「同一嵌入模型」:建索引和查詢如果用不同的嵌入模型,向量就不在同一個空間,相似度沒有意義。實驗室二用字詞重疊代替了這兩格的向量計算。

4. 關鍵字、向量、混合搜尋與語意排序

Azure AI Search 的全文檢索(full-text search)就是關鍵字比對,以 BM25 計分,產品代碼、人名、精確數字很準,但「運費」和「物流費」這種同義詞會漏。向量搜尋(vector search)比對 embedding 的距離(HNSW 或窮舉 KNN),換句話說也找得到,但對精確代碼反而不一定準。混合搜尋(hybrid search)在同一個請求裡同時跑兩種查詢,再用 RRF(Reciprocal Rank Fusion)合併兩邊的排名。語意排序(semantic ranker)再把合併後的前 50 筆,用微軟的語言模型依語意重新排序,給出 0~4 的 @search.rerankerScore,並可回傳標題摘要(captions)。Learn 寫明,以真實與基準資料集測試,混合檢索加語意排序對相關性有明顯幫助,這也是 RAG 的常見建議組合。語意排序是付費功能,有每月免費額度。

問題:「瑕疵商品寄回去的物流費誰出?」(手冊寫的是「退貨運費」) 關鍵字(BM25) 比對相同字詞 「物流費」≠「運費」 代碼、專有名詞很準 向量 比對語意距離 換句話說也找得到 精確代碼可能不準 混合 兩邊同時查詢 RRF 合併排名 語意排序 前 50 筆重新排序 分數 0~4+摘要 RAG 常見建議組合
左邊兩種各有盲點,所以混合搜尋把兩邊的結果一起排名;右邊的語意排序只處理混合結果的前 50 筆,把真正回答問題的片段往前推。實驗室二的字詞重疊分數,比較接近最左上那一種的簡化版。

5. 切塊大小與 top-k:太碎、太大都有代價

實驗室二已經讓你看到:切得太碎,標題和事實會被分到不同片段,「會員點數」的片段被選中,真正寫「十二個月」的下一個片段卻沒進提示;切得太大,每個片段混雜好幾個主題,向量變得模糊,放進提示的權杖也變多。實務上會讓相鄰片段重疊一小段,避免一句話被切斷,並依文件結構(標題、段落)切。top-k 也一樣:太小容易漏掉需要的第二個事實,太大會塞進不相關的內容、增加費用並干擾模型,所以常搭配相關性門檻。這些都是 AI-300 技能大綱點名的 RAG 調校項目:切塊、門檻、混合搜尋與嵌入模型選擇。

太小適中太大 【會員點數】每消費一百元… …十二個月有效… 選到標題片段事實卻沒進提示 【會員點數】每消費一百元累積一點…十二個月有效…自動失效。 一個片段=一個主題事實完整 【訂單】…【退貨】…【會員點數】…【食品安全】…【客服】…【請假】… 主題混雜、向量模糊每次放進提示都很貴 常見做法:依標題與段落切,相鄰片段重疊一小段 再用評估指標(groundedness、relevance)比較不同設定,而不是憑感覺
中間那一格是目標:一個片段剛好講完一件事。實驗室二的「中:50 字」配上 top-k 1,就會掉進最左邊的情況;改成整段,或把 top-k 加到 2,答案就回來了。

6. 什麼時候用 RAG,什麼時候不用

RAG 適合知識常更新、需要附出處、不同使用者能看的資料不一樣的情境。它不擅長改變模型的語氣、輸出格式或某種特定技能,那是微調(fine-tuning)的工作;兩者也可以並用。如果資料量很小、而且很少變動,直接寫進系統訊息可能就夠了。多個 agent 要共用企業知識並尊重權限時,可以考慮 Foundry IQ;需要完全自訂索引欄位與評分邏輯時,直接操作 Azure AI Search。

要改的是語氣、格式或特定技能? 資料很少、幾乎不會變? 多個 agent 共用、要依權限過濾? 微調(可再搭配 RAG) 直接寫進系統訊息 Foundry IQ 知識庫 RAG:Azure AI Search+部署的模型 是是是 否否否
由上往下問,第一個「是」就是方向。大多數「讓模型回答公司內部問題」的需求,會一路走到最下面的 RAG;Foundry IQ 也是 RAG,只是把切塊、向量化、查詢規劃與權限處理包成受管理的知識庫。

7. 安全與驗證:keyless 是預設思維

Foundry 資源支援 Microsoft Entra ID 驗證。應用程式在 Azure 上執行時用受控識別,本機開發時用開發者自己的登入身分,兩者都透過 DefaultAzureCredential 取得權杖,再指派 Foundry User 這類資料平面角色;確定不需要金鑰後,把 disableLocalAuth 設為 true 關閉金鑰驗證。RAG 還有一個特有風險:檢索進來的文件可能夾帶惡意指示(間接提示注入),所以要啟用 Foundry 的防護措施(guardrails)與 Prompt Shields,並讓檢索結果依使用者權限過濾,避免模型把使用者無權看的內容說出來。

應用程式 DefaultAzureCredential 程式裡沒有金鑰 Entra ID ai.azure.com/.default Foundry 資源 檢查 Foundry User disableLocalAuth ① 要權杖② 權杖③ 帶權杖呼叫部署④ 回答 本機開發用 az login 的身分,部署到 Azure 後改用受控識別,程式碼不必改
和 Python 分頁的程式一一對應:①② 是 get_bearer_token_provider,③ 是 responses.create,④ 是 output_text。右邊的 disableLocalAuth 讓「有人偷偷用金鑰呼叫」這條路根本不存在。

遇到題目時的判斷步驟

  1. 先看是「選部署」還是「讓模型懂公司資料」。前者看處理位置與流量型態,後者通常是 RAG。
  2. 選部署:有資料位置限制就先排除 Global;再看流量穩定且大選 Provisioned,起伏大或量小選 Standard 類,大量不急選 Batch。
  3. 速率限制錯誤:先看部署分到的 TPM 與該區域的剩餘配額,而不是換模型。
  4. RAG 答錯或答不完整:先檢查檢索結果有沒有包含答案,再調切塊、top-k、搜尋類型與嵌入模型,最後才懷疑生成模型。
  5. 檢索品質:同時要精確字詞與語意,選混合搜尋加語意排序。
  6. 安全:用 Entra ID 與受控識別、最小權限角色,啟用防護措施,讓檢索依使用者權限過濾。

容易考錯的地方

把部署名稱和模型名稱搞混:程式呼叫時 model 參數填的是部署名稱。部署名稱可以和模型同名,也可以叫 chat-prod;換模型版本時,只要部署名稱不變,程式就不用改。
以為 Global Standard 會把資料存到國外:Global 類型是「推論可能在任何區域處理」,靜態資料仍儲存在指定的地理區。題目若要求「處理」也不能離開某個範圍,才需要 Data Zone 或地理區型。
以為 RAG 會讓模型學會資料:RAG 不修改模型,每次請求都要重新帶入片段;要讓模型「記住」語氣與格式是微調,要讓它知道最新規章是 RAG。
以為 top-k 越大越好:更多片段代表更多權杖費用,也可能把不相關的內容塞給模型。正確做法是調整後用 groundedness、relevance 等指標評估。
舊名干擾選項:Azure Cognitive Search 就是 Azure AI Search;Azure AI Studio、Azure AI Foundry 都是 Microsoft Foundry 的前身;Azure AI services 現在是 Foundry Tools。選項裡同時出現新舊名時,它們指的是同一件事。

相關考試:AI-901 考在 Foundry 入口網站部署模型並互動、用 Foundry SDK 建立用戶端;AI-103 考選模型、部署設定、配額與速率限制、RAG 與 semantic/hybrid/vector search;AI-300 考 Foundry 資源與專案、PTU 部署,以及切塊、門檻、混合搜尋與嵌入模型等 RAG 調校(依各考試 2026 年的技能大綱)。

✅ 自我檢測

以下 6 題都是原創題,選完會立即顯示對錯與解析,全部作答後會出現總分。目前得分:0 / 6

🎯 重點整理

  1. Microsoft Foundry(前身 Azure AI Studio、Azure AI Foundry)以一個 Foundry 資源加多個專案組織工作,模型部署掛在資源底下。
  2. 部署類型有兩個維度:處理位置(Global、Data Zone、地理區)與計費方式(Standard 類按權杖、Provisioned 預留 PTU、Batch 非同步便宜 50%)。
  3. 配額以 TPM 依訂用帳戶、區域、模型、部署類型分配;部署分到的 TPM 就是它的速率限制。程式呼叫時填的是部署名稱。
  4. RAG=先檢索、再生成:準備階段切塊、向量化、建索引;查詢階段檢索前 k 個片段放進提示,要求依據片段回答並引用。
  5. 模型不會記住檢索到的資料;檢索不到時要讓它說找不到。切塊大小、top-k、搜尋類型與嵌入模型都會影響結果,要用評估指標比較。
  6. 檢索建議混合搜尋加語意排序;驗證用 Microsoft Entra ID 與受控識別,關閉金鑰,並啟用防護措施。