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

Erstellen Sie eine neue OracleThread-Instanz.

Beispiele

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

Methode add_image

Beibehalten Sie ein Bild, das mit diesem Thread verknüpft ist.

description wird als durchsuchbarer Text des Bildes gespeichert. Wenn es ausgelassen wird oder None, generiert ein angehängtes LLM eine Beschriftung. Nicht aufgeführte Geltungsbereichswerte erben die entsprechenden Benutzer-, Agent- und Thread-IDs dieses Threads.

Methode add_image_async (asynchron)

Beibehalten Sie ein Bild, das diesem Thread asynchron zugeordnet ist.

description wird als durchsuchbarer Text des Bildes gespeichert. Wenn es ausgelassen wird oder None, generiert ein angehängtes LLM eine Beschriftung. Nicht aufgeführte Geltungsbereichswerte erben die entsprechenden Benutzer-, Agent- und Thread-IDs dieses Threads.

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_memory_async (asynchron)

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

Beispiele

import asyncio
asyncio.run(thread.add_memory_async(
    "Remember this preference", memory_id="mem-thread-docs-async"
))
'mem-thread-docs-async'

Methode add_messages

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

Im Hintergrundextraktionsmodus gibt diese Methode zurück, nachdem Raw-Nachrichten eingefügt wurden und die Hintergrundextraktion im Hintergrund versucht wurde.

Raw-Nachrichten werden vor der automatischen Extraktion in beiden Modi gespeichert. Wenn eine spätere Extraktion oder ein abgeleiteter Speicherspeicher fehlschlägt, bleiben die Raw-Nachrichten gespeichert, während abgeleitete Speicher oder Zusammenfassungsaktualisierungen fehlen.

Hinweise

In MemoryExtractionMode.BACKGROUND werden Raw-Nachrichten persistiert, bevor extrahierte Speicher gespeichert werden. Wenn die Hintergrundextraktion nicht in eine Warteschlange gestellt wird oder wenn eine konfigurierte Warteschlangenkapazität den Timeout erreicht, bleiben die eingefügten Raw-Nachrichten gespeichert, und der Aufruf wird entweder ohne extrahierte Speicher fortgesetzt, oder TimeoutError wird je nach background_extraction_queue_full_behavior ausgelöst.

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.

Im Hintergrundextraktionsmodus gibt diese Methode zurück, nachdem Raw-Nachrichten eingefügt wurden und die Hintergrundextraktion im Hintergrund versucht wurde.

Raw-Nachrichten werden vor der automatischen Extraktion in beiden Modi gespeichert. Wenn eine spätere Extraktion oder ein abgeleiteter Speicherspeicher fehlschlägt, bleiben die Raw-Nachrichten gespeichert, während abgeleitete Speicher oder Zusammenfassungsaktualisierungen fehlen.

In MemoryExtractionMode.BACKGROUND werden Raw-Nachrichten persistiert, bevor extrahierte Speicher gespeichert werden. Wenn die Hintergrundextraktion nicht in eine Warteschlange gestellt wird oder wenn eine konfigurierte Warteschlangenkapazität den Timeout erreicht, bleiben die eingefügten Raw-Nachrichten gespeichert, und der Aufruf wird entweder ohne extrahierte Speicher fortgesetzt, oder TimeoutError wird je nach background_extraction_queue_full_behavior ausgelöst.

Methode delete_image

Eine Grafik dieses Diskussionsthemas löschen.

Methode delete_image_async (asynchron)

Eine Grafik dieses Diskussionsthemas asynchron löschen.

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.

Hinweise

Vor dem Löschen des Datensatzes wartet diese Methode auf eine frühere Hintergrundextraktion, die für diesen Thread über die angehängte Agent-Speicherkomponente akzeptiert wurde. Sie wartet nicht auf angenommene Arbeit, nachdem die Wartezeit beginnt oder die Arbeit von einer anderen Komponente oder einem anderen Prozess gestartet wurde.

Beispiele

thread.delete_memory("456")
0

Methode delete_memory_async (asynchron)

Löschen Sie einen speicherähnlichen Datensatz (z. B. einen Speicher, eine Tatsache, eine Präferenz oder eine Richtlinie) asynchron von diesem Thread.

Hinweise

Diese Methode folgt dem von delete_memory() dokumentierten Warte- und Nebenläufigkeitsverhalten der Hintergrundextraktion.

Beispiele

import asyncio
asyncio.run(thread.delete_memory_async("456"))
0

Methode delete_message

Meldungsdatensatz aus diesem Thread nach ID löschen.

Hinweise

Vor dem Löschen der Nachricht wartet diese Methode auf eine frühere Hintergrundextraktion, die für diesen Thread über die angehängte Agent-Speicherkomponente akzeptiert wurde. Sie wartet nicht auf angenommene Arbeit, nachdem die Wartezeit beginnt oder die Arbeit von einer anderen Komponente oder einem anderen Prozess gestartet wurde.

Beim Löschen einer Nachricht wird nur der Raw-Nachrichtendatensatz entfernt. Abgeleitete Speicher werden nicht gelöscht, da wir noch nicht verfolgen, welche extrahierten Speicher aus welcher Nachricht stammen, so dass 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 delete_message_async (asynchron)

Löschen Sie einen Meldungsdatensatz asynchron aus diesem Thread.

Hinweise

Diese Methode folgt dem von delete_message() dokumentierten Warte- und Nebenläufigkeitsverhalten der Hintergrundextraktion.

Beim Löschen einer Nachricht wird nur der Raw-Nachrichtendatensatz entfernt. Abgeleitete Speicher werden nicht gelöscht, da wir noch nicht verfolgen, welche extrahierten Speicher aus welcher Nachricht stammen, so dass 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

import asyncio
asyncio.run(thread.delete_message_async("123"))
0

Löschen Sie eine Thread-eigene Beziehung nach ID oder vollständigem Endpunkttupel.

Endpunkt-Tupel-Selektoren müssen die gespeicherte Ausrichtung von Quelle zu Ziel verwenden.

Beispiele

thread.delete_record_link(relation_id="relation-id")
1

Eine Beziehung, die diesem Thread gehört, asynchron löschen.

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
card = thread.get_context_card(
    max_relevant_results=4,
    min_relevant_results_by_type={"memory": 1},
)
len(card.relevant_results or []) <= 4
True

Methode get_context_card_async (asynchron)

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

Beispiele

import asyncio
card = asyncio.run(thread.get_context_card_async(
    min_relevant_results_by_type={"preference": 1, "guideline": 1},
))
len(card.relevant_results or []) <= 5
True

Methode get_message

Gibt eine Nachricht zurück, die diesem Thread gehört.

Bildteile werden standardmäßig mit ihren Kennungen und Beschreibungen zurückgegeben. Übergeben Sie included_image_ids, um Byte für ausgewählte Imageteile zu laden. Nicht zugehörige Kennungen werden ignoriert.

Methode get_message_async (asynchron)

Gibt eine Thread-eigene Nachricht asynchron zurück.

included_image_ids wählt optional angehängte Imageteile aus, deren Byte geladen werden sollen. "omitted" oder "None" gibt nur Imagemetadaten 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_messages_async (asynchron)

Rufen Sie die nicht verarbeiteten Nachrichten aus dem Thread ab, wie sie mit add_messages asynchron hinzugefügt wurden.

Beispiele

import asyncio
message_ids = asyncio.run(thread.add_messages_async(
    [{"role": "user", "content": "Stored message example"}]
))
len(message_ids)
1
messages = asyncio.run(thread.get_messages_async())
messages[-1].content
'Stored message example'

Methode get_summary

Gibt eine Zusammenfassung des Threads zurück.

Eine Anforderung für das gesamte Thread verwendet oder aktualisiert die dauerhafte Zusammenfassung. Eine Anforderung mit except_last fasst dieses Präfix zusammen, ohne die dauerhafte Ganz-Thread-Zusammenfassung zu ändern.

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 eine Zusammenfassung des Threads asynchron zurück.

Eine Anforderung für das gesamte Thread verwendet oder aktualisiert die dauerhafte Zusammenfassung. Eine Anforderung mit except_last fasst dieses Präfix zusammen, ohne die dauerhafte Ganz-Thread-Zusammenfassung zu ändern.

Erstellen Sie eine gerichtete Beziehung zwischen zwei Datensätzen, deren Eigentümer dieser Thread ist.

Derzeit müssen beide Endpunkte speicherähnliche Datensätze sein: "memory", "fact", "guideline" oder "preference". Integrierte Relationstypen sind "supersedes" ("is_superseded_by"), "contradicts", "refines" ("is_refined_by"), "supports" ("is_supported_by") und "duplicates". "contradicts" und "duplicates" verwenden dasselbe Label umgekehrt.

Beide Endpunkte müssen genau zu diesem Thread gehören. Für ein Endpunktpaar kann nur eine Ausrichtung gespeichert werden. opposite_relation_type benennt die Beziehung beim Durchlaufen von Ziel zu Quelle. Beispiel: new "supersedes" old wird in diese Richtung zu old "is_superseded_by" new.

Beispiele

thread.link_records(
    "fact-1", "fact", "memory-1", "memory", "supports"
)
'relation-id'

Erstellen Sie asynchron eine Beziehung zwischen Datensätzen, deren Eigentümer dieser Thread ist.

Derzeit müssen beide Endpunkte speicherähnliche Datensätze sein: "memory", "fact", "guideline" oder "preference". Integrierte Relationstypen sind "supersedes" ("is_superseded_by"), "contradicts", "refines" ("is_refined_by"), "supports" ("is_supported_by") und "duplicates". "contradicts" und "duplicates" verwenden dasselbe Label umgekehrt.

Methode list_images

Bilddatensätze auflisten, deren Eigentümer dieser Thread ist.

Zurückgegebene Datensätze enthalten standardmäßig Bildmetadaten. Raw-Byte werden nur geladen, wenn include_bytes=True und image_id angegeben sind.

Methode list_images_async (asynchron)

Bilddatensätze dieses Threads asynchron auflisten

Zurückgegebene Datensätze enthalten standardmäßig Bildmetadaten. Raw-Byte werden nur geladen, wenn include_bytes=True und image_id angegeben sind. Der Geltungsbereich dieses Threads wird automatisch angewendet.

Synchron nach Datensätzen suchen, die für eine Abfrage relevant sind.

Hinweise

Ausgelassene Geltungsbereichsfelder übernehmen den Standardsuchgeltungsbereich dieses Threads: exakter Benutzer- und Agent-Abgleich plus aktuellem user_id, agent_id und thread_id dieses Threads. Bei der Standardthreadsuche wird exact_thread_match=False absichtlich beibehalten, sodass relevante Datensätze aus anderen Threads für denselben Benutzer/Agent zurückgegeben werden können. Übergeben Sie exact_thread_match=True, um die Ergebnisse auf den aktuellen Thread zu beschränken. Explizite None-Geltungsbereichswerte folgen weiterhin den aufgelösten exakten Übereinstimmungsregeln: exact_*_match=False lässt diese Dimension uneingeschränkt zu, während exact_*_match=True nur gespeicherten None-Werten entspricht.

Explizite max_results-Werte müssen mindestens 1 sein. Wenn das Argument weggelassen wird, wird der Standardwert 10 verwendet. Dies ist ein oberer Grenzwert: Der Aufruf gibt möglicherweise weniger als max_results-Ergebnisse zurück, wenn Filter zu restriktiv sind, wenn weniger übereinstimmende Datensätze vorhanden sind oder das implementierungsspezifische Suchverhalten vorliegt.

Methode search_async (asynchron)

Suche asynchron nach Datensätzen, die für eine Abfrage relevant sind.

Hinweise

Ausgelassene Geltungsbereichsfelder übernehmen den Standardsuchgeltungsbereich dieses Threads: exakter Benutzer- und Agent-Abgleich plus aktuellem user_id, agent_id und thread_id dieses Threads. Bei der Standardthreadsuche wird exact_thread_match=False absichtlich beibehalten, sodass relevante Datensätze aus anderen Threads für denselben Benutzer/Agent zurückgegeben werden können. Übergeben Sie exact_thread_match=True, um die Ergebnisse auf den aktuellen Thread zu beschränken. Explizite None-Geltungsbereichswerte folgen weiterhin den aufgelösten exakten Übereinstimmungsregeln: exact_*_match=False lässt diese Dimension uneingeschränkt zu, während exact_*_match=True nur gespeicherten None-Werten entspricht.

Explizite max_results-Werte müssen mindestens 1 sein. Wenn das Argument weggelassen wird, wird der Standardwert 10 verwendet. Dies ist ein oberer Grenzwert: Der Aufruf gibt möglicherweise weniger als max_results-Ergebnisse zurück, wenn Filter zu restriktiv sind, wenn weniger übereinstimmende Datensätze vorhanden sind oder das implementierungsspezifische Suchverhalten vorliegt.

Methode update_image

Aktualisieren Sie ein Image, das diesem Thread gehört.

Lassen Sie image weg, um die vorhandenen Byte beizubehalten. Wenn image angegeben wird, muss mime_type damit angegeben werden. Lassen Sie description weg, um die vorhandene Beschreibung beizubehalten. Übergeben Sie None, um eine neue Beschreibung mit dem konfigurierten LLM zu generieren. Eine Beschreibung, die nicht Null ist, ersetzt sie direkt. Der Ablauf für ein Bild, das an eine Nachricht angehängt ist, muss über update_message() geändert werden.

Methode update_image_async (asynchron)

Aktualisieren Sie ein Image dieses Threads asynchron.

Lassen Sie image weg, um die vorhandenen Byte beizubehalten. Wenn image angegeben wird, muss mime_type damit angegeben werden. Lassen Sie description weg, um die vorhandene Beschreibung beizubehalten. Übergeben Sie None, um eine neue Beschreibung mit dem konfigurierten LLM zu generieren. Eine Beschreibung, die nicht Null ist, ersetzt sie direkt. Metadaten, Zeitstempel und Ablaufeinstellungen werden aktualisiert, wenn sie angegeben werden. Der Ablauf für ein Bild, das an eine Nachricht angehängt ist, muss über update_message_async() geändert werden.

Methode update_memory

Aktualisieren Sie einen speicherähnlichen Datensatz, der diesem Thread gehört.

Methode update_memory_async (asynchron)

Aktualisieren Sie einen speicherähnlichen Datensatz, der diesem Thread gehört, asynchron.

Beispiele

import asyncio
memory_id = asyncio.run(thread.add_memory_async("Original memory"))
(
    asyncio.run(thread.update_memory_async(
        memory_id, content="Updated memory"
    ))
    == memory_id
)
True

Methode update_message

Aktualisieren Sie einen Raw-Nachrichtendatensatz, der diesem Thread gehört.

Hinweise

Ausgelassene Felder werden aus dem gespeicherten Datensatz beibehalten. Gespeicherte Rolle und Zeitstempel bleiben unverändert. Wenn Sie Inhalte bearbeiten, wird die Rohnachrichtenhistorie aktualisiert. Wenn die automatische Extraktion aktiviert ist, kann das SDK dazu führen, dass Speicher aus der bearbeiteten Nachricht und der früheren Historie neu extrahiert werden. Im Modus INLINE wird diese Extraktion abgeschlossen, bevor diese Methode zurückgegeben wird. Im Modus BACKGROUND gibt diese Methode zurück, nachdem die Aktualisierung der Raw-Nachricht erfolgreich war und die Hintergrundextraktion versucht wurde. Diese Nachsorgearbeiten wirken sich nicht auf die normale Extraktionshäufigkeit aus, die von späteren add_messages()-Aufrufen verwendet wird. Vorhandene extrahierte Speicher bleiben vorhanden, während neu extrahierte Speicher aus dem bearbeiteten Inhalt hinzugefügt werden können. Da die Aktualisierung der Raw-Nachricht und spätere Schreibvorgänge im extrahierten Speicher nicht atomar erfolgen, können extrahierte Speicher weiterhin den früheren Nachrichteninhalt widerspiegeln, wenn die Hintergrundarbeit nicht in eine Warteschlange gestellt wird, wenn eine konfigurierte Warteschlangenkapazität ihren Timeout erreicht oder die spätere Extraktion fehlschlägt. Beachten Sie außerdem, dass vorhandene extrahierte Speicher ihren ursprünglichen Ablauf beibehalten, wenn sich die TTL einer Quellnachricht ändert.

Beispiele

message_id = thread.add_messages([{"role": "user", "content": "Draft message"}])[0]
thread.update_message(message_id, content="Edited message") == message_id
True

Methode update_message_async (asynchron)

Aktualisieren Sie einen Raw-Nachrichtendatensatz, der diesem Thread gehört, asynchron.

Hinweise

Ausgelassene Felder werden aus dem gespeicherten Datensatz beibehalten. Gespeicherte Rolle und Zeitstempel bleiben unverändert. Wenn Sie Inhalte bearbeiten, wird die Rohnachrichtenhistorie aktualisiert. Wenn die automatische Extraktion aktiviert ist, kann das SDK dazu führen, dass Speicher aus der bearbeiteten Nachricht und der früheren Historie neu extrahiert werden. Im Modus INLINE wird diese Extraktion abgeschlossen, bevor diese Methode zurückgegeben wird. Im Modus BACKGROUND gibt diese Methode zurück, nachdem die Aktualisierung der Raw-Nachricht erfolgreich war und die Hintergrundextraktion versucht wurde. Diese Nachsorgearbeiten wirken sich nicht auf die normale Extraktionshäufigkeit aus, die von späteren add_messages()-Aufrufen verwendet wird. Vorhandene extrahierte Speicher bleiben vorhanden, während neu extrahierte Speicher aus dem bearbeiteten Inhalt hinzugefügt werden können. Da die Aktualisierung der Raw-Nachricht und spätere Schreibvorgänge im extrahierten Speicher nicht atomar erfolgen, können extrahierte Speicher weiterhin den früheren Nachrichteninhalt widerspiegeln, wenn die Hintergrundarbeit nicht in eine Warteschlange gestellt wird, wenn eine konfigurierte Warteschlangenkapazität ihren Timeout erreicht oder die spätere Extraktion fehlschlägt. Beachten Sie außerdem, dass vorhandene extrahierte Speicher ihren ursprünglichen Ablauf beibehalten, wenn sich die TTL einer Quellnachricht ändert.

Beispiele

import asyncio
message_ids = asyncio.run(thread.add_messages_async(
    [{"role": "user", "content": "Draft message"}]
))
(
    asyncio.run(thread.update_message_async(
        message_ids[0], content="Edited message"
    ))
    == message_ids[0]
)
True

Aktualisieren Sie eine Beziehung, deren Endpunkte diesem Thread gehören.

Ausgelassene Werte werden beibehalten. Wenn relation_type zu einem integrierten Speicherbeziehungstyp wechselt, ersetzt das feste Reverse Label opposite_relation_type.

Beispiele

thread.update_record_link("relation-id", relation_type="supports")
1

Aktualisieren Sie asynchron eine Beziehung, deren Endpunkte zu diesem Thread gehören.

Methode wait_for_memory_extraction

Warten Sie auf eine frühere Hintergrundspeicherextraktion für diesen Thread.

Diese Methode wartet auf Hintergrundextraktion, die von früheren add_messages()-, add_messages_async()-, update_message()- oder update_message_async()-Aufrufen in diesem Thread über dieselbe Agent-Speicherkomponente gestartet wurde. Wenn einer dieser Aufrufe bereits abgeschlossen ist, enthält diese Methode die Extraktion, die vor dem Warten beginnt.

Die Methode wartet nicht auf den Start der Extraktion nach Beginn dieser Wartezeit, auf die Extraktion, die von einer anderen Agent-Speicherkomponente gestartet wurde, oder auf die Extraktion, die in einem anderen Prozess ausgeführt wird. Extraktionsfehler zählen als beendet für diese Wartezeit.

Beispiele

thread.wait_for_memory_extraction(timeout=10)

Methode wait_for_memory_extraction_async (asynchron)

Asynchrones Warten auf frühere Hintergrundspeicherextraktion.

Diese Methode folgt demselben Verhalten wie wait_for_memory_extraction().

Beispiele

import asyncio
asyncio.run(thread.wait_for_memory_extraction_async(timeout=10))

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. Das Löschen von Nachrichten und Speicher durch ein Thread-Handle wartet auf eine frühere Hintergrundextraktion, die bereits vom angehängten Client für diesen Thread akzeptiert wurde. Dies ist kein globales Hindernis für den gleichzeitigen Zugriff auf andere Clientinstanzen, Prozesse oder Arbeiten, die nach Beginn des Wartens akzeptiert werden.

Nachrichten und Nachrichteninhalte

Klasse oracleagentmemory.apis.message.Message

Basis: object

Die In-Memory-Nachricht, die von Threads und LLM-Adaptern gemeinsam verwendet wird.

Klasse oracleagentmemory.apis.message.MessageContent

Basen: ABC

Basisklasse für strukturierten Nachrichteninhalt.

Klasse oracleagentmemory.apis.message.TextContent

Basis: MessageContent

Ein Textteil in einer multimodalen Nachricht.

Klasse oracleagentmemory.apis.message.ImageContent

Basis: MessageContent

Ein Bildteil in einer multimodalen Nachricht.

Klasse oracleagentmemory.apis.message.ImageMimeType

Basis: str, Enum

Für Bildinhalt unterstützte MIME-Typen.

Animiertes PNG und WebP werden nicht unterstützt.

JPEG = 'image/JPEG'

PNG = 'image/PNG'

WEBP = 'image/WEBP'

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'