에이전트 메모리

이 페이지에서는 구체적인 Oracle AI 에이전트 메모리 구현을 보여줍니다.

Oracle 에이전트 메모리

주: OracleAgentMemory.delete_thread()는 스레드 범위의 계단식 정리에 대해 지원되는 경로입니다. 관련 메시지, 내구성 있는 추억, 관리되는 벡터 또는 조각 데이터와 함께 스레드를 제거합니다. 원시 메시지 행만 삭제하는 OracleThread.delete_message()보다 큽니다.

클래스 oracleagentmemory.core.OracleAgentMemory

기준: IAgentMemory

Oracle DB 또는 호출자가 제공한 저장소에서 지원하는 에이전트 메모리 클라이언트입니다.

메모리 클라이언트를 만듭니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
read_only_client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    extract_memories=False,
)

방법 add_agent

상점에 에이전트 프로파일 레코드를 추가합니다.

에이전트 프로파일 레코드는 클라이언트 레벨 저장소에 저장되며 의도적으로 범위가 지정되지 않습니다. 반환된 레코드 식별자는 애플리케이션이 agent_id로 사용하는 공용 식별자와 동일합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a1", "Support assistant")
'a1'

방법 add_memory

표시된 사용자, 에이전트 및 스레드에 기인한 메모리를 메모리 시스템에 추가합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("User likes pizza", memory_id="mem-1")
memory_id
'mem-1'

방법 add_user

점포에 사용자 프로파일 레코드를 추가합니다.

사용자 프로파일 레코드는 클라이언트 레벨 저장소에 저장되며 의도적으로 범위가 지정되지 않습니다. 반환된 레코드 식별자는 애플리케이션이 user_id로 사용하는 공용 식별자와 동일합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u1", "Prefers concise answers.")
'u1'

방법 create_thread

스레드를 만들고 등록합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c1", user_id="u1")
thread.thread_id
'c1'

방법 delete_agent

식별자별로 에이전트 프로파일 레코드를 삭제합니다.

계단식 삭제는 보조 저장소 내에서 계획되고 실행되므로 프로파일 삭제 및 모든 범위가 지정된 하위 삭제가 하나의 저장소 작업에서 수행됩니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a-delete", "Support assistant")
'a-delete'
client.delete_agent("a-delete")
1

방법 delete_memory

메모리 유사 레코드(예: 메모리, 팩트, 기본 설정 또는 지침)를 식별자로 삭제합니다.

예제

client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("Temporary memory", memory_id="mem-delete")
client.delete_memory(memory_id)
1

방법 delete_thread

스레드 식별자와 연관된 모든 레코드를 삭제합니다.

스레드의 보존-완료 제거가 필요한 경우 이 작업을 사용합니다. 보조 저장소는 연관된 스레드 범위의 메시지, 내구성 있는 메모리와 관리되는 벡터 또는 조각 행과 함께 스레드를 삭제합니다. 이는 원시 메시지 레코드만 제거하고 해당 메시지에서 생성된 파생된 메모리에 캐스케이드하지 않는 OracleThread.delete_message()와 다릅니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c-delete")
client.delete_thread(thread.thread_id)
1

방법 delete_user

식별자로 사용자 프로파일 레코드를 삭제합니다.

계단식 삭제는 보조 저장소 내에서 계획되고 실행되므로 프로파일 삭제 및 모든 범위가 지정된 하위 삭제가 하나의 저장소 작업에서 수행됩니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u-delete", "Prefers concise answers.")
'u-delete'
client.delete_user("u-delete")
1

방법 get_thread

이전에 생성한 스레드를 검색합니다.

명시적 호출당 재정의가 우선합니다. 런타임 대체가 생략되면 재개설된 스레드는 SDK 기본값으로 폴백하기 전에 사용 가능한 경우 지속 런타임 구성을 사용합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
created = client.create_thread(thread_id="c1", user_id="u1")
loaded = client.get_thread("c1")
loaded.user_id
'u1'