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

Speicherdatensatz nach Kennung aus diesem Thread löschen.

Beispiele

thread.delete_memory("456")
0

Methode delete_message

Meldungsdatensatz aus diesem Thread nach ID löschen.

Hinweise

Beim erfolgreichen Löschen wird der abgeleitete Thread-Zusammenfassungsstatus gelöscht, sodass später Zusammenfassungs- und Kontextkartenaufrufe aus dem verbleibenden Transkript neu erstellt werden. Abgeleitete Speicher werden nicht automatisch gelöscht, da extrahierte Speicher derzeit nicht pro Nachrichtenherkunft beibehalten werden.

Beispiele

thread.delete_message("123")
0

Methode get_context_card

Gibt eine XML-ähnliche Kontextkarte 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()
True

Methode get_context_card_async (asynchron)

Gibt asynchron eine XML-ähnliche Kontextkarte für den Thread 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()
len(summary) >= 1
True

Methode get_summary_async (asynchron)

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

Nachrichten

Klasse oracleagentmemory.apis.thread.Message

Basis: object