Threads

Auf dieser Seite wird das konkrete Oracle-Thread-Handle zusammen mit dem Entwickler-Helper-Typ vorgestellt.

Oracle-Thread

Klasse oracleagentmemory.core.OracleThread

Basen: IThread

Thread wird von einem Oracle-Speicher unterstützt.

Diese Implementierung integriert und speichert sowohl Thread-Nachrichten als auch manuell hinzugefügte Speicher und unterstützt dann die Ähnlichkeitssuche über alle gespeicherten Datensätze.

Hinweise

Neuen Thread-Handle erstellen.

Beispiele

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

Methode add_memory

Fügen Sie einen manuellen Speichereintrag hinzu, und indexieren Sie ihn.

Beispiele

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

Methode add_messages

Fügen Sie dem Thread Nachrichten hinzu, und indexieren Sie sie.

Beispiele

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

Methode add_messages_async (asynchron)

Fügen Sie dem Thread asynchron Nachrichten hinzu, und indexieren Sie sie.

Methode delete_memory

Löschen Sie einen speicherähnlichen Datensatz (z. B. einen Speicher, einen Fakt, eine Voreinstellung oder eine Richtlinie) nach Kennung aus diesem Thread.

Beispiele

thread.delete_memory("456")
0

Methode delete_message

Meldungsdatensatz aus diesem Thread nach ID löschen.

Hinweise

Beim Löschen einer Nachricht wird nur der Raw-Nachrichtendatensatz entfernt. Abgeleitete Speicher werden nicht gelöscht, da extrahierte Speicher nicht pro Nachrichtenherkunft beibehalten werden, sodass sie durchsuchbar bleiben oder sich immer noch auf die Kontextkartenausgabe auswirken können. Verwenden Sie OracleAgentMemory.delete_thread(), um den Thread zusammen mit den zugehörigen Nachrichten und Speichern zu löschen.

Beispiele

thread.delete_message("123")
0

Methode get_context_card

Gibt ein Kontextkartenobjekt für den Thread zurück.

Wählen Sie get_context_card_async, wenn eine LLM-gestützte Implementierung Remote-Netzwerk-I/O ausführen kann.

Hinweise

Dabei wird der standardmäßige Suchgeltungsbereich des Threads mit exact_thread_match=False verwendet, sodass relevante Speicher aus anderen Threads für denselben Benutzer/Agent enthalten sein können.

Beispiele

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

Methode get_context_card_async (asynchron)

Gibt ein Kontextkartenobjekt für den Thread asynchron zurück.

Methode get_messages

Gespeicherte Nachrichten für diesen Thread zurückgeben.

Beispiele

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

Methode get_summary

Gibt eine Best Effort-Zusammenfassung des Threads zurück.

Wählen Sie get_summary_async, wenn eine LLM-gestützte Implementierung Remote-Netzwerk-I/O ausführen kann.

Beispiele

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

Methode get_summary_async (asynchron)

Gibt asynchron eine Best Effort-Zusammenfassung des Threads zurück.

Hinweis: delete_message() löscht nur die Zeile mit Raw-Nachrichten. Abgeleitete Speicher können weiterhin durchsucht werden oder in Kontextkarten angezeigt werden. Verwenden Sie OracleAgentMemory.delete_thread(), um den Thread zusammen mit den zugehörigen Nachrichten und Speichern zu löschen.

Nachrichten

Klasse oracleagentmemory.apis.thread.Message

Basis: object

Kontextkarten

Klasse oracleagentmemory.apis.contextcard.ContextCard

Basen: ABC

Abstraktes Kontextkartenobjekt, das von Thread-APIs zurückgegeben wird.

Eigenschaft content (Übung)

Klasse oracleagentmemory.core.contextcard.OracleContextCard

Basis: ContextCard

Von einem Oracle-Thread zurückgegebene Kontextkarte.

Eigenschaft content

Beispiele

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

Eigenschaft formatted_content

Beispiele

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

Übersichten

Klasse oracleagentmemory.apis.summary.Summary

Basen: ABC

Von Thread-APIs zurückgegebenes abstraktes Thread-Zusammenfassungsobjekt.

Eigenschaft content (Übung)

Klasse oracleagentmemory.core.summary.OracleSummary

Basis: Summary

Von einem Oracle-Thread zurückgegebene Übersicht.

Beispiele

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

Eigenschaft content

Beispiele

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

Eigenschaft formatted_content

Beispiele

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