LocalFileStore 통합
LocalFileStore 통합
LangChain JavaScript로 LocalFileStore 스토어와 통합하는 방법을 알아봅니다.
호환성(Compatibility): Node.js에서만 사용할 수 있습니다.
LocalFileStore을 시작하는 데 도움을 주는 가이드예요. 모든 LocalFileStore 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
출처: 문서
본문
개요
LocalFileStore는 키-값 쌍으로 데이터를 저장하기 위한 fs 모듈의 래퍼입니다. 각 키-값 쌍은 .fromPath 메서드에 전달된 디렉터리 안에 중첩된 자체 파일을 갖습니다. 파일 이름이 키이고 그 안에 키의 값이 들어 있습니다.
.fromPath에 전달되는 경로는 파일이 아닌 디렉터리여야 합니다.
이 파일 스토어는 지정된 디렉터리와 모든 하위 폴더의 텍스트 파일을 변경할 수 있습니다.
스토어를 초기화할 때 지정하는 경로에 다른 파일이 없도록 하세요.
통합 세부 정보
| 클래스(Class) | 패키지(Package) | 로컬(Local) | PY 지원 | 다운로드(Downloads) | 버전(Version) |
|---|---|---|---|---|---|
LocalFileStore |
langchain | ✅ | ✅ |
설정
설치
LangChain LocalFileStore 통합은 langchain 패키지에 있습니다:
npm install langchain @langchain/core
yarn add langchain @langchain/core
pnpm add langchain @langchain/core
인스턴스화(Instantiation)
이제 바이트 스토어를 인스턴스화할 수 있습니다:
import { LocalFileStore } from "@langchain/classic/storage/file_system"
const kvStore = await LocalFileStore.fromPath("./messages");
데이터를 Uint8Array로 또는 그 반대로 변환하기 위한 인코더와 디코더를 정의하세요:
const encoder = new TextEncoder();
const decoder = new TextDecoder();
사용법(Usage)
mset 메서드를 사용해 키 아래에 데이터를 설정할 수 있습니다:
await kvStore.mset(
[
["key1", encoder.encode("value1")],
["key2", encoder.encode("value2")],
]
)
const results = await kvStore.mget(
[
"key1",
"key2",
]
)
console.log(results.map((v) => decoder.decode(v)));
[ 'value1', 'value2' ]
mdelete 메서드를 사용해 데이터를 삭제할 수 있습니다:
await kvStore.mdelete(
[
"key1",
"key2",
]
)
await kvStore.mget(
[
"key1",
"key2",
]
)
[ undefined, undefined ]
값 산출하기(Yielding values)
모든 키를 다시 얻으려면 yieldKeys 메서드를 호출할 수 있습니다. 선택적으로 키 접두사를 전달해 해당 접두사와 일치하는 키만 얻을 수도 있습니다.
import { LocalFileStore } from "@langchain/classic/storage/file_system"
const kvStoreForYield = await LocalFileStore.fromPath("./messages");
const encoderForYield = new TextEncoder();
// Add some data to the store
await kvStoreForYield.mset(
[
["message:id:key1", encoderForYield.encode("value1")],
["message:id:key2", encoderForYield.encode("value2")],
]
)
const yieldedKeys = [];
for await (const key of kvStoreForYield.yieldKeys("message:id:")) {
yieldedKeys.push(key);
}
console.log(yieldedKeys);
[ 'message:id:key1', 'message:id:key2' ]
import fs from "fs";
// Cleanup
await fs.promises.rm("./messages", { recursive: true, force: true });
API reference
모든 LocalFileStore 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
더 알아보기 (Learn more)
- 이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.
- GitHub에서 이 페이지 편집하기 또는 이슈 제출하기.