Skip to main content

Memory Sources

Every memory in the system is attributed to a source, providing transparency into where the knowledge came from and why it was created.

Core Origins

Chat

Memories extracted from conversation transcripts (Slack, Discord, web chat, etc.).

  • Provenance: Includes conversation_id, user_id, and timestamp.
  • Reliability: Variable, depending on the participants and the clarity of the statements.

Document

Memories extracted from uploaded files or external document stores (PDF, Notion, Google Drive).

  • Provenance: Includes document_id, page_number, and coordinate_mappings.
  • Reliability: Usually high, as it comes from curated or official content.

Tool

Results captured from the execution of external tools or APIs.

  • Provenance: Includes tool_name, tool_id, and input/output context.
  • Reliability: Technical and objective, but limited to the tool's scope.

Event

Information from calendars or external event-driven systems.

  • Provenance: Includes event_id, start/end_time, and participants.
  • Reliability: High for logistical facts, moderate for inferred insights.

System

Memories generated by the platform itself through internal processes like consolidation, summarization, or decay analysis.

  • Provenance: Includes process_id and references to source blocks.
  • Reliability: Depends on the quality of the underlying algorithms.

User Input

Knowledge created or verified directly by a human through the Memory Browser or specialized UI tools.

  • Provenance: Includes user_id and timestamp.
  • Reliability: Maximum (Explicitly verified).

Source Metadata

The SourceMetadata object travels with every memory and contains:

  • Origin: The channel type (Chat, Document, etc.).
  • References:
    • conversation_id: For chat origins.
    • document_id: For document origins.
    • tool_id: For tool results.
  • Context:
    • user_id: Who triggered the creation.
    • timestamp: When the event occurred.
    • channel_id: Where the event happened.

Source-Based Retrieval

Platform administrators can configure retrieval strategies based on source:

  • Prioritize Records: Boost memories from official "Documents" over "Chat" mentions.
  • User-Only: Retrieve only memories created via "User Input."
  • Exclude Systems: Filter out system-generated insights to focus on raw data.