garden.engram.searchMemories
Schema Diff
+15 -6
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Vector search over a space's memories. The caller embeds its query with the space's model and query prefix. Requires a space credential for the space, presented with an HTTP message signature whose audience is this service's DID.",
5
+
"description": "Vector search over a space's memories. The caller embeds its query with the space's model and query prefix and sends vector, model and modelDigest. A service that runs the space's model may instead embed q itself when no vector is sent. A service that doesn't embed queries answers InvalidRequest, and one that doesn't run the space's model answers ModelNotHosted. Requires a space credential for the space, presented with an HTTP message signature whose audience is this service's DID.",
6
6
"errors": [
7
7
{
8
8
"description": "This service does not index the space.",
9
9
"name": "UnknownSpace"
10
10
},
11
11
{
12
12
"description": "The space's authority hasn't declared an embedding model.",
13
13
"name": "NoModel"
14
14
},
15
15
{
16
16
"description": "The query's model isn't the space's model. Re-read the space's config.",
17
17
"name": "ModelMismatch"
18
18
},
19
19
{
20
+
"description": "q was sent without a vector, and this service doesn't run the space's model. Embed the query with the space's model and send the vector.",
21
+
"name": "ModelNotHosted"
22
+
},
23
+
{
24
+
"description": "This service doesn't embed queries for this space's authority.",
25
+
"name": "TextSearchNotAllowed"
26
+
},
27
+
{
28
+
"description": "Too many queries are being embedded. Retry shortly.",
29
+
"name": "EmbedderBusy"
30
+
},
31
+
{
20
32
"description": "The space's index is loading. Retry shortly.",
21
33
"name": "IndexLoading"
22
34
},
23
35
{
24
36
"description": "Too many searches for this space.",
25
37
"name": "RateLimitExceeded"
26
38
}
27
39
],
28
40
"output": {
29
41
"encoding": "application/json",
30
42
"schema": {
31
43
"properties": {
32
44
"approximate": {
33
45
"description": "Set when the index couldn't re-rank in time, so results are ranked by a coarser comparison and may be less precise.",
34
46
"type": "boolean"
35
47
},
36
48
"memories": {
37
49
"items": {
38
50
"ref": "garden.engram.defs#memoryView",
39
51
"type": "ref"
40
52
},
41
53
"type": "array"
42
54
}
43
55
},
44
56
"required": [
45
57
"memories"
46
58
],
47
59
"type": "object"
48
60
}
49
61
},
50
62
"parameters": {
51
63
"properties": {
52
64
"author": {
53
65
"description": "Only memories written by this DID.",
54
66
"format": "did",
55
67
"type": "string"
56
68
},
57
69
"limit": {
58
70
"default": 10,
59
71
"maximum": 50,
60
72
"minimum": 1,
61
73
"type": "integer"
62
74
},
63
75
"model": {
64
76
"description": "Must match the space's model.",
65
77
"type": "string"
66
78
},
67
79
"modelDigest": {
68
80
"description": "Must match the space's model digest.",
69
81
"type": "string"
70
82
},
71
83
"q": {
72
-
"description": "The query's text. Optional and not used for ranking yet; kept for keyword search later.",
84
+
"description": "The query's text. Sent with a vector, it isn't used for ranking. Sent alone, a service that embeds queries (at most 1000 characters) embeds it with the space's model and query prefix.",
73
85
"maxLength": 4000,
74
86
"type": "string"
75
87
},
76
88
"since": {
77
89
"description": "Only memories created at or after this time.",
78
90
"format": "datetime",
79
91
"type": "string"
80
92
},
81
93
"space": {
82
94
"description": "The space URI.",
83
95
"type": "string"
84
96
},
85
97
"tags": {
86
98
"description": "Only memories carrying every one of these tags.",
87
99
"items": {
88
100
"type": "string"
89
101
},
90
102
"maxLength": 16,
91
103
"type": "array"
92
104
},
93
105
"vector": {
94
106
"description": "The query's vector: little-endian IEEE half precision, base64url-encoded without padding.",
95
107
"maxLength": 43000,
96
108
"type": "string"
97
109
}
98
110
},
99
111
"required": [
100
-
"space",
101
-
"vector",
102
-
"model",
103
-
"modelDigest"
112
+
"space"
104
113
],
105
114
"type": "params"
106
115
},
107
116
"type": "query"
108
117
}
109
118
},
110
119
"id": "garden.engram.searchMemories",
111
120
"lexicon": 1
112
121
}