Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Поставщик памяти Neo4j предоставляет агентам Платформы агентов постоянную память, поддерживаемую графом знаний. В отличие от поставщиков RAG, которые извлекают информацию из статических баз знаний, поставщик памяти сохраняет и восстанавливает взаимодействия агента, автоматически извлекая сущности и со временем создаёт граф знаний.
Поставщик управляет тремя типами памяти:
- Краткосрочная память: история бесед и недавний контекст
- Долгосрочная память: сущности, предпочтения и факты, извлеченные из взаимодействий
- Память о причинах: прошлые трассировки причин и шаблоны использования инструментов
Зачем использовать Neo4j для памяти агента?
- Сохраняемость графа знаний: воспоминания хранятся в виде подключенных сущностей, а не неструктурированных записей, поэтому агент может подумать о связях между тем, которые он запоминает.
- Автоматическое извлечение сущностей. Беседы анализируются в структурированные сущности и связи без ручного проектирования схемы.
- Отзыв между сеансами: параметры, факты и трассировки причин сохраняются между сеансами и автоматически появляются с использованием поставщиков контекста.
Замечание
Neo4j предлагает две отдельные интеграции для Agent Framework. Этот поставщик (neo4j-agent-memory) предназначен для постоянной памяти — хранения и воспроизведения взаимодействий агентов, извлечения сущностей и со временем создания графа знаний. Сведения о GraphRAG из существующего графа знаний с помощью вектора, полнотекстового или гибридного поиска см. в поставщике контекста Neo4j GraphRAG.
Этот поставщик пока недоступен для C#. Примеры использования см. на вкладке Python.
Необходимые условия
- Экземпляр Neo4j (самостоятельная установка или Neo4j AuraDB)
- Проект Azure AI Foundry с развернутой моделью чата
- Ключ API OpenAI или развертывание Azure OpenAI (для встраивания и извлечения сущностей)
- Набор переменных среды:
NEO4J_URI,NEO4J_PASSWORD,FOUNDRY_PROJECT_ENDPOINTFOUNDRY_MODELOPENAI_API_KEY - Настроенные учетные данные Azure CLI (
az login) - Python 3.10 или более поздней версии
Installation
pip install neo4j-agent-memory[microsoft-agent]
Использование
import os
from pydantic import SecretStr
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity.aio import AzureCliCredential
from neo4j_agent_memory import MemoryClient, MemorySettings
from neo4j_agent_memory.integrations.microsoft_agent import (
Neo4jMicrosoftMemory,
create_memory_tools,
)
# Pass Neo4j and embedding configuration directly via constructor arguments.
# MemorySettings also supports loading from environment variables or .env files
# using the NAM_ prefix (e.g. NAM_NEO4J__URI, NAM_EMBEDDING__MODEL).
settings = MemorySettings(
neo4j={
"uri": os.environ["NEO4J_URI"],
"username": os.environ.get("NEO4J_USERNAME", "neo4j"),
"password": SecretStr(os.environ["NEO4J_PASSWORD"]),
},
embedding={
"provider": "openai",
"model": "text-embedding-3-small",
},
)
memory_client = MemoryClient(settings)
async with memory_client:
memory = Neo4jMicrosoftMemory.from_memory_client(
memory_client=memory_client,
session_id="user-123",
)
tools = create_memory_tools(memory)
async with AzureCliCredential() as credential, Agent(
client=FoundryChatClient(
credential=credential,
project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
model=os.environ["FOUNDRY_MODEL"],
),
instructions="You are a helpful assistant with persistent memory.",
tools=tools,
context_providers=[memory.context_provider],
) as agent:
session = agent.create_session()
response = await agent.run("Remember that I prefer window seats on flights.", session=session)
Ключевые особенности
- Двунаправленный: автоматически извлекает соответствующий контекст перед вызовом и сохраняет новые воспоминания после ответов.
- Извлечение сущностей: Создание графа знаний из бесед с помощью многоступенчатого конвейера извлечения
- Обучение предпочтениям: обучение и хранение предпочтений пользователей между сеансами
- Средства памяти: агенты могут явно исследовать память, запоминать предпочтения и находить связи между сущностями