Memobase allows for detailed customization of how profile slots are created and updated.

Instructing Profile Creation

Memobase uses a topic and sub_topics structure to define a profile slot. For example:
overwrite_user_profiles:
    - topic: "work"
      sub_topics:
        - "company"
        - "position"
        - "department"
While this structure is often sufficient, you can provide additional description fields to give the AI more context and ensure it tracks the information you need with greater accuracy.
overwrite_user_profiles:
    - topic: "work"
      sub_topics:
        - name: "start_date"
          description: "The user's start date at their current job, in YYYY-MM-DD format."
The description field is optional but highly recommended for achieving precise data extraction.

Instructing Profile Updates

Memobase not only creates profile slots but also maintains them over time. When a user provides new information, Memobase must decide how to update the existing data. For example, if a user mentions a new job, the work/start_date slot needs to be updated:
  • Old Value: 2020-01-01
  • New Information: User starts a new job in 2021.
  • Default Update: The value is replaced with 2021-01-01.
You can control this update behavior by adding an update_description to the profile slot. For instance, if you wanted to keep a record of the user’s first-ever job start date, you could configure it like this:
overwrite_user_profiles:
    - topic: "work"
      sub_topics:
        - name: "start_date"
          description: "The user's start date at their current job, in YYYY-MM-DD format."
          update_description: "Always keep the oldest start date. Do not update if a date already exists."
With this instruction, Memobase will preserve the original start_date instead of overwriting it.