InMemoryStore 통합

InMemoryStore 통합

LangChain JavaScript로 InMemoryStore 스토어와 통합하는 방법을 알아봅니다.

InMemoryStore을 시작하는 데 도움을 주는 가이드예요. 모든 InMemoryStore 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.

InMemoryStore는 스토어의 값에 일반 타입을 할당할 수 있게 합니다. 채팅 기록 스토어의 주제를 유지하면서 값의 타입으로 BaseMessage 타입을 할당하겠습니다.

출처: 문서

본문

개요

통합 세부 정보

클래스(Class) 패키지(Package) 로컬(Local) PY 지원 다운로드(Downloads) 버전(Version)
InMemoryStore @langchain/core NPM - Downloads NPM - Version

설정

설치

LangChain InMemoryStore 통합은 @langchain/core 패키지에 있습니다:

npm install @langchain/core
yarn add @langchain/core
pnpm add @langchain/core

인스턴스화(Instantiation)

이제 바이트 스토어를 인스턴스화할 수 있습니다:

import { InMemoryStore } from "@langchain/core/stores"
import { BaseMessage } from "@langchain/core/messages";

const kvStore = new InMemoryStore<BaseMessage>();

사용법(Usage)

mset 메서드를 사용해 키 아래에 데이터를 설정할 수 있습니다:

import { AIMessage, HumanMessage } from "@langchain/core/messages";

await kvStore.mset(
  [
    ["key1", new HumanMessage("value1")],
    ["key2", new AIMessage("value2")],
  ]
)

await kvStore.mget(
  [
    "key1",
    "key2",
  ]
)
[
  HumanMessage {
    "content": "value1",
    "additional_kwargs": {},
    "response_metadata": {}
  },
  AIMessage {
    "content": "value2",
    "additional_kwargs": {},
    "response_metadata": {},
    "tool_calls": [],
    "invalid_tool_calls": []
  }
]

mdelete 메서드를 사용해 데이터를 삭제할 수 있습니다:

await kvStore.mdelete(
  [
    "key1",
    "key2",
  ]
)

await kvStore.mget(
  [
    "key1",
    "key2",
  ]
)
[ undefined, undefined ]

값 산출하기(Yielding values)

모든 키를 다시 얻으려면 yieldKeys 메서드를 호출할 수 있습니다. 선택적으로 키 접두사를 전달해 해당 접두사와 일치하는 키만 얻을 수도 있습니다.

import { InMemoryStore } from "@langchain/core/stores"
import { AIMessage, BaseMessage, HumanMessage } from "@langchain/core/messages";

const kvStoreForYield = new InMemoryStore<BaseMessage>();

// Add some data to the store
await kvStoreForYield.mset(
  [
    ["message:id:key1", new HumanMessage("value1")],
    ["message:id:key2", new AIMessage("value2")],
  ]
)

const yieldedKeys = [];
for await (const key of kvStoreForYield.yieldKeys("message:id:")) {
  yieldedKeys.push(key);
}

console.log(yieldedKeys);
[ 'message:id:key1', 'message:id:key2' ]

API reference

모든 InMemoryStore 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.

더 알아보기 (Learn more)