스레드

이 페이지에서는 개발자용 메시지 도우미 유형과 함께 구체적인 Oracle 스레드 핸들을 제공합니다.

Oracle 스레드

클래스 oracleagentmemory.core.OracleThread

기준: IThread

Oracle 저장소가 지원하는 스레드입니다.

이 구현은 스레드 메시지와 수동으로 추가된 메모를 모두 포함 및 저장한 다음 저장된 모든 레코드에 대한 유사성 검색을 지원합니다.

새 스레드 핸들을 생성합니다.

예제

from oracleagentmemory.core import OracleAgentMemory
db_pool = ...
client = OracleAgentMemory(connection=db_pool, embedder=embedder)
thread = client.create_thread(
    thread_id="c1",
    llm=llm,
    enable_context_summary=True,
)
len(thread.add_messages([{"role": "user", "content": "I love pizza."}]))
1

방법 add_memory

수동 메모리 항목을 추가하고 인덱스화합니다.

예제

thread.add_memory("Remember this preference", memory_id="mem-thread-docs")
'mem-thread-docs'

방법 add_messages

스레드에 메시지를 추가하고 색인화합니다.

예제

len(thread.add_messages([{"role": "user", "content": "Thread message from docs"}]))
1

method add_messages_async(비동기)

메시지를 스레드에 비동기적으로 추가하고 인덱스화합니다.

방법 delete_memory

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

예제

thread.delete_memory("456")
0

방법 delete_message

식별자별로 정확한 이 스레드에서 메시지 레코드를 삭제합니다.

메시지를 삭제하면 원시 메시지 레코드만 제거됩니다. 추출된 메모리는 메시지별 출처를 지속하지 않으므로 파생 메모리는 삭제되지 않으므로 검색 가능한 상태로 유지되거나 컨텍스트 카드 출력에 여전히 영향을 줄 수 있습니다. OracleAgentMemory.delete_thread()를 사용하여 연관된 메시지 및 메모리와 함께 스레드를 삭제합니다.

예제

thread.delete_message("123")
0

방법 get_context_card

스레드에 대한 컨텍스트 카드 객체를 반환합니다.

LLM 지원 구현에서 원격 네트워크 I/O를 수행할 수 있는 경우 get_context_card_async을 선호합니다.

그러면 스레드의 기본 검색 범위가 exact_thread_match=False와 함께 사용되므로 동일한 사용자/에이전트에 대한 다른 스레드의 관련 메모리가 포함될 수 있습니다.

예제

thread.add_memory("User likes pizza", memory_id="mem-context-docs")
'mem-context-docs'
len(thread.add_messages([{"role": "user", "content": "Tell me about pizza"}]))
1
"User likes pizza" in thread.get_context_card().content
True

method get_context_card_async(비동기)

스레드에 대한 컨텍스트 카드 객체를 비동기적으로 반환합니다.

방법 get_messages

현재 글 모음에 저장된 메시지를 반환합니다.

예제

len(thread.add_messages([{"role": "user", "content": "Stored message example"}]))
1
messages = thread.get_messages()
messages[-1].content
'Stored message example'

방법 get_summary

스레드의 최선의 요약을 반환합니다.

LLM 지원 구현에서 원격 네트워크 I/O를 수행할 수 있는 경우 get_summary_async을 선호합니다.

예제

len(thread.add_messages([{"role": "assistant", "content": "Summary source message"}]))
1
summary = thread.get_summary()
bool(summary.content)
True

method get_summary_async(비동기)

스레드의 최선 조건 요약을 비동기적으로 반환합니다.

주: delete_message()는 원시 메시지 행만 삭제합니다. 파생 된 기억은 여전히 검색 가능하거나 컨텍스트 카드에 나타날 수 있습니다. OracleAgentMemory.delete_thread()를 사용하여 연관된 메시지 및 메모리와 함께 스레드를 삭제합니다.

메시지

클래스 oracleagentmemory.apis.thread.Message

기준: object

컨텍스트 카드

클래스 oracleagentmemory.apis.contextcard.ContextCard

기준: ABC

스레드 API에서 반환된 추상 컨텍스트 카드 객체입니다.

등록 정보 content(개요)

클래스 oracleagentmemory.core.contextcard.OracleContextCard

기준: ContextCard

Oracle 스레드에서 반환된 컨텍스트 카드입니다.

등록 정보 content

예제

card = OracleContextCard(summary="ctx")
"<summary>" in card.content and "ctx" in card.content
True

등록 정보 formatted_content

예제

OracleContextCard(summary="").formatted_content
''
card = OracleContextCard(summary="ctx", topics=["travel"])
"<topics>" in card.formatted_content
True

요약

클래스 oracleagentmemory.apis.summary.Summary

기준: ABC

스레드 API에서 반환된 추상 스레드 요약 객체입니다.

등록 정보 content(개요)

클래스 oracleagentmemory.core.summary.OracleSummary

기준: Summary

Oracle 스레드에서 반환된 요약입니다.

예제

summary = OracleSummary(content="Plan the Rome itinerary.")
summary.content
'Plan the Rome itinerary.'
str(summary)
'Plan the Rome itinerary.'

등록 정보 content

예제

OracleSummary(content="Keep the tea preference in mind.").content
'Keep the tea preference in mind.'

등록 정보 formatted_content

예제

OracleSummary(content="Thread recap").formatted_content
'Thread recap'