Knowledge System
Knowledge providers ground the LLM's reasoning in external data sources.
Built-in Providers
| Provider | Source |
|---|---|
MemoryRetrievalKnowledgeProvider |
Internal memory |
MemoryKnowledgeProvider |
Memory search |
WebProvider |
Web search |
FilesystemKnowledgeProvider |
Local filesystem |
Using Knowledge
from xyberos.knowledge import KnowledgeManager
manager = KnowledgeManager()
manager.register_defaults()
# Register a custom provider
from xyberos.knowledge import KnowledgeProvider
class MyKnowledgeProvider(KnowledgeProvider):
@property
def name(self) -> str:
return "my_knowledge"
def retrieve(self, query: str, limit: int = 5) -> list[str]:
return [f"Result for: {query}"]
manager.register_provider("my", MyKnowledgeProvider())
# Query across all providers
results = manager.query("What is XYBEROS?")
for r in results:
print(r)
Grounding
The GroundingEngine grounds responses in retrieved knowledge: