Eion: AI 에이전트용 공동 메모리 및 지식 그래프 저장소

Eion 소개

AI 에이전트 시스템이 점점 복잡해지고 있는 오늘날, 여러 에이전트 간의 효율적인 협업과 정보 공유는 매우 중요한 요소입니다. Eion은 이러한 니즈를 충족시키기 위해 설계된 메모리 및 지식 그래프 저장소입니다. 단일 LLM 애플리케이션부터 다중 에이전트 시스템까지 다양한 시나리오에서 활용될 수 있는 유연한 구조를 가지고 있습니다. 특히 Eion은 PostgreSQL과 Neo4j를 활용하여 대화 기록과 의미 기반 검색, 지식 추출까지 가능하게 하여, 다양한 에이전트들이 하나의 지식 허브를 공유하며 협업할 수 있습니다.

Eion은 다중 AI 에이전트 시스템을 위한 공유 메모리 및 통합 지식 그래프 스토리지입니다. 이 프로젝트는 단일 언어 모델(LLM) 기반 애플리케이션부터 복잡한 에이전시(agency) 구조까지 다양한 AI 배치 시나리오를 포괄할 수 있도록 설계되었습니다. 특히, 각기 다른 에이전트들이 동일한 메모리와 지식을 활용하여 공동 작업을 수행할 수 있도록 해줍니다.

Eion의 주요 목적은 메모리와 지식을 통합하는 통일된 API를 제공하여, AI 시스템 내의 다양한 구성 요소가 일관된 정보를 기반으로 상호작용할 수 있도록 하는 것입니다. 이를 위해 PostgreSQL과 Neo4j를 결합한 아키텍처를 채택하고 있으며, 자체 개발된 지식 추출 서비스로 관계 기반 데이터 구조를 구축합니다. 또한 all-MiniLM-L6-v2 임베딩 모델을 사용하여 실제 문맥 기반의 의미 분석이 가능한 구조를 지원합니다.

실제로 Eion은 에이전트 간 순차적 또는 병렬적인 협업, 외부 게스트 에이전트의 제한적 접근 등 다양한 운영 시나리오를 고려하고 있으며, 이러한 다양한 구성은 각종 에이전시 기반 AI 프로젝트에 실용적인 선택지를 제공합니다.

Eion은 LangChain, Haystack, LlamaIndex와 같은 기존의 벡터 기반 메모리 시스템들과 비교할 수 있습니다. 하지만 이들 시스템은 대부분 단일 모델 또는 파이프라인을 기준으로 설계되어 있는 반면, Eion은 다중 에이전트 간의 메모리 공유, 지식 그래프 통합 등 협업 중심의 설계를 가지고 있습니다.

또한, 일반적인 벡터 데이터베이스는 대부분 의미 기반 검색에 초점을 맞추는 반면, Eion은 시맨틱 검색 외에도 시계열 기반의 지식 저장 및 추출 기능까지 포함하고 있어 구조적인 지식 저장에 더 적합합니다. 특히 Neo4j를 기반으로 한 관계형 지식 모델은 단순한 검색이 아니라 실제 개체 간의 의미 있는 관계를 통해 복잡한 쿼리도 가능하게 만듭니다.

Eion의 주요 특징

  • 공유 메모리 및 지식 그래프: 여러 AI 에이전트가 동일한 메모리와 지식을 공유할 수 있도록 구성.
  • 다양한 운영 모드 지원: 단일 LLM, 순차적 에이전시, 실시간 병렬 협업, 외부 에이전트 접근 등.
  • PostgreSQL + pgvector: 대화 내역 및 시맨틱 검색을 위한 임베딩 기반 스토리지.
  • Neo4j 기반 지식 그래프: 시간 기반의 구조적 지식 저장 및 쿼리 가능.
  • 임베딩 모델 내장: all-MiniLM-L6-v2 모델을 활용한 실전형 임베딩 시스템.
  • 지식 추출 기능 내장: 문서로부터 개체와 관계를 자동 추출하여 지식 그래프에 저장.

Eion 설치 및 사용 방법

설치 전 준비 사항

  • Docker & Docker Compose
  • Go 1.21 이상
  • Python 3.13 이상

설치 및 실행

git clone https://github.com/eiondb/eion.git
cd eion

# 데이터베이스 컨테이너 실행
docker-compose up -d

# pgvector 확장 활성화 및 테이블 생성
docker exec eion_postgres psql -U eion -d eion -c "CREATE EXTENSION IF NOT EXISTS vector;"
docker exec -i eion_postgres psql -U eion -d eion < database_setup.sql

# 파이썬 의존성 설치
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# 서버 빌드 및 실행
go build -o eion-server ./cmd/eion-server
./eion-server

설정 파일 예시

common:
  http:
    host: "0.0.0.0"
    port: 8080
  postgres:
    user: "eion"
    password: "eion_pass"
    host: "localhost"
    port: 5432
    database: "eion"
  numa:
    neo4j:
      uri: "bolt://localhost:7687"
      username: "neo4j"
      password: "password"
      database: "neo4j"

라이선스

Eion 프로젝트는 AGPL v3 라이선스로 공개 및 배포되고 있습니다. 상업적 이용 시 소스 공개 의무가 있으며, 수정 및 배포 시 해당 조건을 준수해야 합니다.

:house: Eion 프로젝트 홈페이지

:github: Eion 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: