Speicher speichern und suchen
In diesem Artikel erstellen Sie eine Agent-Speicherkomponente, speichern sowohl Thread-Nachrichten als auch dauerhafte Speicher, und durchsuchen sie anschließend zurück.
Tipp: Informationen zum Packagesetup finden Sie unter Erste Schritte mit Agent-Speicher. Wenn Sie für dieses Beispiel eine lokale Oracle AI Database benötigen, lesen Sie Oracle AI Database lokal ausführen.
Nachrichten und Erinnerungen speichern
Create the Agent Memory component with an Oracle DB connection or pool, add a short thread, and persist one durable user memory alongside the messages.
Hinweis: Standardmäßig erwartet OracleAgentMemory ein LLM, sodass OracleThread regelmäßig dauerhafte Speicher aus aktuellen Threadnachrichten extrahieren kann, die über add_messages() hinzugefügt wurden. Wenn Sie keine automatische Speicherextraktion wünschen, legen Sie extract_memories=False beim Erstellen des Clients oder beim Aufrufen von create_thread() fest.
from oracleagentmemory.core.oracleagentmemory import OracleAgentMemory
from oracleagentmemory.apis.searchscope import SearchScope
from oracleagentmemory.core.embedders.embedder import Embedder
from oracleagentmemory.core.llms.llm import Llm
embedder = Embedder(model="YOUR_EMBEDDING_MODEL")
llm = Llm(model="YOUR_LLM")
db_pool = ... #an oracledb connection or connection pool
memory = OracleAgentMemory(connection=db_pool, embedder=embedder, llm=llm)
messages = [
{
"role": "user",
"content": (
"Orange juice has become my favorite breakfast drink lately, "
"what can I pair it with?"
),
},
{
"role": "assistant",
"content": (
"Nice! Orange juice goes great with something savory. "
"Try eggs and toast, avocado toast, or a breakfast sandwich."
),
},
]
thread = memory.create_thread(user_id="user_123")
#add_messages will add messages to the DB and extract memories automatically
thread.add_messages(messages)
#add_memory adds memory to the DB
thread.add_memory("The user likes orange juice with breakfast.")
Agent-Speicher suchen
Suchen Sie die gespeicherten Speicher und Nachrichten, die für diesen Benutzer bestimmt sind.
results = memory.search(query="orange juice", scope=SearchScope(user_id="user_123"))
for result in results:
print(f"- [{result.record.record_type}] {result.content}")
Ausgabe:
- [memory] The user likes orange juice with breakfast.
- [message] Orange juice has become my favorite breakfast drink lately, what can I pair it with?
- [message] Nice! Orange juice goes great with something savory.
Try eggs and toast, avocado toast, or a breakfast sandwich.
Hinweis: Die zuvor gezeigte Ausgabe ist illustrativ. Zukünftige Versionen können zusätzliche Ergebnistypen, Felder oder Anforderungsmuster zurückgeben.
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man einen Agent-Speicher-Client für einen einzelnen Benutzer erstellt, Thread-Nachrichten neben dauerhaften Speichern speichert und diese Datensätze mit einem benutzerbezogenen Abruf zurück durchsucht.
Tipp: Nachdem Sie den Kernworkflow für Einzelbenutzerspeicher kennengelernt haben, sind Sie möglicherweise auch an Agent-Speicher-Kurzzeit-APIs mit LangGraph verwenden interessiert.
Vollständiger Code
#Copyright © 2026 Oracle and/or its affiliates.
#This software is under the Apache License 2.0
#(LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) or Universal Permissive License
#(UPL) 1.0 (LICENSE-UPL or https://oss.oracle.com/licenses/upl), at your option.
#Agent Memory Code Example - Quickstart
#---------------------------------------
##Add memories
from oracleagentmemory.core.oracleagentmemory import OracleAgentMemory
from oracleagentmemory.apis.searchscope import SearchScope
from oracleagentmemory.core.embedders.embedder import Embedder
from oracleagentmemory.core.llms.llm import Llm
embedder = Embedder(model="YOUR_EMBEDDING_MODEL")
llm = Llm(model="YOUR_LLM")
db_pool = ... #an oracledb connection or connection pool
memory = OracleAgentMemory(connection=db_pool, embedder=embedder, llm=llm)
messages = [
{
"role": "user",
"content": (
"Orange juice has become my favorite breakfast drink lately, "
"what can I pair it with?"
),
},
{
"role": "assistant",
"content": (
"Nice! Orange juice goes great with something savory. "
"Try eggs and toast, avocado toast, or a breakfast sandwich."
),
},
]
thread = memory.create_thread(user_id="user_123")
thread.add_messages(messages)
thread.add_memory("The user likes orange juice with breakfast.")
##Search memories
results = memory.search(query="orange juice", scope=SearchScope(user_id="user_123"))
for result in results:
print(f"- [{result.record.record_type}] {result.content}")
#- [memory] The user likes orange juice with breakfast.
#- [message] Orange juice has become my favorite breakfast drink lately, what can I pair it with?
#- [message] Nice! Orange juice goes great with something savory. Try eggs and toast,
#avocado toast, or a breakfast sandwich.