ArcadeDBDocumentStore
ArcadeDBDocumentStore
API reference: ArcadeDB GitHub link: https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/arcadedb
출처: 문서
본문
ArcadeDB는 LSM_VECTOR(HNSW) 인덱스로 벡터 검색을 지원하는 다중 모델 데이터베이스예요. ArcadeDBDocumentStore는 모든 작업에 ArcadeDB의 HTTP/JSON API를 사용합니다 — 특별한 드라이버가 필요 없죠. 조밀 벡터 임베딩 검색과 SQL 기반 메타데이터 필터링을 지원해요.
자세한 내용은 ArcadeDB 문서를 참고하세요.
Installation
Docker로 ArcadeDB를 실행하고 설정에 맞게 비밀번호를 바꾸세요:
docker run -d -p 2480:2480 \
-e JAVA_OPTS="-Darcadedb.server.rootPassword=arcadedb" \
arcadedata/arcadedb:latest
Haystack 통합을 설치하세요:
pip install arcadedb-haystack
Usage
환경 변수로 자격 증명을 설정하거나(권장) 명시적으로 전달하세요:
export ARCADEDB_USERNAME=root
export ARCADEDB_PASSWORD=arcadedb
문서 스토어를 초기화하고 문서를 작성하세요:
from haystack import Document
from haystack_integrations.document_stores.arcadedb import ArcadeDBDocumentStore
document_store = ArcadeDBDocumentStore(
url="http://localhost:2480",
database="haystack",
embedding_dimension=768,
recreate_type=True,
)
document_store.write_documents(
[
Document(content="This is first", embedding=[0.0] * 768),
Document(content="This is second", embedding=[0.1, 0.2, 0.3] + [0.0] * 765),
])
print(document_store.count_documents())
초기화 파라미터에 대한 자세한 내용은 API docs를 참고하세요.
임베딩이 없거나 차원이 다른 문서는 0으로 채운(zero-padded) 벡터로 저장되어 작성·필터링이 가능해요. 실제 임베딩은 Embedder를 사용하세요.
Supported Retrievers
- ArcadeDBEmbeddingRetriever: 벡터 유사도(HNSW)로 Document Store에서 문서를 가져오는 임베딩 기반 Retriever
더 알아보기 (Learn more)
- ArcadeDBEmbeddingRetriever — 임베딩 기반 검색
- Metadata Filtering — 필터 문법