# garden.engram.defs

> Published by [hailey.at](https://lexicon.garden/identity/did:plc:oisofpd7lj26yvgiivf3lxsi)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.defs/examples)

## Definitions

### `garden.engram.defs#embedding`

**Type**: `object`

A vector for a memory, computed by its author from the memory's text and tags (with the space's document prefix).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `dims` | `integer` | Yes |  |
| `encoding` | `string` | Yes | f16le: little-endian IEEE half precision, 2 bytes per dimension. |
| `model` | `string` | Yes |  |
| `modelDigest` | `string` | Yes |  |
| `vector` | `bytes` | Yes |  |

### `garden.engram.defs#memoryView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `author` | `string` (did) | Yes |  |
| `cid` | `string` (cid) | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `similarity` | `integer` | No | Search results only: cosine similarity to the query, scaled to 0-1000. |
| `source` | `string` | No |  |
| `tags` | `array` | Yes |  |
| `text` | `string` | Yes |  |
| `uri` | `string` | Yes | The memory's space record URI: at://{authority}/space/{spaceType}/{skey}/{author}/garden.engram.memory/{rkey}. |

### `garden.engram.defs#model`

**Type**: `object`

An embedding model, identified exactly. Vectors are comparable only when all three fields match.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `dims` | `integer` | Yes |  |
| `model` | `string` | Yes | The model's name, such as nomic-embed-text. |
| `modelDigest` | `string` | Yes | Pins the exact model build, such as Ollama's sha256 digest of the model. A name can point to different weights over time. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "embedding": {
      "description": "A vector for a memory, computed by its author from the memory's text and tags (with the space's document prefix).",
      "properties": {
        "dims": {
          "maximum": 16000,
          "minimum": 1,
          "type": "integer"
        },
        "encoding": {
          "description": "f16le: little-endian IEEE half precision, 2 bytes per dimension.",
          "knownValues": [
            "f16le"
          ],
          "type": "string"
        },
        "model": {
          "maxLength": 256,
          "type": "string"
        },
        "modelDigest": {
          "maxLength": 256,
          "type": "string"
        },
        "vector": {
          "maxLength": 32000,
          "type": "bytes"
        }
      },
      "required": [
        "model",
        "modelDigest",
        "dims",
        "encoding",
        "vector"
      ],
      "type": "object"
    },
    "memoryView": {
      "properties": {
        "author": {
          "format": "did",
          "type": "string"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "similarity": {
          "description": "Search results only: cosine similarity to the query, scaled to 0-1000.",
          "maximum": 1000,
          "minimum": 0,
          "type": "integer"
        },
        "source": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "text": {
          "type": "string"
        },
        "uri": {
          "description": "The memory's space record URI: at://{authority}/space/{spaceType}/{skey}/{author}/garden.engram.memory/{rkey}.",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "author",
        "text",
        "tags",
        "createdAt",
        "indexedAt"
      ],
      "type": "object"
    },
    "model": {
      "description": "An embedding model, identified exactly. Vectors are comparable only when all three fields match.",
      "properties": {
        "dims": {
          "maximum": 16000,
          "minimum": 1,
          "type": "integer"
        },
        "model": {
          "description": "The model's name, such as nomic-embed-text.",
          "maxLength": 256,
          "type": "string"
        },
        "modelDigest": {
          "description": "Pins the exact model build, such as Ollama's sha256 digest of the model. A name can point to different weights over time.",
          "maxLength": 256,
          "type": "string"
        }
      },
      "required": [
        "model",
        "modelDigest",
        "dims"
      ],
      "type": "object"
    }
  },
  "id": "garden.engram.defs",
  "lexicon": 1
}
```
