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 서비스로 동작하며, 웹 서비스, 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.