到目前為止,我們已經能夠透過 API 呼叫 GenAI,打造簡單的應用程式(Day 9 的 Demo)。
但是,模型本身並不知道你的企業內部知識,例如:
公司的產品規格
FAQ 文件
專案報告
如果想讓 AI 回答「專屬於公司」的問題,就需要 資料整合。
1️⃣ 為什麼需要資料整合?
一般模型的限制:
訓練資料停留在某個時間點(不會即時更新)
無法存取你的私有資料
因此,必須將 外部知識引入,才能讓 AI 提供正確的專屬答案。
👉 這就是 RAG (檢索增強生成, Retrieval-Augmented Generation) 的核心精神。
2️⃣ RAG 基本流程
使用者提出問題
系統在 知識庫 中檢索相關資料
將檢索到的內容與使用者問題一起送進模型
模型基於上下文生成回覆
流程示意:
User 問題 → [知識檢索] → 文件片段 → [送入 GenAI] → 回答
3️⃣ Azure 與 GCP 的資料整合方案
Azure AI Foundry
可搭配 Azure Cognitive Search 作為知識檢索工具
與 Azure Blob / SharePoint / SQL 整合方便
提供 "On Your Data" 功能,能直接把文件接到 OpenAI 模型
GCP Vertex AI
可搭配 Vertex AI Search & Conversation(前身是 Dialogflow + Enterprise Search)
與 BigQuery、GCS (Google Cloud Storage) 緊密整合
適合大規模資料檢索
4️⃣ 簡單範例:FAQ 文件整合 (Azure Cognitive Search)
from openai import AzureOpenAI
import os
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_KEY"),
api_version="2023-05-15",
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT")
)
query = "我們的產品 A 的保固期限是多久?"
# 模擬已經檢索到 FAQ 文件中的一段
retrieved_doc = "產品 A 的保固期為兩年,並包含免費維修服務。"
response = client.chat.completions.create(
model="gpt-35-turbo",
messages=[
{"role": "system", "content": "你是一個客服助理"},
{"role": "user", "content": f"問題: {query}\n\n文件內容: {retrieved_doc}"}
]
)
print(response.choices[0].message.content)
5️⃣ 應用場景
智慧客服:根據 FAQ / 知識庫回答客戶問題
內部助理:幫員工快速找到 HR / IT / 專案資訊
法規與合規查詢:將法規文件整合,提供精準回答
6️⃣ 小結
今天我們學會:
為什麼需要將 企業知識 + GenAI 整合
什麼是 RAG,以及它的基本流程
Azure 與 GCP 分別如何做資料整合
簡單的 FAQ 整合範例