AI Grounded in Real Data
Integrate your domain data once, and your AI employees reference it forever. Per-user facts, preferences, and inventory are tracked automatically from conversations — no manual logging. Your AI stays grounded in real data.
Knowledge Base
Structured Knowledge Your AI Can Reference
Power your AI employees with grounded, real-time data for accurate and reliable interactions. Upload documents or insert entities into a knowledge graph, and your AI references 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",
},
)