AI Grounded in Real Data
Integrate your domain data once, and your agents reference it forever. Per-user facts, preferences, and inventory are tracked automatically from conversations — no manual logging. Your agents stay grounded in real data.
Knowledge Base
Structured Knowledge Your AI Can Reference
Power your agents with grounded, real-time data for accurate and reliable interactions. Upload documents or insert entities into a knowledge graph, and your agents reference it in every conversation automatically — citing real data instead of guessing.
Real Estate
Property listings, prices, sizes, and availability — all queryable by your AI. Help buyers find their perfect home instantly.
Personal Assistant
Track collectible values, personal inventories, and niche data like Pokémon card prices — your AI becomes a domain expert.
E-Commerce
Product catalogs, live pricing, and stock levels fed directly to your AI. Customers get accurate answers, not guesses.
Raw Data Sources
Structured Knowledge Graph
AI Agent
Raw Data Sources
Structured Knowledge Graph
AI Agent
Value Proposition
Zero Hallucinations
Ground your AI in verified data. Eliminate factual errors and unreliable responses by referencing structured sources.
Real-time Updates
Keep knowledge current automatically. Connect to live data sources to ensure your AI always has the latest information.
Audit Trails
Track every AI response to its source. Provide transparency and accountability with detailed citation logs.
Code Example
// Insert domain knowledge as entities
client.Knowledge.InsertFacts(ctx, projectID,
sonzai.InsertFactsParams{
Entities: []sonzai.Entity{
{
Label: "Espresso",
Type: "product",
Properties: map[string]any{
"price": 4.50, "category": "coffee",
"origin": "Italy",
},
},
},
},
)
// Semantic + full-text search across the knowledge base
results, _ := client.Knowledge.Search(ctx, projectID,
sonzai.KBSearchParams{
Query: "Italian coffee drinks under $5",
},
)Per-User Facts
Accurate Facts for Every Individual
Every conversation automatically builds a personal fact profile for each user — preferences, history, relationships, and interests — all extracted, scored, and categorized without any manual work. Query what the AI has learned, or just let it use these facts to personalize future conversations on its own.
// Facts are extracted and verified automatically from conversations.
// Query what the AI knows about any user:
facts, _ := client.Agents.Memory.ListFacts(ctx, agentID,
sonzai.ListFactsParams{
UserID: "user_123",
Category: "preferences",
},
)
// → [{fact: "Allergic to shellfish", importance: 0.95}, ...]
// Search across everything the AI has learned
results, _ := client.Agents.Memory.Search(ctx, agentID,
sonzai.MemorySearchParams{
Query: "dietary restrictions",
UserID: "user_123",
},
)
// Browse the timeline of what was learned and when
timeline, _ := client.Agents.Memory.Timeline(ctx, agentID,
sonzai.TimelineParams{
UserID: "user_123",
From: "2025-01-01",
To: "2025-03-01",
},
)Inventory
Track Items & Assets Per User
Inventory tracking works out of the box when enabled — your AI automatically manages items mentioned in conversations. You can also add items programmatically, batch import up to 1,000 at once, or query with aggregations. Items auto-resolve against your knowledge base for market valuations.
// Add items to a user's inventory
client.Agents.Inventory.Update(ctx, agentID, "user_123",
sonzai.InventoryUpdateOptions{
Action: "add",
Items: []sonzai.InventoryWriteItem{
{Name: "Diamond Ring", Quantity: 1,
Properties: map[string]any{
"material": "platinum", "carat": 2.5,
}},
},
},
)
// Query with aggregation
summary, _ := client.Agents.Inventory.Query(ctx, agentID,
"user_123",
sonzai.InventoryQueryOptions{
Mode: "aggregate",
Query: "total value of jewelry",
},
)Analytics
Built-In Recommendations & Trends
Define recommendation and trend rules once, and the system continuously computes scores from interaction data. Your AI employees surface personalized recommendations in conversations automatically. Query trends, track conversions, and feed back results to improve accuracy over time.
// Get personalized recommendations for a user
recs, _ := client.Knowledge.GetRecommendations(ctx, projectID,
sonzai.RecommendationParams{
UserID: "user_123",
AgentID: agentID,
Limit: 5,
},
)
// Track trending items over a time window
trends, _ := client.Knowledge.GetTrends(ctx, projectID,
sonzai.TrendParams{Window: "7d"},
)
// Record feedback to improve future recommendations
client.Knowledge.RecordFeedback(ctx, projectID,
sonzai.FeedbackParams{
UserID: "user_123",
NodeID: recs[0].NodeID,
Action: "clicked",
},
)Multiplayer Memory
A Closed-Loop Brain Your Whole Team Reads & Writes To
Real teams compound what they know — the new hire benefits from every note the senior engineer ever wrote down. Sonzai works the same way. Agents on the same project read the knowledge base, autonomously write back what they learn during conversations, and pick up each other’s verified facts on the next session. A closed-loop company brain that gets sharper every conversation, for every agent.
Across agents
Closed-loop company brain
Agent A captures verified detail with user X — autonomously writes it to the project knowledge base. Agent B picks it up the next day with user Y. Grounded answer, no replay, no human in the loop, full audit trail.
knowledgeBaseWrite: true
Across users
One agent serves a whole team
A single agent informing user A with the context it gathered while talking to user B — for groups, teams, shared planning. De-attributed wisdom is on by default; attributed shared memory is one capability flip away.
sharedMemory: true
Anything one agent learns is grounded data for every other agent on the project — automatically, with full audit trail.
Code Example
// Let agents write what they learn back to the project KB.
// Every other agent on the project reads from the same store.
trueVal := true
client.Agents.UpdateCapabilities(ctx, agentID,
sonzai.UpdateCapabilitiesOptions{
KnowledgeBase: &trueVal,
KnowledgeBaseWrite: &trueVal,
},
)
// For agents that serve a team — share memory across users.
client.Agents.UpdateCapabilities(ctx, agentID,
sonzai.UpdateCapabilitiesOptions{
Wisdom: &trueVal, // de-attributed (default on)
SharedMemory: &trueVal, // attributed (opt-in)
},
)