LocalFileStore 통합

LocalFileStore 통합

키-값 저장소가 가진 데이터를 그대로 파일에 보관하고 싶을 때가 있어요. 서버가 여러 대가 아니라 한 대에서 작업하고, 파일이 생기고 없어지는 것 정도는 감수할 수 있다면 LocalFileStore가 딱 맞아요. 지정한 폴더에 모든 것을 파일로 저장해 두는 ByteStore 구현이거든요.

출처: 공식문서 - LocalFileStore integration

LocalFileStore의 모든 기능과 설정을 자세히 알고 싶다면 API 레퍼런스를 참고하면 돼요.

준비하기

LocalFileStore 통합은 langchain 패키지에 들어 있어요. (langchain-classic으로 설치해요)

pip install -qU langchain-classic

만들기

바이트 저장소를 이렇게 만들 수 있어요.

from pathlib import Path

from langchain_classic.storage import LocalFileStore

root_path = Path.cwd() / "data"  # 문자열로 경로를 지정해도 돼요

kv_store = LocalFileStore(root_path)

root_pathdata 폴더가 저장소의 루트가 되는 방식이에요.

사용하기

mset 메서드로 키에 데이터를 저장해요.

kv_store.mset(
    [
        ["key1", b"value1"],
        ["key2", b"value2"],
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)
[b'value1', b'value2']

저장한 값은 data 폴더 안에 실제 파일로 생기는 걸 확인할 수 있어요.

!ls {root_path}
key1 key2

삭제는 mdelete 메서드를 쓰면 돼요.

kv_store.mdelete(
    [
        "key1",
        "key2",
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)
[None, None]

삭제한 뒤 조회하면 None이 돌아오는 걸 볼 수 있어요.

API 레퍼런스

LocalFileStore의 모든 기능과 설정은 API 레퍼런스에서 확인할 수 있어요.

더 알아보기 (Learn more)