Building a Knowledge-Augmented Agent
End-to-end: entity linking → graph query → answer synthesis.
What Is a Knowledge-Augmented Agent?
A knowledge-augmented agent enriches its answers using a knowledge base. When a question arrives, the agent extracts entities, looks them up in a knowledge graph, finds relevant documents via vector search, and provides all context to the LLM for a rich, grounded answer.
The Full Retrieval Pipeline
The agent pipeline: 1 receive question → 2 extract entities → 3 graph lookup for entity context → 4 vector search for relevant documents → 5 combine all context → 6 LLM generates answer.
from dataclasses import dataclass, field
from typing import List, Dict, Any
@dataclass
class RetrievalContext:
question: str
entities: List[str] = field(default_factory=list)
graph_context: Dict[str, Any] = field(default_factory=dict)
vector_documents: List[Dict] = field(default_factory=list)
combined_context: str = ''
answer: str = ''
sources_used: List[str] = field(default_factory=list)
# The agent will populate this object as it works through the pipeline
ctx = RetrievalContext(question='What AI projects is Sam Altman known for?')
print('RetrievalContext created:', ctx.question)All lessons in this course
- Entity Extraction for Knowledge Graphs
- Neo4j Queries from Agent Tools
- Combining Vector and Graph Retrieval
- Building a Knowledge-Augmented Agent