The Neo4jKnowledgeBase
class provides access to documents stored in a Neo4j graph database. It enables efficient document storage, retrieval, and clustering based on topic similarity. The implementation supports topic discovery, document embedding, and language detection.
Dependencies
The following external dependencies are required:
uv add "trusttest[rag-neo4j]"
Usage Example
import os
from dotenv import load_dotenv
from trusttest.catalog import RagFunctionalScenario
from trusttest.knowledge_base.neo4j import Neo4jKnowledgeBase
from trusttest.models.testing import DummyEndpoint
load_dotenv(override=True)
knowledge_base = Neo4jKnowledgeBase(
uri=os.getenv("NEO4J_URI"),
username=os.getenv("NEO4J_USERNAME"),
password=os.getenv("NEO4J_PASSWORD"),
database=os.getenv("NEO4J_DATABASE"),
language="English",
fields_mapping={"content": "chunk", "id": "chunk_id"},
seed_topics=["AI", "Machine Learning"],
max_doc_count=20
)
rag_test = RagFunctionalScenario(
model=DummyEndpoint(), knowledge_base=knowledge_base, num_questions=2
)
test_set = rag_test.probe.get_test_set()
results = rag_test.eval.evaluate(test_set)
results.display_summary()