microsoft/kernel-memory
Research project. A Memory solution for users, teams, and applications.
What it solves
Kernel Memory(KM)提供了一種結構化方式來索引大型、多模態資料集,並將其用於推動 Retrieval Augmented Generation(RAG)。它解決了建構資料匯入管線的複雜性——處理檔案抽取、文字分塊與向量化——同時允許使用者以自然語言查詢資料,並附上引用與來源連結。
How it works
KM 作為多模態 AI 服務運作,可部署為 Web 服務、Docker 容器或嵌入式 .NET 函式庫。它使用持續資料混合管線來處理文件(PDF、Word、Excel 等),透過抽取文字、切分為區塊、使用 LLM 產生嵌入,並將其儲存於向量資料庫。使用者接著提出問題,系統會檢索相關資料以產生有根據的答案。
Who it’s for
此服務設計給需要 RAG 功能的 AI 應用開發者,特別是與 Semantic Kernel、Microsoft Copilot 或 ChatGPT 整合的開發者。適用於需要可擴充、非同步文件處理後端的團隊,或希望在 .NET 應用中使用輕量無伺服器元件的情境。
Highlights
- Flexible Deployment: Available as a Web Service, Docker container, or embedded .NET library.
- Customizable Pipelines: Supports custom handlers to modify how data is extracted, chunked, and stored.
- Multi-modal Support: Handles various formats including web pages, PDF, Images, Word, PowerPoint, Excel, Markdown, and JSON.
- Broad Integration: Extensive extensions for AI providers (OpenAI, Ollama, Anthropic), vector stores (Azure AI Search, Postgres, Qdrant, Redis), and file storage (Azure Blob, AWS S3).
- Security & Organization: Supports document ownership and tagging for faceted navigation and security filtering.