kreeben/resin
Language model search engine built on a vector database and an anything key/value store.
해결하는 문제
Resin은 검색 엔진과 머신러닝 모델을 구축하기 위한 고성능 기반을 제공합니다. 문자열, 바이트 배열, 벡터와 같은 대량의 데이터를 효율적으로 저장하고 검색하는 문제를 해결하며, 빠른 키/값 조회와 서로 다른 데이터 열 간의 복잡한 집합 연산을 지원합니다.
작동 원리
Resin은 세 가지 전용 스트림을 사용하는 사용자 정의 스토리지 시스템을 구현합니다. 정렬된 키를 위한 키 스트림 (.key), 오프셋과 길이를 위한 주소 스트림 (.adr), 그리고 실제 데이터를 위한 값 스트림 (.val)입니다. 추가 전용 (append-only) 값 스트림을 사용하여 안정적인 오프셋과 선형 확장을 보장합니다. 이 시스템은 단일 값 저장과 연결된 값 체인을 모두 지원하여, 키 자체를 복제하지 않고도 여러 값을 단일 키에 연결할 수 있습니다. 텍스트 분석을 위해 문자열 처리, Bag-of-Words/Chars 분석 및 벡터 연산을 위한 유틸리티가 포함되어 있습니다.
대상 사용자
벡터 공간 검색 엔진, 사용자 정의 벡터 데이터베이스를 구축하거나, 빠르고 의존성이 낮은 디스크 기반 키/값 저장소 및 텍스트 분석 도구가 필요한 애플리케이션 개발자를 위해 설계되었습니다.
주요 특징
- 추가 전용 스토리지: 단편화를 방지하고 효율적인 캐싱을 위해 안정적인 오프셋을 보장합니다.
- 벡터 공간 검색: 벡터 연산 및 유사도 도구에 대한 내장 지원.
- 집합 연산: 열 기반 아키텍처를 통해 효율적인 합집합, 교집합 및 조인 가능.
- 텍스트 분석 유틸리티: 문자열 분석 및 어휘 사전 생성을 위한 도구 포함.
- 경량 설계: 최소한의 의존성으로 확장이 용이함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트