Antfly: Go로 구현된 분산형 멀티모달 검색 및 메모리, 그래프 시스템
안녕하세요 HN, Antfly를 소개하게 되어 기쁩니다: Go로 작성된 분산형 문서 데이터베이스이자 검색 엔진으로, 전문 검색, 벡터 검색, 그래프 검색을 결합했습니다. 분산형 멀티모달 검색 및 메모리 시스템으로 사용하거나, 로컬 개발 및 소규모 배포에 활용할 수 있습니다. 개발자들에게 네이티브 ML 추론(내장 서비스 Termite를 통해)을 포함한 단일 바이너리 배포를 제공하기 위해 만들었습니다. 즉, 벡터 검색을 위해 외부 API 호출이 필요하지 않습니다(원할 경우 사용 가능). 이 커뮤니티에 관심 있을 만한 기능들: 기능: 멀티모달 인덱싱(이미지, 오디오, 비디오), MongoDB 스타일의 인플레이스 업데이트, 스트리밍 RAG. 분산 시스템: etcd 라이브러리를 기반으로 한 Multi-Raft 설정, Pebble(CockroachDB의 스토리지 엔진) 지원. 메타데이터와 데이터 샤드는 각각의 Raft 그룹을 가집니다. 단일 바이너리: antfly swarm을 통해 모든 기능이 실행되는 단일 프로세스 배포를 제공합니다. 로컬 개발 및 소규모 배포에 적합합니다. 필요 시 노드를 추가하여 확장할 수 있습니다. 생태계: Kubernetes 오퍼레이터와 LLM 도구 사용을 위한 MCP 서버를 포함합니다. 네이티브 ML 추론: Antfly는 Termite를 내장하고 있습니다. 비생성형 모델(임베딩, 재순위화, 청킹, 텍스트 생성)을 위한 내장형 Ollama와 유사하다고 생각하시면 됩니다. 외부 API 호출이 필요하지 않지만, 지원도 합니다(OpenAI, Ollama, Bedrock, Gemini 등). 라이선스: Elastic License v2를 선택했습니다. OSI 승인 라이선스는 아닙니다. 이 주제에 대해 강한 의견이 있으실 거라 압니다. 실질적인 결과: 사용, 수정, 셀프 호스팅, 상위 제품 구축이 가능하지만, Antfly 자체를 관리형 서비스로 제공할 수는 없습니다. 지속 가능성을 위한 적절한 균형점이라고 생각하며, 소스 코드는 공개했습니다. 아키텍처, Raft 구현 또는 기타 질문에 답변드리겠습니다. 피드백 환영합니다!
- API 플랫폼
- SaaS
- 대형 언어 모델
✨ AI 요약
Antfly는 Go로 작성된 분산 문서 데이터베이스 및 검색 엔진으로 전체 텍스트, 벡터 및 그래프 검색 기능을 결합합니다. 임베딩 및 다른 작업을 위한 내장 ML 추론을 지원하는 단일 바이너리 배포를 특징으로 합니다.
추천 대상
멀티모달 데이터(이미지, 오디오, 비디오) 통합 검색 솔루션이 필요한 개발자, RAG 애플리케이션을 위한 자체 호스팅, 분산 검색 및 메모리 시스템을 찾는 팀, 외부 API 의존성 없이 로컬 개발 또는 소규모 배포가 필요한 프로젝트
중요한 이유
네이티브 ML 추론을 지원하는 멀티모달 검색을 위한 단일, 독립 시스템을 제공하며, 외부 API 호출 필요 없이 분산 확장을 지원합니다.
주요 기능
- 단일 분산 데이터베이스에서 전문 검색, 벡터 검색, 그래프 검색을 결합
- 외부 API 없이 임베딩, 재순위 지정, 청킹을 위한 내장 ML 추론 서비스
- 이미지, 오디오, 비디오 문서의 멀티모달 인덱싱 지원
- 로컬 개발을 위한 단일 바이너리 배포로 분산 클러스터로 쉽게 확장 가능
사용 사례
- 한 미디어 회사는 기자들이 자연어 질의를 사용하여 비디오 클립, 오디오 인터뷰, 이미지를 찾을 수 있는 내부 아카이브 검색 시스템을 구축하려 합니다. 다양한 미디어 유형별로 별도의 데이터베이스를 유지하고 외부 AI 서비스에 의존하는 대신, 그들의 엔지니어링 팀은 Antfly를 단일 바이너리로 내부 서버에 배포합니다. 이제 기자들은 모든 미디어 형식을 동시에 검색할 수 있으며, 시스템은 자료에 언급된 사람, 사건, 주제 간의 그래프 관계를 사용하여 관련 콘텐츠를 자동으로 제안합니다.
- AI 기반 연구 보조자를 개발하는 스타트업은 세션 간 사용자 상호작용, 문서, 웹 페이지를 기억하는 메모리 시스템을 구현해야 합니다. 그들의 개발자들은 API 비용 없이 콘텐츠를 벡터화하기 위해 내장 임베딩 모델을 활용하여 프로토타이핑에 Antfly의 로컬 배포 모드를 사용합니다. 확장하면서 데이터베이스를 여러 노드에 분산시키면서도 과거 대화와 검색된 문서에 대한 의미론적 검색을 수행하는 능력을 유지하여, 보조자가 상황에 맞는 관련 답변을 제공할 수 있게 합니다.
- 한 전자상거래 플랫폼은 고객이 이미지나 모호한 설명을 사용하여 검색할 수 있도록 제품 발견을 강화하려 합니다. 그들의 백엔드 팀은 제품 이미지, 설명, 고객 리뷰 감정을 색인화하기 위해 Antfly를 구현합니다. 사용자가 원하는 아이템의 사진을 업로드하면, 시스템은 시각적으로 유사한 제품을 찾고 구매 그래프 패턴을 기반으로 보완적인 아이템을 추천하며, MongoDB 스타일 작업을 통해 실시간 재고 업데이트를 처리합니다.