Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Neo4j Bellek Sağlayıcısı, Agent Framework aracılarının bilgi grafı tarafından yedeklenen kalıcı bellek sağlar. Statik bilgi bankalarından alan RAG sağlayıcılarının aksine, bellek sağlayıcısı aracı etkileşimlerini depolar ve geri çağırarak varlıkları otomatik olarak ayıklar ve zaman içinde bir bilgi grafiği oluşturur.
Sağlayıcı üç tür belleği yönetir:
- Kısa süreli bellek: Konuşma geçmişi ve yakın zaman bağlamı
- Uzun süreli bellek: Etkileşimlerden ayıklanan varlıklar, tercihler ve olgular
- Akıl yürütme belleği: Geçmiş muhakeme izlemeleri ve araç kullanım desenleri
Neden Neo4j'i ajan hafızası için kullanmalısınız?
- Bilgi grafı kalıcılığı: Bellekler düz kayıtlar şeklinde değil, birbirine bağlı varlıklar olarak depolanır, böylece aracı, hatırlanan şeyler arasındaki ilişkiler hakkında muhakeme yürütebilir.
- Otomatik varlık ayıklama: Konuşmalar, el ile şema tasarımı olmadan yapılandırılmış varlıklara ve ilişkilere ayrıştırılır.
- Oturumlar arası geri çağırma: Tercihler, olgular ve muhakeme izlemeleri oturumlarda kalıcıdır ve bağlam sağlayıcıları aracılığıyla otomatik olarak ortaya çıkar.
Uyarı
Neo4j, Agent Framework için iki ayrı tümleştirme sunar. Bu sağlayıcı (neo4j-agent-memory), aracı etkileşimlerini depolamak ve geri çağırmak, varlıkları ayıklamak ve zaman içinde bir bilgi grafiği oluşturmak için kullanılan kalıcı bellek içindir. Vektör, tam metin veya karma arama kullanan mevcut bir bilgi grafiğinden GraphRAG için bkz. Neo4j GraphRAG Bağlam Sağlayıcısı.
Bu sağlayıcı henüz C# için kullanılamıyor. Kullanım örnekleri için Python sekmesine bakın.
Önkoşullar
- Bir Neo4j örneği (kendi kendine barındırılan veya Neo4j AuraDB)
- Dağıtılan sohbet modeline sahip bir Azure AI Foundry projesi
- OpenAI API anahtarı veya Azure OpenAI dağıtımı (eklemeler ve varlık ayıklama için)
- Ortam değişkenleri kümesi:
NEO4J_URI,NEO4J_PASSWORD,FOUNDRY_PROJECT_ENDPOINT,FOUNDRY_MODEL,OPENAI_API_KEY - Yapılandırılan Azure CLI kimlik bilgileri (
az login) - Python 3.10 veya üzeri
Installation
pip install neo4j-agent-memory[microsoft-agent]
Kullanım
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)
Temel özellikler
- Çift yönlü: Çağrıdan önce ilgili bağlamı otomatik olarak alır ve yanıtlardan sonra yeni bellekleri kaydeder
- Varlık ayıklama: Çok aşamalı ayıklama işlem hattı kullanarak konuşmalardan bilgi grafı oluşturur
- Tercih öğrenmesi: Oturumlar arasında kullanıcı tercihlerini çıkarsar ve depolar
- Bellek araçları: Aracılar açıkça bellekte arama yapabilir, tercihleri anımsayabilir ve varlık bağlantılarını bulabilir