Knowledge-and-Memory-Management v0.0.2: Portable Knowledge Collection and Memory Management

개요

Knowledge-and-Memory-Management v0.0.2는 개발자가 지식 기반 에이전트를 구축할 때 사용할 수 있도록 환경 설정에 구애받지 않는 이식 가능한 구조를 제공하는 업데이트입니다.

주요 내용

* 이식 가능한 $AGENT_HOME 변수 도입: 기존의 하드코딩된 개인 경로를 $AGENT_HOME 변수로 대체하여 환경별 설정을 제거했습니다. 이 변수는 기본값으로 ~/agent_home을 사용하지만, 환경 변수를 통해 재정의할 수 있습니다.
* 다양한 지식 수집 기능:
* Web: JavaScript가 많이 사용되는 사이트를 위한 헤드리스 브라우저 지원, 정적 HTML을 위한 트리 기반 파싱, 자동 속도 제한 및 robots.txt 준수를 갖춘 적응형 스크레이핑 기능을 제공합니다.
* Video: YouTube와 같은 플랫폼에서 API 또는 자막 휴리스틱을 통해 영상의 트랜스크립트를 추출하며, 제목, 재생 시간, 타임스탬프와 같은 메타데이터를 보존합니다.
* Articles: 저자, 발행 날짜, 태그 등의 정보를 포함하는 긴 형식의 콘텐츠를 가독성 기반으로 추출하여 구조화된 형식으로 정규화합니다.
* 유연한 메모리 관리 시스템:
* 원시 데이터 저장: $AGENT_HOME/data/collections/ 경로에 JSON/텍스트 스냅샷 형태로 저장됩니다.
* 처리된 메모리 저장: $AGENT_HOME/memory/ 경로에 임베딩 및 메타데이터가 포함된 벡터 인덱스 형태로 저장됩니다.
* 중복 제거 및 유지 관리: 콘텐츠 해시를 사용하여 동일한 소스를 병합하고, 야간 유지 관리 작업을 통해 오래된 항목을 정리합니다.
* 워크플로우 예시: 웹 기사를 수집하고, 메모리에 저장하며, 검색 쿼리를 수행하는 Python 코드 스니펫을 제공합니다. Collector는 스크레이핑 및 정규화를 처리하고, MemoryManager는 인덱싱 및 검색을 관리하며, 두 모듈 모두 $AGENT_HOME을 기준으로 작동합니다.
* $AGENT_HOME의 중요성: 로컬 개발에서 스테이징 또는 프로덕션으로 전환 시 발생하는 경로 관련 문제를 해결합니다. 개발자는 테스트 중 임의의 디렉터리로 설정할 수 있으며, 운영팀은 코드 수정 없이 프로덕션에서 재지정할 수 있습니다. 컨테이너 환경에서는 볼륨 마운트를 통해 재시작 간 메모리 지속성을 보장합니다.
* 확장성 및 성능: 새로운 데이터 소스 추가는 기본 Collector 클래스를 서브클래싱하고 extract() 메서드를 구현하여 가능합니다. 메모리 시스템은 새로운 데이터 유형을 자동으로 수집합니다. 벡터 인덱스는 HNSW를 사용하여 빠른 의미 검색을 제공하며, 수집 파이프라인은 비동기적으로 작동하여 동시 크롤링을 처리합니다.

시사점

이 릴리스는 안정적이고 환경에 구애받지 않는 지식 관리 기능을 필요로 하는 에이전트 개발자에게 견고한 기반을 제공하며, 세 가지 수집 소스는 일반적인 데이터 수집 요구 사항을 충족시키고 이식 가능한 경로 아키텍처는 다양한 인프라에 걸친 배포를 단순화합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions