프로젝트 소개

M-flow는 지식 그래프를 기본 점수화 엔진으로 취급하여 검색 증강 생성(RAG)을 재정의하는 오픈소스 Python 라이브러리입니다. 벡터 유사성으로 결과를 순위화하는 기존 RAG 시스템과 달리, M-flow는 지식을 Episode, Facet, FacetPoint, Entity의 4단계 원뿔 그래프로 구성하고, 유형화되고 의미적으로 가중치가 부여된 가장자리를 따라 그래프 전파를 사용하여 각 지식 단위를 쿼리에 연결하는 가장 강력한 추론 체인으로 점수화합니다. 그래프 라우팅 번들 검색이라고 하는 이 접근 방식은 다중 세분화 검색을 가능하게 합니다. 정밀한 쿼리는 FacetPoint에 고정하여 속한 Episode를 반환할 수 있고, 광범위한 쿼리는 Episode 요약을 통해 진입할 수 있습니다. 시스템은 또한 인덱싱 전에 대명사를 해결하기 위한 수집 시 상호참조 해결, 다중 인물 격리를 위한 선택적 얼굴 인식 메모리 분할, 재사용 가능한 추상 패턴을 위한 절차적 메모리 추출을 포함합니다. M-flow는 여러 벡터 및 그래프 데이터베이스(LanceDB, Neo4j, PostgreSQL/pgvector, ChromaDB, KùzuDB, Pinecone)를 지원하고, LLM에 구애받지 않으며(OpenAI, Anthropic, Mistral, Groq, Ollama 등), CLI, 웹 UI, MCP 서버를 제공합니다. LoCoMo-10 및 LongMemEval 벤치마크에서 강력한 성능을 보여주지만, 이는 자체 보고된 결과입니다. 프로젝트에는 Docker 배포 옵션, 얼굴 인식이 포함된 플레이그라운드, 광범위한 문서가 포함되어 있습니다.