Ducky 是什麼
Ducky 是 Lyco.AI, Inc. 所提供的全托管式檢索基礎設施,它能協助開發者為 RAG 應用程式及 AI 智能體建立索引、搜尋文件,並回傳可供模型使用的上下文資料。如此一來,團隊便不必自行部署向量資料庫、管理各種管道、處理混合檢索功能或重新排列資料。
本條目介紹的是專為開發者設計的 Ducky AI 搜尋平台,而非 Duckie 客服智能體、同名的命令列工具或其他搜尋專案。Ducky 提供網頁控制台、網路 API,以及 Python 與 TypeScript SDK。
主要功能概覽
| 功能 | 輸入 | 輸出 | 適合任務 |
|---|---|---|---|
| 文本索引 | 正文、標題、文件編號和元資料 | 可檢索的文件與內容分塊 | 知識庫、商品、評論和內部資料搜尋 |
| 文件索引 | PDF、TXT、Markdown等文本檔案 | 自動提取並索引的文本 | 手冊、報告、合約和長文件 |
| 多模態索引 | 文本與JPEG、PNG、GIF、WebP圖片 | 可用自然語言搜尋的統一表示 | 視覺素材、商品圖片和圖文文件 |
| 混合搜尋 | 自然語言查詢和搜尋參數 | 關鍵詞與語義結合的結果 | 同時需要精確詞和概念匹配的應用 |
| 元資料過濾 | 類別、日期、標籤、評分和權限欄位 | 符合結構化條件的結果 | 多租戶、權限、狀態和業務篩選 |
| 重排 | 初步檢索候選 | 相關性重新排序的結果 | 提升頂部結果品質 |
| Ask 接口 | 索引名稱和自然語言問題 | 綜合答案、置信度及關聯文件 | 問答助手和智能體知識調用 |
| 文件管理 | 文件建立、更新、列出和刪除請求 | 持續維護的索引內容 | 與產品資料庫和內容系統同步 |
Project、Index 與 Document
Project是最高層級的資源與權限範圍,一個Project可以包含多個Index,而API金鑰也與Project相關聯。Index則是一組相關文件的集合,進行搜尋時必須指定目標Index。
- 用不同 Project 隔離環境、客戶或應用。
- 用不同 Index 隔離商品、說明文件、工單或法規資料。
- 每個 Document 都屬於一個 Index,並可使用自訂的文件編號。
- 正文是主要檢索內容,標題和原始地址可作為輔助欄位。
- 元數據保存類別、版本、權限、作者、評分和時間等結構化屬性。
- API 密鑰應只授予需要存取對應 Project 的服務。
Index 的設計比傳統搜尋引擎的配置更簡化,不需要使用者預先定義複雜的對應關係。雖然配置較為簡單,但團隊仍需自行設計資料邊界、權限欄位、文件版本以及同步策略。
文本與文件索引
開發者可以直接提交文字,也可以上傳 PDF 和 UTF-8 文本檔案。目前規定,單個檔案的大小最多為 60MB,平台會提取檔案內容後進行切分、向量化及建立索引。
- 正文 content 是文本索引的必需字段。
- title、原始地址、source document id 和 metadata 為可選欄位。
- 元數據值支援字串、數字和布林類型。
- 批量索引單次最多提交 100 個文件。
- 異步 SDK 方法適合並行上傳,但仍應控制用戶端併發。
- upsert 使用同一文件編號來建立或更新內容。
- 刪除上游內容時,應同步調用刪除介面並驗證索引結果。
在上傳 PDF 之前,應先確認掃描檔中是否包含可提取的文字,並隨機檢查表格、頁眉以及跨頁段落。即便是格式複雜的文件,即便能夠成功建立索引,也有可能出現順序錯誤,或是某些段落缺乏上下文資訊的情況。
多模態圖片索引
Ducky的多模態索引功能能將圖片與文字結合,形成可搜尋的文件,同時還能自動提取視覺資訊。目前支援的格式有JPEG、PNG、GIF和WebP,而圖片則可以透過可訪問的網址或Base64格式來提交。
- 適合搜尋商品外觀、圖表、截圖、設計素材和圖文知識庫。
- 自然語言查詢可以匹配圖片視覺內容和配套文字。
- 圖片地址抓取目前有 10 秒超時限制。
- 使用 Base64 會增加請求體大小和傳輸成本。
- 圖片中的細小文字、複雜圖表和低清晰度內容可能識別不完整。
- 上傳前應移除人臉、證件、密鑰、客戶資料等不必要敏感資訊。
舊版資料載入文件仍寫明目前僅支援文字,而較新的多模態文件與產品頁面則已明確提供圖片功能。這反映出文件更新並不同步,實際使用時應以目前的 API 說明及帳戶功能為準。
檢索流程與搜尋類型
Ducky會將文件切分成較小的內容區塊,並產生其語義表徵,再將這些區塊及元資料寫入索引中。在進行查詢時,可以透過關鍵字、語義或兩者結合的方式來搜尋,最後還可以對結果進行重新排序。
| 檢索方式 | 匹配重點 | 適合場景 | 主要邊界 |
|---|---|---|---|
| 關鍵字搜尋 | 精確詞和近似詞 | 編號、術語、型號和法規條款 | 同義表達可能漏召回 |
| 語意搜尋 | 查詢與內容含義 | 自然語言問答和概念匹配 | 可能返回含義接近但事實不符的內容 |
| 混合搜尋 | 關鍵詞與語義共同加權 | 產品搜尋與企業知識檢索 | 需要按數據集調節權重 |
| 元資料過濾 | 結構化欄位條件 | 權限、日期、類別和工作流狀態 | 元數據錯誤會導致越權或漏檢 |
| 重排 | 候選結果二次排序 | 提高前幾條結果相關性 | 增加處理時間和檢索費用 |
alpha參數用於平衡關鍵字與語義信號,top_k則用來控制返回的數量,目前文件中規定的範圍為1至100。團隊應使用真實的問題集來評估召回率、頂部準確率、延遲以及每次查詢的成本。
檢索結果如何使用
Retrieve 可同時返回按文件聚合的結果與單獨的內容塊,結果包含正文、元資料與相關性分數。應用程式可以選擇最相關的分塊加入大型模型的提示中,也可以向使用者顯示對應的文件。
- 文件結果便於展示完整記錄和原始資料。
- 分塊結果便於控制發送給大模型的上下文長度。
- 相關性分數適合排序和調試,不應當作事實正確率。
- 元數據可用於繼續做權限、渠道和版本判斷。
- 原始文件編號便於回到業務系統核驗和更新。
- 生成回答時應保留被使用文件和分塊的審計記錄。
Ask 接口
Ask 接口將搜尋與答案整合封裝在單一請求中,用戶提交問題後,內部智慧體可進行擴展搜尋、跨文件推理並產生直接回答。回應會包含置信度與相關文件,適合快速建立問答入口。
置信度並非法律、醫療或業務事實的保證,相關文件也可能過期、存在衝突或權限不當。高風險應用應保留原文檢查、閾值設定、拒絕回應機制、人工審批以及可追蹤的引用資料。
完整接入教學
- 註冊帳戶並建立 Project,明確開發、測試和生產環境的邊界。
- 在 Project 中建立 Index,並根據資料用途與存取權限來規劃命名。
- 創建專用 API 金鑰,保存到伺服器端金鑰管理系統。
- 安裝 Python 或 TypeScript SDK,或選擇直接呼叫網路介面。
- 準備少量代表性文本、PDF 和元數據,先驗證抽取與分塊品質。
- 提交索引任務並保存文件編號,檢查列表和單文件讀取結果。
- 使用關鍵字、語義與混合檢索測試真實用戶問題。
- 調整 alpha、top_k、過濾條件和是否重排,並建立離線評測集。
- 將檢索結果或 Ask 回答接入應用,同時實現權限與事實核驗。
- 監控索引和檢索 token、失敗請求、延遲、空結果與超額費用。
- 建立更新和刪除同步任務,定期輪換金鑰並復查資料保存安排。
Python、TypeScript 與直接 API
| 接入方式 | 安裝或調用 | 特點 | 適合用戶 |
|---|---|---|---|
| Python SDK | 安裝 duckyai | 同步、異步和上下文管理支援 | Python後端、數據與AI團隊 |
| TypeScript SDK | 安裝 duckyai-ts | 類型支援、零依賴和按需打包 | Node.js與全堆疊應用 |
| 直接 API | 標準網路請求 | 不受程式設計語言限制,可完全控制請求 | 其他語言和自訂整合 |
| Ask 接口 | SDK或網路請求 | 直接返回綜合答案、置信度及文件 | 快速問答與智能體原型 |
Python 套件的目前版本為 0.12.0,TypeScript 套件的目前版本則為 1.4.1。這些版本會持續更新,因此在實際運作環境中,應固定所使用的套件版本、留意變更記錄,並在升級之前執行回歸測試。
API 密鑰安全
- 不要把密鑰寫入瀏覽器前端、行動應用程式套件或公開倉庫。
- 按 Project 和環境分別創建密鑰,避免跨客戶共用。
- 在自有後端增加身份驗證、請求限額和審計日誌。
- 不要把用戶傳入的 Index 名稱直接用於越權查詢。
- 密鑰洩露時立即撤銷,並檢查索引、檢索和費用異常。
- 在日誌中遮蓋密鑰、客戶正文和敏感元數據。
價格與用量
| 套餐或版本 | 價格 | 計費週期 | 核心權益或額度 | 適合用戶 |
|---|---|---|---|---|
| Trial | 0美元 | 試用 | 10萬索引token、10萬檢索token | 原型與小數據集測試 |
| Launch | 290美元 | 每月 | 每月300萬索引token、300萬檢索token、Slack專屬支援 | 上線應用和持續流量 |
| Launch索引超額 | 每1K token 0.014美元 | 按量 | 超過套餐索引額度後計費 | 新增或頻繁更新大批文件 |
| Launch檢索超額 | 每1K token 0.079美元 | 按量 | 超過套餐檢索額度後計費 | 高查詢量應用 |
索引和檢索使用不同的 token 額度與超額單價,不能只按文件數量或查詢數量來估算成本。文件長度、分塊方式、返回的上下文內容、重新排序以及重複更新等因素,都會影響實際的用量。
公開頁面並未明確說明試用版是否會按月更新、Launch服務是否會自動續費、未使用的額度是否可以結轉、稅費問題、失敗的請求處理方式,以及退款和取消的規則。在進行正式採購之前,應在結算頁面或書面合約中確認這些事項。
成本控制建議
- 先對文件去重、清理模板頁眉及無檢索價值的重複內容。
- 使用文件編號 upsert,避免把每次小更新都當成新文件。
- 為查詢設定合理的 top_k,不要預設取滿 100 條。
- 只在需要提升排序品質時啟用重排。
- 用元數據過濾縮小搜尋範圍並減少無關上下文。
- 緩存允許重複使用檢索結果,同時設定內容更新失效機制。
- 分別監控索引和檢索 token,設定月度預算與超額告警。
GitHub、SDK 與開源狀態
| 項目 | 當前狀態 | 許可證情況 |
|---|---|---|
| Ducky託管平台 | 閉源SaaS | 條款明確平台、算法和技術為公司知識產權 |
| ducky-cookbook | 公開範例與指南倉庫 | 未檢測到許可證文件或SPDX標識 |
| Python SDK | 可透過軟體包倉庫安裝 | 當前包元數據未聲明許可證 |
| TypeScript SDK | 可透過軟體包倉庫安裝 | 當前包元數據未聲明許可證 |
| OpenAPI與接口文件 | 公開提供 | 文件可讀不等於代碼可自由再發行 |
cookbook 已公開且持續更新,可用於學習法律文件問答、Slack 搜尋等整合方式,但在沒有許可證的情況下,無法自動獲得複製、修改及商業散發的權利。SDK 可下載安裝,但這並不代表該平台或套件採用開放許可。
隱私、安全與資料保存
隱私政策說明會中,會處理姓名、電子郵件、電話號碼、地址、IP位址、瀏覽器資訊、裝置資訊,以及使用與診斷相關的數據。同時,也會使用 Cookie、像素及類似技術。這些個人資訊可用於建立帳戶、履行合約、進行溝通、分析數據、改善服務品質,以及用於行銷之目的。
- 個人資訊可能與服務商、關聯方、業務夥伴和交易承攬方共享。
- 數據可能在公司及處理方所在地區處理,保護法律可能與用戶所在地不同。
- 個人資料會根據業務目的、爭議處理及法律義務所要求的期限來保存,並無統一的公開時限。
- 用戶可在帳戶中更新部分資訊,也可申請訪問、更正或刪除。
- 公司承諾採取商業上合理的保護措施,但不保證絕對安全。
- 服務不面向 13 歲以下兒童。
條款規定,Ducky僅會連接用戶主動提供的資料,並採取合理措施來保護資料的機密性。目前,尚未公開有關資料儲存的位置、索引刪除的時間限制、備份策略、DPA、SOC 2、ISO 27001等相關規定,或是用戶的內容是否會被用於訓練模型的完整說明。
企業數據建議
- 不要在未簽署資料處理協議前索引敏感個人資訊或客戶機密。
- 向服務方確認數據駐留、子處理商、訓練用途和刪除證明。
- 用元數據實施租戶與權限過濾,但在應用後端再次強制鑒權。
- 為測試環境使用脫敏或合成數據,不複製完整生產知識庫。
- 保留上游原始數據與索引清單,避免把託管索引當作唯一備份。
- 合約結束前導出必要映射,並驗證文件、分塊和備份刪除流程。
準確性、版權與商用邊界
Ducky負責搜尋並根據索引來產生答案,但使用者仍需對結果進行審核。搜尋分數、結果的排序方式以及Ask的置信度,都無法證明該答案是正確、完整且適合用於高風險決策的。
- 僅索引團隊有權處理及向外部服務傳輸的文件。
- 為客戶內容、員工資料及受許可的資料庫確認合約權限。
- 搜尋應用要在檢索前後同時實施訪問控制。
- 面向用戶展示答案時提供原文定位和更新時間。
- 為衝突文件、無結果和低置信度建立拒答與人工複核。
- 條款未完整說明客戶數據和生成輸出權利,企業應書面確認。
- 平台自身不得在未獲書面同意時複製、修改或分發。
適合用戶與場景
- SaaS開發團隊:為產品加入說明中心及應用內搜尋功能。
- 智能體開發者:為工具調用和回答提供相關上下文。
- 電商團隊:依自然語言、圖片和元數據搜尋商品。
- 企業知識團隊:搜尋手冊、政策、會議記錄及內部報告。
- 法務與合規團隊:構建帶原文核驗的條款問答原型。
- 客服產品:檢索工單、產品文件及解決方案知識。
- 數據團隊:快速驗證關鍵字、語義、混合和重排策略。
優勢與主要限制
主要優勢
- 託管索引、分塊、語意搜尋和重排,減少自建基礎設施。
- 同時提供關鍵字、語義、混合搜尋和複雜元資料過濾。
- 支援文字、PDF、純文字檔案以及多模態圖片。
- Python、TypeScript 與直接 API 覆蓋常見接入方式。
- Ask 接口能直接返回答案、置信度和關聯文件。
- 免費額度允許先用真實小數據集驗證品質。
主要限制
- 索引和檢索採用不同 token 計費,成本需分別監控。
- 混合權重、分塊、元資料和權限仍需要團隊設計與評測。
- Ask 生成的答案可能不準確,不能替代原文與專業審核。
- 部分舊文件與新多模態頁面的支援範圍不同步。
- 數據駐留、認證、訓練用途及刪除細節的公開資訊不足。
- 平台閉源,公開 cookbook 和 SDK 目前沒有檢測到許可證聲明。
總結
Ducky 適合那些希望快速為 AI 產品接入託管文件索引、混合檢索、重排及問答介面,且不願自行維護搜尋集群的開發團隊。在上線之前,應特別檢驗真實資料品質、權限隔離、兩種類型的 token 所產生的成本、隱私合約、資料刪除流程,以及未取得許可時可使用範圍的範例代碼。
常見問題
Ducky 是什麼類型的工具?
它是一種全托管式的 RAG 檢索基礎設施,可提供文件索引、關鍵字與語意搜尋、內容重排以及即時問答功能,主要透過 API 和 SDK 來與應用程式相連接。
Ducky 可以免費使用嗎?
可以試用,Trial 目前包含 10 萬個索引 token 和 10 萬個檢索 token。公開頁面並未說明這些額度是否會定期刷新。
Launch 套餐多少錢?
目前為每月 290 美元,包含每月 300 萬個索引 token 和 300 萬個檢索 token,以及 Slack 專屬支援。
超額用量如何收費?
索引超額為每 1K token 0.014 美元,檢索超額為每 1K token 0.079 美元。應分別設定監控和預算。
支援 PDF 和圖片嗎?
支援 PDF、文字檔案以及多模態圖片。圖片格式包括 JPEG、PNG、GIF 和 WebP,檔案與圖片的大小限制請參考現行介面說明。
支持哪些檢索方式?
支援關鍵字、語意及混合檢索,可用 alpha 調整權重,並支援元資料過濾與可選重排。
Ask 接口與普通檢索有什麼區別?
普通檢索會返回文件與分塊,Ask則會繼續綜合答案並返回置信度與相關文件。兩者皆需自行進行權限與事實審核。
有 Python 和 TypeScript SDK 嗎?
有,Python 的套件名稱為 duckyai,TypeScript 的套件名稱則為 duckyai-ts。也可以透過標準的網路請求來直接呼叫 API。
ducky-cookbook 是開源的嗎?
倉庫資料可公開閱讀,但目前未檢測到許可證檔案或 SPDX 標識。公開並不等同於獲得修改、商用及再分發的授權。
Ducky 平台開源嗎?
不開源,條款將平台、算法及相關技術列為公司知識產權。SDK 和範例倉庫公開也不改變平台的閉源屬性。
桂公網安備45132202000164號