Repolode
philippgille

philippgille/chromem-go

Chroma와 유사한 인터페이스를 제공하며 서드파티 의존성 없이 임베드할 수 있고, 디스크 저장을 선택적으로 지원하는 Go용 벡터 데이터베이스입니다.

대체할 수 있는 제품:Pinecone

스타
1,075
포크
78
열린 이슈
22
마지막 커밋
2개월 전

어떤 프로젝트인가요?

chromem-go는 SQLite가 애플리케이션 안에서 실행되는 것처럼 Go 프로그램 내부에서 실행되는 벡터 데이터베이스로, 별도의 서버를 설치하거나 유지 관리할 필요가 없습니다. 임베딩과 함께 문서를 저장하고, OpenAI, Ollama, Cohere, Mistral 등의 제공자를 통해 임베딩을 직접 생성하거나 이미 계산한 임베딩을 사용할 수 있습니다.

수백만 개의 문서보다 소규모에서 중규모 워크로드의 검색 증강 생성(RAG), 시맨틱 검색 및 유사한 기능을 대상으로 합니다. 검색은 코사인 유사도를 사용하는 전수 최근접 이웃 검색이며, 메타데이터나 특정 문자열의 포함 여부를 기준으로 문서를 필터링할 수 있습니다. 기본적으로 데이터는 메모리에 저장되며, 파일에 즉시 저장하는 옵션과 백업을 위해 데이터베이스 전체를 내보내거나 가져오는 기능도 제공합니다.

API는 Chroma의 핵심 메서드(add, query, get, 컬렉션 생성 및 삭제)를 따르면서 Go 관용에 맞는 대안도 제공합니다. 프로젝트는 베타 단계이며 v1.0.0 이전에 호환성을 깨는 변경이 있을 수 있습니다.

핵심 기능

  • 01외부 의존성이나 서버 없이 Go 애플리케이션에 임베드해 실행할 수 있습니다.
  • 02OpenAI, Azure OpenAI, Ollama, Cohere, Mistral 등의 제공자를 통해 임베딩을 생성하거나 사전 계산된 벡터를 사용할 수 있습니다.
  • 03메타데이터 및 문서 내용 필터를 지원하는 코사인 유사도 전수 검색을 제공합니다.
  • 04메모리 저장을 기본으로 하며, 파일에 즉시 저장하는 옵션을 제공합니다.
  • 05데이터베이스 전체를 선택적으로 압축 및 암호화해 내보내거나 가져올 수 있습니다.

활용 사례

  • 별도의 벡터 데이터베이스를 배포하지 않고 Go 서비스에 RAG 기반 질의응답 기능을 추가합니다.
  • CLI 또는 데스크톱 도구에서 소규모나 중규모 문서 집합을 시맨틱 검색합니다.
  • 더 큰 데이터베이스를 선택하기 전에 Go에서 임베딩 기반 기능을 프로토타이핑합니다.

빠른 시작

  1. 1

    go get으로 라이브러리를 설치합니다

    go get github.com/philippgille/chromem-go@latest
  2. 2

    chromem-go를 가져와 메모리 내 DB와 컬렉션을 만들고, 문서를 추가한 다음 쿼리합니다(최소 예제 참조)

사용 전 알아둘 점

  • 프로젝트는 베타 버전이며 v1.0.0 이전에 호환성이 깨지는 변경 사항이 도입될 수 있습니다.
  • 단순성과 소규모~중간 규모 사용을 위해 설계되었으며, 수백만 개의 문서를 처리하는 용도는 아닙니다.
  • 기본 임베딩 생성에는 OpenAI를 사용하므로, 다른 제공업체를 설정하지 않으면 API 키가 필요합니다.

포함된 컬렉션

토픽

자주 묻는 질문

chromem-go은(는) 무엇인가요?
Chroma와 유사한 인터페이스를 제공하며 서드파티 의존성 없이 임베드할 수 있고, 디스크 저장을 선택적으로 지원하는 Go용 벡터 데이터베이스입니다. chromem-go는 SQLite가 애플리케이션 안에서 실행되는 것처럼 Go 프로그램 내부에서 실행되는 벡터 데이터베이스로, 별도의 서버를 설치하거나 유지 관리할 필요가 없습니다. 임베딩과 함께 문서를 저장하고, OpenAI, Ollama, Cohere, Mistral 등의 제공자를 통해 임베딩을 직접 생성하거나 이미 계산한 임베딩을 사용할 수 있습니다.
chromem-go은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
chromem-go은(는) MPL-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
chromem-go은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. chromem-go의 마지막 커밋은 2026년 9월 6일입니다.
chromem-go은(는) 어디에 사용할 수 있나요?
별도의 벡터 데이터베이스를 배포하지 않고 Go 서비스에 RAG 기반 질의응답 기능을 추가합니다. CLI 또는 데스크톱 도구에서 소규모나 중규모 문서 집합을 시맨틱 검색합니다. 더 큰 데이터베이스를 선택하기 전에 Go에서 임베딩 기반 기능을 프로토타이핑합니다.
chromem-go는 어떻게 설치하나요?
go get으로 라이브러리를 설치합니다: go get github.com/philippgille/chromem-go@latest chromem-go를 가져와 메모리 내 DB와 컬렉션을 만들고, 문서를 추가한 다음 쿼리합니다(최소 예제 참조)
chromem-go은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/philippgille/chromem-go

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트